Jump to content

(help)Car Spawner bug


Recommended Posts

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
Link to comment

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)

 

Link to comment
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

Link to comment
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

 

Link to comment
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.

Link to comment
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

Link to comment
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
Link to comment
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
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...