Jump to content

vehramps


CapY

Recommended Posts

Posted

if you got a client side script or you edit it 100% server-side or make a server side script whit the binkey part and if you press the key then triggerClientEvent (the client side script( cilent.lua))

Posted

Debugscript :

ERROR:Client triggered serverside event veicleramps_PlayerSpawnedRamp, but event is not added serverside

IDK how to add that event .

Posted

Still the same error message on debug3 showing

Client :

local gRoot = getRootElement() 
local g_Root = gRoot
local gMe = getLocalPlayer()
local gResourceRoot = getResourceRootElement(getThisResource())
local theRamps = {}
 
addEvent ( "vehicleramps_SpawnRamp", true )
addEventHandler ( "vehicleramps_SpawnRamp", gRoot,
    function ( mode, returnedData )
        --outputChatBox ( "A RAMP WAS MADE BY " .. getPlayerName(source) )
       
        if ( theRamps[source] ) then
            --outputChatBox ( "Destroying the ramps table" )
            destroyElement(theRamps[source])
            theRamps[source] = false
        end
   
        local parentUnit = createElement("myRamps" .. getPlayerID(source))
        theRamps[source] = parentUnit
       
        if ( mode == "1" ) then
            if ( #returnedData == 6 ) then
                spawnRamp ( source, returnedData[1], returnedData[2], returnedData[3], returnedData[4], returnedData[5], returnedData[6], 1632  )
            end
        elseif ( mode == "1s" ) then
            spawnRamp ( source, returnedData[1], returnedData[2], returnedData[3], 0, 0, 0, 1632  )
            spawnRamp ( source, returnedData[4], returnedData[5], returnedData[6], 0, 0, 90, 1632  )
            spawnRamp ( source, returnedData[7], returnedData[8], returnedData[9], 0, 0, 180, 1632  )
            spawnRamp ( source, returnedData[10], returnedData[11], returnedData[12], 0, 0, 270, 1632  )
        elseif ( mode == "2" ) then
            if ( #returnedData == 9 ) then
                spawnRamp ( source, returnedData[1], returnedData[2], returnedData[3], returnedData[7], returnedData[8], returnedData[9], 1632 )
                spawnRamp ( source, returnedData[4], returnedData[5], returnedData[6], returnedData[7], returnedData[8], returnedData[9], 1632  )
            end
        elseif ( mode == "3" ) then
            if ( #returnedData == 9 ) then
                local thisRamp = spawnRamp ( source, returnedData[1], returnedData[2], returnedData[3], returnedData[7], returnedData[8], returnedData[9], 1632 )
                local rx, ry, rz = getElementRotation ( thisRamp )
                spawnRamp ( source, returnedData[4], returnedData[5], returnedData[6], rx + 22, returnedData[8], returnedData[9], 1632  )
            end
        elseif ( mode == "5" ) then
            if ( #returnedData == 6 ) then
                spawnRamp ( source, returnedData[1], returnedData[2], returnedData[3], 0, 0, returnedData[6], 13592  )
            end
        elseif ( mode == "6" ) then
            if ( #returnedData == 6 ) then
                spawnRamp ( source, returnedData[1], returnedData[2], returnedData[3], 0, 0, returnedData[6], 13641  )
            end
        elseif ( mode == "custom" ) then
            if ( #returnedData == 7 ) then
                spawnRamp ( source, returnedData[1], returnedData[2], returnedData[3], 0, 0, returnedData[6], returnedData[7]  )
            end
        end
    end
)
 
addEventHandler ( "onClientResourceStart", gResourceRoot, function(name)
    --outputChatBox ( "Client Script Started" )
        outputChatBox ( "Client Script Started" )
        bindKey ( "1", "down", workOutRamps, 1 )
        bindKey ( "2", "down", workOutRamps, 2 )
        bindKey ( "3", "down", workOutRamps, 3 )
        bindKey ( "5", "down", workOutRamps, 5 )
        bindKey ( "6", "down", workOutRamps, 6 )
 
end)
 
function workOutRamps(mode)
    local playerVehicle = getPedOccupiedVehicle(getLocalPlayer())
    if ( playerVehicle ) then
        local PV = getVehicleController(playerVehicle)
        if ( PV ~= getLocalPlayer() ) then
            outputChatBox ( "Your not the driver!" )
            return
        end
 
        if ( theRamps[gMe] ) then
            --outputChatBox ( "Destroying the ramps table" )
            destroyElement(theRamps[gMe])
            theRamps[gMe] = false
        end
   
        local parentUnit = createElement("myRamps" .. getPlayerID(gMe))
        theRamps[gMe] = parentUnit
           
        local distance = 20
        local returnedData = {}
        local vehX, vehY, vZ = getElementPosition(playerVehicle)
        local rotX, rotY, rotZ = getElementRotation(playerVehicle)
           
        if ( mode == "1" ) then
            if ( getKeyState("lshift") ) then
                local ramp1X, ramp1Y = vehX + distance*math.cos(math.rad(rotZ+90)), vehY + distance*math.sin(math.rad(rotZ+130))
                local ramp1Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
                local ramp2X, ramp2Y = ramp1X+5.5, ramp1Y --vehX + distance*math.cos(math.rad(rotZ+74.5)), vehY + distance*math.sin(math.rad(rotZ+90))
                local ramp2Z = ramp1Z --getGroundForCoords(ramp2X, ramp2Y, vZ)
                local ramp3X, ramp3Y = ramp1X, ramp1Y+5.5 --vehX + distance*math.cos(math.rad(rotZ+90)), vehY + distance*math.sin(math.rad(rotZ+90)) + 5.5
                local ramp3Z = ramp1Z --getGroundForCoords(ramp3X, ramp3Y, vZ)
                local ramp4X, ramp4Y = ramp1X-5.5, ramp1Y --vehX + distance*math.cos(math.rad(rotZ+90)) - 5.5, vehY + distance*math.sin(math.rad(rotZ+90))
                local ramp4Z = ramp1Z --getGroundForCoords(ramp4X, ramp4Y, vZ)
                ramp1Y = ramp1Y - 5.5
               
                returnedData[1] = ramp1X
                returnedData[2] = ramp1Y
                returnedData[3] = ramp1Z + 1
                returnedData[4] = ramp2X
                returnedData[5] = ramp2Y
                returnedData[6] = ramp2Z + 1
                returnedData[7] = ramp3X
                returnedData[8] = ramp3Y
                returnedData[9] = ramp3Z + 1
                returnedData[10] = ramp4X
                returnedData[11] = ramp4Y
                returnedData[12] = ramp4Z + 1
               
                spawnRamp ( gMe, returnedData[1], returnedData[2], returnedData[3], 0, 0, 0, 1632  )
                spawnRamp ( gMe, returnedData[4], returnedData[5], returnedData[6], 0, 0, 90, 1632  )
                spawnRamp ( gMe, returnedData[7], returnedData[8], returnedData[9], 0, 0, 180, 1632  )
                spawnRamp ( gMe, returnedData[10], returnedData[11], returnedData[12], 0, 0, 270, 1632  )
                triggerServerEvent ( "vehicleramps_PlayerSpawnedRamp", getLocalPlayer(), mode .. "s", returnedData )
                setElementPosition ( playerVehicle, ramp1X, ramp1Y, ramp1Z+3 )
                setElementRotation ( playerVehicle, 0, 0, 0 )
                setElementVelocity ( playerVehicle, 0, 0, 0 )
                setElementVelocity ( playerVehicle, 0, 0, 0 )
            else
                local ramp1X, ramp1Y = vehX + distance*math.cos(math.rad(rotZ+90)), vehY + distance*math.sin(math.rad(rotZ+90))
                local ramp1Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
               
                if ( doneOnce ) then
                    if ( lastx == ramp1X ) then
                        if ( lasty == ramp1Y ) then
                            ramp1Z = ramp1Z - 0.78579690039
                        end
                    else
                        doneOnce = false
                    end
                else
                    doneOnce = true
                end
                lastx = ramp1X
                lasty = ramp1Y
               
                returnedData[1] = ramp1X
                returnedData[2] = ramp1Y
                returnedData[3] = ramp1Z + 1
                returnedData[4] = rotX
                returnedData[5] = rotY
                returnedData[6] = rotZ
                spawnRamp ( gMe, returnedData[1], returnedData[2], returnedData[3], returnedData[4], returnedData[5], returnedData[6], 1632  )
                triggerServerEvent ( "vehicleramps_PlayerSpawnedRamp", getLocalPlayer(), mode, returnedData )
            end
        elseif ( mode == "2" ) then
            local ramp1X, ramp1Y = vehX + distance*math.cos(math.rad(rotZ+83)), vehY + distance*math.sin(math.rad(rotZ+83))
            local ramp2X, ramp2Y = vehX + distance*math.cos(math.rad(rotZ+95)), vehY + distance*math.sin(math.rad(rotZ+95))
            local ramp1Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
            local ramp2Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
           
            if ( doneOnce ) then
                if ( lastx == ramp1X ) then
                    if ( lasty == ramp1Y ) then
                        ramp1Z = ramp1Z - 0.78579690039
                    end
                else
                    doneOnce = false
                end
            else
                doneOnce = true
            end
            lastx = ramp1X
            lasty = ramp1Y
           
            returnedData[1] = ramp1X
            returnedData[2] = ramp1Y
            returnedData[3] = ramp1Z + 1
            returnedData[4] = ramp2X
            returnedData[5] = ramp2Y
            returnedData[6] = ramp2Z + 1
            returnedData[7] = rotX
            returnedData[8] = rotY
            returnedData[9] = rotZ
            spawnRamp ( gMe, returnedData[1], returnedData[2], returnedData[3], returnedData[7], returnedData[8], returnedData[9], 1632 )
            spawnRamp ( gMe, returnedData[4], returnedData[5], returnedData[6], returnedData[7], returnedData[8], returnedData[9], 1632  )
            triggerServerEvent ( "vehicleramps_PlayerSpawnedRamp", getLocalPlayer(), mode, returnedData )
        elseif ( mode == "3" ) then
            local ramp1X, ramp1Y = vehX + distance*math.cos(math.rad(rotZ+90)), vehY + distance*math.sin(math.rad(rotZ+90))
            local ramp2X, ramp2Y = vehX + (distance+5)*math.cos(math.rad(rotZ+90)), vehY + (distance+5)*math.sin(math.rad(rotZ+90))
            local ramp1Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
            local ramp2Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
           
            if ( doneOnce ) then
                if ( lastx == ramp1X ) then
                    if ( lasty == ramp1Y ) then
                        ramp1Z = ramp1Z - 0.78579690039
                    end
                else
                    doneOnce = false
                end
            else
                doneOnce = true
            end
            lastx = ramp1X
            lasty = ramp1Y
           
            returnedData[1] = ramp1X
            returnedData[2] = ramp1Y
            returnedData[3] = ramp1Z + 1
            returnedData[4] = ramp2X
            returnedData[5] = ramp2Y
            returnedData[6] = ramp2Z + 4.5
            returnedData[7] = rotX
            returnedData[8] = rotY
            returnedData[9] = rotZ
            local thisRamp = spawnRamp ( gMe, returnedData[1], returnedData[2], returnedData[3], returnedData[7], returnedData[8], returnedData[9], 1632 )
            local rx, ry, rz = getElementRotation ( thisRamp )
            spawnRamp ( gMe, returnedData[4], returnedData[5], returnedData[6], rx + 22, returnedData[8], returnedData[9], 1632  )
            triggerServerEvent ( "vehicleramps_PlayerSpawnedRamp", getLocalPlayer(), mode, returnedData )
        elseif ( mode == "5" ) then
            local ramp1X, ramp1Y = vehX + distance*math.cos(math.rad(rotZ+90)), vehY + distance*math.sin(math.rad(rotZ+115))
            local ramp1Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
            if ( doneOnce ) then
                if ( lastx == ramp1X ) then
                    if ( lasty == ramp1Y ) then
                        ramp1Z = ramp1Z - 0.78579690039
                    end
                else
                    doneOnce = false
                end
            else
                doneOnce = true
            end
            lastx = ramp1X
            lasty = ramp1Y
           
            returnedData[1] = ramp1X
            returnedData[2] = ramp1Y
            returnedData[3] = ramp1Z + 9
            returnedData[4] = rotX
            returnedData[5] = rotY
            returnedData[6] = rotZ - 90
            spawnRamp ( gMe, returnedData[1], returnedData[2], returnedData[3], 0, 0, returnedData[6], 13592  )
            triggerServerEvent ( "vehicleramps_PlayerSpawnedRamp", getLocalPlayer(), mode, returnedData )
        elseif ( mode == "6" ) then
            local ramp1X, ramp1Y = vehX + distance*math.cos(math.rad(rotZ+90)), vehY + distance*math.sin(math.rad(rotZ+90))
            local ramp1Z = getGroundForCoords(ramp1X, ramp1Y, vZ)
            if ( doneOnce ) then
                if ( lastx == ramp1X ) then
                    if ( lasty == ramp1Y ) then
                        ramp1Z = ramp1Z - 0.78579690039
                    end
                else
                    doneOnce = false
               
Posted

How to add an event:

function doSomething(mode,returnedData) 
     -- Do something with the "mode" and "returnedData" here 
end 
  
addEvent( "vehicleramps_PlayerSpawnedRamp",true) 
addEventHandler( "vehicleramps_PlayerSpawnedRamp", getRootElement(),doSomething) 

  • MTA Team
Posted

Firstly, it's a stolen script. But nobody knows that and it's too popular.

Secondly, it's a two minute fix.

Thirdly, i don't like you :)

Finally, make a server side event to trigger the client even that appears not used. Oh, and if you want, come on my server and i'll send you my server side file. noob

  • MTA Team
Posted

HM, fine sorry CapY.

Here is the code that will fix your thing: I do recommend you to give credits, but w/e it's your choice ;)

addEvent("vehicleramps_PlayerSpawnedRamp", true) 
addEventHandler("vehicleramps_PlayerSpawnedRamp", getRootElement(), 
    function(mode, returnedData) 
        triggerClientEvent("vehicleramps_SpawnRamp", source, mode, returnedData) 
    end 
) 

Very small, very powerful. put it in the server side.

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...