Jump to content

Дебаг ругается))


Recommended Posts

Пишет это onclientrender with this function is already handled , в строке 109. И ещё звук пропадает)). Помогите решить.

local engine_sound = "files/engine.wav" 
local idle_soundfile = "files/engine_idle.wav" 
local sound = nil 
local idle_sound = nil 
  
function getVehicleRPM(vehicle)  
    if (vehicle) then    
        if (isVehicleOnGround(vehicle)) then 
            if (getVehicleEngineState(vehicle) == true) then 
                if(getVehicleCurrentGear(vehicle) > 0) then 
                    vehicleRPM = math.floor(((getElementSpeed(vehicle, "kmh")/getVehicleCurrentGear(vehicle))*220) + 0.5) 
                     
                    if (vehicleRPM < 650) then 
                        vehicleRPM = math.random(650, 750) 
                    elseif (vehicleRPM >= 9800) then 
                        vehicleRPM = 9800 
                    end 
                else 
                    vehicleRPM = math.floor(((getElementSpeed(vehicle, "kmh")/1)*220) + 0.5) 
                     
                    if (vehicleRPM < 650) then 
                        vehicleRPM = math.random(650, 750) 
                    elseif (vehicleRPM >= 9800) then 
                        vehicleRPM = 9800 
                    end 
                end 
            else 
                vehicleRPM = 0 
            end 
        else    
            if (getVehicleEngineState(vehicle) == true) then 
                vehicleRPM = vehicleRPM - 150 
                     
                if (vehicleRPM < 650) then 
                    vehicleRPM = math.random(650, 750) 
                elseif (vehicleRPM >= 9800) then 
                    vehicleRPM = 9800 
                end 
            else 
                vehicleRPM = 0 
            end 
        end 
         
        return tonumber(vehicleRPM) 
    else 
        return 0 
    end 
end 
  
function getElementSpeed(element,unit) 
    if (unit == nil) then unit = 0 end 
    if (isElement(element)) then 
        local x,y,z = getElementVelocity(element) 
        if (unit=="mph" or unit==1 or unit =='1') then 
            return (x^2 + y^2 + z^2) ^ 0.5 * 100 
        else 
            return (x^2 + y^2 + z^2) ^ 0.5 * 1.61 * 100 
        end 
    else 
        outputDebugString("Not an element. Can't get speed") 
        return false 
    end 
end 
  
function engine_func() 
    local veh = getPedOccupiedVehicle ( getLocalPlayer()) 
    if veh then 
        if getElementModel ( veh ) == 411 then 
            if getVehicleEngineState ( veh ) == true then 
                if getElementSpeed ( veh, "kmh" ) > 10 then 
                    if idle_sound then 
                        destroyElement ( idle_sound ) 
                        idle_sound = nil 
                    end 
                    if sound == nil then 
                        sound = playSound3D ( engine_sound, 0, 0, 0, true ) 
                        attachElements ( sound, veh ) 
                    end 
                    setSoundSpeed ( sound, getVehicleRPM(veh)/10000 ) 
                elseif getElementSpeed ( veh, "kmh" ) < 10 then 
                    if idle_sound == nil then 
                        idle_sound = playSound3D ( idle_soundfile, 0, 0, 0, true ) 
                        setSoundVolume ( idle_sound, 0.2 ) 
                        attachElements ( idle_sound, veh ) 
                    end 
                elseif getElementSpeed ( veh, "kmh" ) == 0 then 
                    if sound then 
                        destroyElement ( sound ) 
                        sound = nil 
                    end 
                end 
            else 
                if sound then 
                    destroyElement ( sound ) 
                    sound = nil 
                end 
                if idle_sound then 
                    destroyElement ( idle_sound ) 
                    idle_sound = nil 
                end 
            end 
        end 
    end 
end 
         
addEventHandler ( "onClientVehicleEnter", getRootElement(), function() 
    if getElementModel ( source ) == 411 then 
        setWorldSoundEnabled( 40, false ) 
        addEventHandler ( "onClientRender", getRootElement(), engine_func ) 
    end 
end) 
  
addEventHandler ( "onClientVehicleExit", getRootElement(), function() 
    if getElementModel ( source ) == 411 then 
    setWorldSoundEnabled( 40, true ) 
    removeEventHandler ( "onClientRender", getRootElement(), engine_func ) 
    end 
end) 

Link to comment

Очевидно же, пишет что такой обработчик (функция) на это событие уже добавлен.

P.S. Не надо так называть темы. И в след. раз используйте тег [lua] для исходного кода

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...