Jump to content

(help)Car Spawner bug


Recommended Posts

Posted (edited)

When i spawn a car the GUI doesn't go hide and i can spawn again and again and again how can i hide the GUI when i spawn a car

spawner_c.lua

jWin = guiCreateWindow(550,560,200,200,"Vehicle System",false)
guiSetVisible(jWin,false)
function openGui()
guiSetVisible(jWin,true)
        function spawnveh(button, press, p)
        local VIP = getElementData(localPlayer, "VIP")
            if(press) then
                if(button == "1") then
                    x, y, z = getElementPosition(localPlayer)
                    triggerServerEvent("crVeh", getRootElement(), 468, x, y, z, localPlayer)
                end
               
                if(button == "2") then
                    x, y, z = getElementPosition(localPlayer)
                    triggerServerEvent("crVeh", getRootElement(), 457, x, y, z, localPlayer)
                end
                if(button == "3") then
                    x, y, z = getElementPosition(localPlayer)
                    triggerServerEvent("crVeh", getRootElement(), 412, x, y, z, localPlayer)
                end
                if(button == "4") then
                if VIP == "Bronze" or  VIP == "Silver" or  VIP == "Gold" or  VIP == "Premium" then
                    x, y, z = getElementPosition(localPlayer)
                    triggerServerEvent("crVeh", getRootElement(), 522, x, y, z, localPlayer)
                    else
                    end
                end
                if(button == "5") then
                if VIP == "Silver" or  VIP == "Gold" or  VIP == "Premium" then
                    x, y, z = getElementPosition(localPlayer)
                    triggerServerEvent("crVeh", getRootElement(), 560, x, y, z, localPlayer)
                    else
                    end
                end
                if(button == "6") then         
                if VIP == "Gold" or  VIP == "Premium" then
                    x, y, z = getElementPosition(localPlayer)
                    triggerServerEvent("crVeh", getRootElement(), 411, x, y, z, localPlayer)
                    else
                    end
                end
                if(button == "7") then
                if VIP == "Gold" or  VIP == "Premium" then
                    x, y, z = getElementPosition(localPlayer)
                    triggerServerEvent("crVeh", getRootElement(), 546, x, y, z, localPlayer)
                    else
                    end
end
            end
       end
 
 
   
    addEventHandler("onClientKey", getRootElement(), spawnveh)
    local VIP = getElementData(localPlayer, "VIP")
    guiWindowSetSizable(jWin,false)
    tGrid = guiCreateGridList(0,20,190,170,false,jWin)
    guiGridListAddColumn(tGrid, "Key", 0.20)
    guiGridListAddColumn(tGrid, "Name", 0.65)
    row1 = guiGridListAddRow(tGrid)
    row2 = guiGridListAddRow(tGrid)
    row3 = guiGridListAddRow(tGrid)
    row4 = guiGridListAddRow(tGrid)
    row5 = guiGridListAddRow(tGrid)
    row6 = guiGridListAddRow(tGrid)
    row7 = guiGridListAddRow(tGrid)
    if VIP == "Bronze" then
    guiGridListRemoveRow ( tGrid, row5 )
    guiGridListRemoveRow ( tGrid, row6 )
    guiGridListRemoveRow ( tGrid, row7 )
    end
    if VIP == "Silver" then
    guiGridListRemoveRow ( tGrid, row6 )
    guiGridListRemoveRow ( tGrid, row7 )
    end
    if VIP == "Gold" then
    guiGridListRemoveRow ( tGrid, row7 )
    end
    if VIP == "None" then
    for i=4, 7 do
    guiGridListRemoveRow ( tGrid, row4 )
    end
    end
    guiGridListSetItemText(tGrid, row1, 1, tostring(row1+1), false, false)
    guiGridListSetItemText(tGrid, row1, 2, "Sanchez", false, false)
    guiGridListSetItemText(tGrid, row2, 1, tostring(row2+1), false, false)
    guiGridListSetItemText(tGrid, row2, 2, "Caddy", false, false)
    guiGridListSetItemText(tGrid, row3, 1, tostring(row3+1), false, false)
    guiGridListSetItemText(tGrid, row3, 2, "Voodoo", false, false)
    guiGridListSetItemText(tGrid, row4, 1, tostring(row4+1), false, false)
    guiGridListSetItemText(tGrid, row4, 2, "NRG-500", false, false)
    guiGridListSetItemText(tGrid, row5, 1, tostring(row5+1), false, false)
    guiGridListSetItemText(tGrid, row5, 2, "Sultan", false, false)
    guiGridListSetItemText(tGrid, row6, 1, tostring(row6+1), false, false)
    guiGridListSetItemText(tGrid, row6, 2, "Infernus", false, false)
    guiGridListSetItemText(tGrid, row7, 1, tostring(row7+1), false, false)
    guiGridListSetItemText(tGrid, row7, 2, "Intruder", false, false)
   
end
addEvent("markerHitted", true)
addEventHandler("markerHitted", getRootElement(), openGui)
 
function hideGui()
    guiSetVisible(jWin,false)
    removeEventHandler("onClientKey", getRootElement(), spawnveh)
end
 
addEvent("markerLeaved", true)
addEventHandler("markerLeaved", getRootElement(), hideGui)
spawner_s.lua
pv = { } 

  

sp1 = createMarker(1920.96960, -1791.41931, 12.25451, "cylinder", 2, 255, 255, 255, 150) 

sp2 = createMarker(1372.22998, -1600.58765, 12.55247, "cylinder", 2, 255, 255, 255, 150) 

sp3 = createMarker(1187.37, -1334.88, 12.56, "cylinder", 2, 255, 255, 255, 150) 

sp4 = createMarker(1204.98145, -1070.53796, 28.24623, "cylinder", 2, 255, 255, 255, 150) 

sp5 = createMarker(652.31482, -1767.81738, 12.55009, "cylinder", 2, 255, 255, 255, 150) 

sp6 = createMarker(2455.93091, -1787.65576, 12.54688, "cylinder", 2, 255, 255, 255, 150) 

sp7 = createMarker(2154.16821, -1167.59106, 22.82215, "cylinder", 2, 255, 255, 255, 150) 

sp8 = createMarker(-20.03092, -278.19138, 4.42969, "cylinder", 2, 255, 255, 255, 150) 

sp9 = createMarker(1736.50134, 1877.01477, 9.82031, "cylinder", 2, 255, 255, 255, 150) 

sp10 = createMarker(2377.19727, 2019.28247, 9.82031, "cylinder", 2, 255, 255, 255, 150) 

sp11 = createMarker(2898.70703, 2454.66870, 9.82031, "cylinder", 2, 255, 255, 255, 150) 

sp12 = createMarker(-1454.17456, 1870.05615, 31.63281, "cylinder", 2, 255, 255, 255, 150) 

sp13 = createMarker(-2251.42944, 2329.95679, 3.81250, "cylinder", 2, 255, 255, 255, 150) 

sp14 = createMarker(-2242.80200, 537.43109, 34.12649, "cylinder", 2, 255, 255, 255, 150) 

sp15 = createMarker(-1985.65979, 269.49936, 34.17936, "cylinder", 2, 255, 255, 255, 150) 

sp16 = createMarker(-1498.97607, 849.02643, 6.18750, "cylinder", 2, 255, 255, 255, 150) 

sp17 = createMarker(1538.96, -1687.7, 12.55, "cylinder", 2, 255, 255, 255, 150) 

  

createBlipAttachedTo(sp1, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp2, 38, 2, 0, 255, 0, 255, 0, 500) 


createBlipAttachedTo(sp4, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp5, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp6, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp7, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp8, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp9, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp10, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp11, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp12, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp13, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp14, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp15, 38, 2, 0, 255, 0, 255, 0, 500) 

createBlipAttachedTo(sp16, 38, 2, 0, 255, 0, 255, 0, 500) 


  

  

function createTheVehicle(id, posx, posy, posz, player) 

    if(isElement(pv[player])) then 

        destroyElement(pv[player]) 

    end 

        pv[player] = createVehicle(id, posx, posy, posz + 1) 

        warpPedIntoVehicle(player, pv[player]) 

        if(getTeamName(getPlayerTeam(player)) == "Staff") then 

            addVehicleUpgrade(pv[player], 1010) 

        end 

end 

addEvent("crVeh", true) 

addEventHandler("crVeh", getRootElement(), createTheVehicle) 

  

-- 

  

addEventHandler("onMarkerHit", sp1, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp1, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp2, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp2, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

  

 addEventHandler("onMarkerHit", sp3,
function(hitElement)  
   if(getElementType(hitElement) == "player") then  
       triggerClientEvent(hitElement, "markerHitted", getRootElement())                    
  end
  end
  )

  addEventHandler("onMarkerLeave", sp3,
  function(leftElement)

    if(getElementType(leftElement) == "player") then

        triggerClientEvent(leftElement, "markerLeaved", getRootElement())  
   end
  end
  ) 
  

-- 

  

addEventHandler("onMarkerHit", sp4, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp4, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp5, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp5, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp6, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp6, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp7, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp7, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp8, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp8, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp9, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp9, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp10, 

function(hitElement) 

    if(getElementType(hitElement) == "player") then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp10, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

) 

  

-- 

  

addEventHandler("onMarkerHit", sp11, 

function(hitElement) 
    if(getElementType(hitElement) == "player") then 
        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp11, 

function(leftElement) 

    if(getElementType(leftElement) == "player") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

)

  

addEventHandler("onMarkerLeave", sp17, 

function(leftElement) 

    if(getElementType(leftElement) == "ped") then 

        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 

    end 

end 

)

addEventHandler("onMarkerHit", sp17, 

function(hitElement) 

    if(getElementType(hitElement) == "player")   then 

        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 

    end 

end 

) 

  

addEventHandler("onMarkerLeave", sp17, 

function(leftElement) 

    if(getElementType(leftElement) == "player")   then 


        triggerClientEvent(leftElement, "markerLeaved", getRootElement()) 


    end 

end 

) 
   


 

Screenshot for the problem : 

Spoiler

6cd2f603717a44209ee022f45a1569c6.png


  

Edited by AssassinCreed
Posted

Use loops. It will make scripting multiple items easier.

 

pv = { } 

local positions = {
    {1920.96960, -1791.41931, 12.25451},
    {1372.22998, -1600.58765, 12.55247},
    {1187.37, -1334.88, 12.56},
    {1204.98145, -1070.53796, 28.24623},
    {652.31482, -1767.81738, 12.55009},
    {2455.93091, -1787.65576, 12.54688},
    {2154.16821, -1167.59106, 22.82215},
    {-20.03092, -278.19138, 4.42969},
    {1736.50134, 1877.01477, 9.82031},
    {2377.19727, 2019.28247, 9.82031},
    {2898.70703, 2454.66870, 9.82031},
    {-1454.17456, 1870.05615, 31.63281},
    {-2251.42944, 2329.95679, 3.81250},
    {-2242.80200, 537.43109, 34.12649},
    {-1985.65979, 269.49936, 34.17936},
    {-1498.97607, 849.02643, 6.18750},
    {1538.96, -1687.7, 12.55},
}

for i,pos in pairs(positions) do
    local mrk = createMarker(pos[1],pos[2],pos[3], "cylinder", 2, 255, 255, 255, 150) 
    createBlipAttachedTo(mrk, 38, 2, 0, 255, 0, 255, 0, 500)
    addEventHandler("onMarkerHit", mrk,function(hitElement) 
        if(getElementType(hitElement) == "player") then 
            triggerClientEvent(hitElement, "markerHitted", hitElement) 
        end 
    end)
    addEventHandler("onMarkerLeave", mrk,function(leftElement) 
        if(getElementType(leftElement) == "player") then 
            triggerClientEvent(leftElement, "markerLeaved", hitElement) 
        end 
    end) 
end

function createTheVehicle(id, posx, posy, posz, player)
    if(isElement(pv[player])) then
        destroyElement(pv[player])
    end
    pv[player] = createVehicle(id, posx, posy, posz + 1)
    warpPedIntoVehicle(player, pv[player])
    if(getTeamName(getPlayerTeam(player)) == "Staff") then
        addVehicleUpgrade(pv[player], 1010)
    end
    triggerClientEvent(player, "markerLeaved", player) 
end
addEvent("crVeh", true)
addEventHandler("crVeh", root, createTheVehicle)

 

Posted
1 hour ago, Mr.Loki said:

Use loops. It will make scripting multiple items easier.

 


pv = { } local positions = {    {1920.96960, -1791.41931, 12.25451},    {1372.22998, -1600.58765, 12.55247},    {1187.37, -1334.88, 12.56},    {1204.98145, -1070.53796, 28.24623},    {652.31482, -1767.81738, 12.55009},    {2455.93091, -1787.65576, 12.54688},    {2154.16821, -1167.59106, 22.82215},    {-20.03092, -278.19138, 4.42969},    {1736.50134, 1877.01477, 9.82031},    {2377.19727, 2019.28247, 9.82031},    {2898.70703, 2454.66870, 9.82031},    {-1454.17456, 1870.05615, 31.63281},    {-2251.42944, 2329.95679, 3.81250},    {-2242.80200, 537.43109, 34.12649},    {-1985.65979, 269.49936, 34.17936},    {-1498.97607, 849.02643, 6.18750},    {1538.96, -1687.7, 12.55},}for i,pos in pairs(positions) do    local mrk = createMarker(pos[1],pos[2],pos[3], "cylinder", 2, 255, 255, 255, 150)     createBlipAttachedTo(mrk, 38, 2, 0, 255, 0, 255, 0, 500)    addEventHandler("onMarkerHit", mrk,function(hitElement)         if(getElementType(hitElement) == "player") then             triggerClientEvent(hitElement, "markerHitted", hitElement)         end     end)    addEventHandler("onMarkerLeave", mrk,function(leftElement)         if(getElementType(leftElement) == "player") then             triggerClientEvent(leftElement, "markerLeaved", hitElement)         end     end) endfunction createTheVehicle(id, posx, posy, posz, player)    if(isElement(pv[player])) then        destroyElement(pv[player])    end    pv[player] = createVehicle(id, posx, posy, posz + 1)    warpPedIntoVehicle(player, pv[player])    if(getTeamName(getPlayerTeam(player)) == "Staff") then        addVehicleUpgrade(pv[player], 1010)    end    triggerClientEvent(player, "markerLeaved", player) endaddEvent("crVeh", true)addEventHandler("crVeh", root, createTheVehicle)

 

still not fixed

Posted
21 hours ago, AssassinCreed said:

What do you mean?

 

if(button == "1") then
	x, y, z = getElementPosition(localPlayer)
	triggerServerEvent("crVeh", getRootElement(), 468, x, y, z, localPlayer)
  	hideGui() -- Use the function hide in all click´s .. button == "2", button == "3"....
end

 

Posted
1 hour ago, raynner said:

if(button == "1") then	x, y, z = getElementPosition(localPlayer)	triggerServerEvent("crVeh", getRootElement(), 468, x, y, z, localPlayer)  	hideGui() -- Use the function hide in all click´s .. button == "2", button == "3"....end

 

Can you type the full script? xD please just once in 1 button and  i will make it for all thanks.

Posted
21 minutes ago, AssassinCreed said:

Can you type the full script? xD please just once in 1 button and  i will make it for all thanks.

he just did it to you :3

Posted
2 hours ago, raynner said:

if(button == "1") then	x, y, z = getElementPosition(localPlayer)	triggerServerEvent("crVeh", getRootElement(), 468, x, y, z, localPlayer)  	hideGui() -- Use the function hide in all click´s .. button == "2", button == "3"....end

 

Not fixed

Posted
2 hours ago, AssassinCreed said:

Not fixed

function hideGui()
    guiSetVisible(jWin,false)
    removeEventHandler("onClientKey", getRootElement(), spawnveh)
end

you  have this code in the bottom of the script
try to move it to line number 4

Posted (edited)
2 hours ago, 3laa33 said:

function hideGui()    guiSetVisible(jWin,false)    removeEventHandler("onClientKey", getRootElement(), spawnveh)end

you  have this code in the bottom of the script
try to move it to line number 4

Look bro i think you don't understand what is the problem the problem is when i spawn a car the gui don't close i have to leave the marker,i want when i spawn a car the gui hide instantly and never show again if the player in vehicle i hope you got it xD

Edited by AssassinCreed
Posted (edited)
5 hours ago, AssassinCreed said:

Look bro i think you don't understand what is the problem the problem is when i spawn a car the gui don't close i have to leave the marker,i want when i spawn a car the gui hide instantly and never show again if the player in vehicle i hope you got it xD

Use the format

if (button == "1") then
	x, y, z = getElementPosition(localPlayer)
	triggerServerEvent("crVeh", getRootElement(), 468, x, y, z, localPlayer)
	guiSetVisible(jWin,false) -- Use the function hide in all click´s .. button == "2", button == "3"....
end

And in Server Sid

addEventHandler("onMarkerHit", sp1, 
function(hitElement) 
    if(getElementType(hitElement) == "player") and not (isPedInVehicle(hitElement)) then --> Not Open the Gui if player in Vehicle !
        triggerClientEvent(hitElement, "markerHitted", getRootElement()) 
    end 
end 
)

As it has been said use loop "for" to create all the markers at once!

Edited by raynner
Corrections

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