joao2235 Posted September 5, 2019 Share Posted September 5, 2019 MarkerBike = createMarker(1086.3326416016,-1802.1416015625,12.60143661499, "cylinder", 1.5, 255,255,255,50) BlipLS = createBlipAttachedTo(MarkerBike, 33) setBlipVisibleDistance(BlipLS, 800) --local Veiculos = {510} -- IDs dos Veículos. Rumpo = {} AparecerBike = Rumpo[source] function spawn (source) if isElementWithinMarker(source, MarkerBike) then if getPlayerMoney(source) >= 500 then takePlayerMoney (source, 500) if AparecerBike and isElement(AparecerBike) then destroyElement(AparecerBike) end AparecerBike = createVehicle (510, 1091.2088623047,-1796.9704589844,13.606305122375) setElementData(AparecerBike, "kart.race", true) setElementData(source, "owner", AparecerBike) setElementData(AparecerBike, "conta.tempo", false) setElementRotation(AparecerBike,0,0,0) fadeCamera ( source, false, 0, 0, 0, 0 ) setTimer ( fadeCamera, 500, 1, source , true, 0.5 ) setTimer ( setCameraTarget, 500, 1, source ) outputChatBox ("#FF0000✘ #ffffffINFO #FF0000✘➺ #FF0000Bicicleta Alugada com sucesso, faça bom uso!", source, 255, 255, 255, true) warpPedIntoVehicle (source, AparecerBike) else outputChatBox("#FF0000✘ #ffffffINFO #FF0000✘➺ #FF0000Você não tem dinheiro suficiente para alugar uma bike!", source, 255,255,255,true) end end end addCommandHandler("alugar", spawn) function enterVehicle ( player, seat, jacked ) if getElementData(source, "kart.race") == true and seat == 0 then local owner = getElementData(source, "owner") else cancelEvent() outputChatBox ( "Você não é dono desta bicicleta, alugue sua bike para poder usá-la.", player ) end end addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle ) function destroyVehicle(vehicle) local check=false for i,player in ipairs(getElementsByType("player")) do if getPedOccupiedVehicle(player)==vehicle then check=true end end if check==false then destroyElement(AparecerBike) end end --[[function DestroyVeiculo (AparecerBike, seat) if getElementData(AparecerBike, "kart.race") == true and seat == 0 then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) killTimer(Rumpo[AparecerBike]) end end addEventHandler ("onPlayerLogout", getRootElement(), DestroyVeiculo) addEventHandler ("onPlayerQuit", getRootElement(), DestroyVeiculo) addEventHandler ("onPlayerWasted", getRootElement(), DestroyVeiculo) addEventHandler ("onPlayerBan", getRootElement(), DestroyVeiculo) addEventHandler ("onResourceStop", getRootElement(), DestroyVeiculo)]]-- addEventHandler( "onPlayerQuit", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onPlayerWasted", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onPlayerLogout", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onResourceStop", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onPlayerBan", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) local minutos = 1 function exitVehicle(AparecerBike, seat) if getElementData(AparecerBike, "kart.race") == true and seat == 0 then if isTimer(Rumpo[AparecerBike]) then killTimer(Rumpo[AparecerBike]) end Rumpo[AparecerBike] = setTimer(destroyVehicle,60000*minutos,1,AparecerBike) end end addEventHandler("onPlayerVehicleExit",getRootElement(),exitVehicle) function onPlayerVehicleEnter (AparecerBike, seat) if getElementData(AparecerBike, "kart.race") == true and seat == 0 then if isTimer(Rumpo[AparecerBike]) then killTimer(Rumpo[AparecerBike]) end end end addEventHandler("onPlayerVehicleEnter", getRootElement(), onPlayerVehicleEnter) function onResourceStop (AparecerBike) if isTimer(Rumpo[AparecerBike]) then killTimer(Rumpo[AparecerBike]) end end addEventHandler("onResourceStop", getResourceRootElement( getThisResource() ), onResourceStop) server.Lua:50: Bad argument @ 'getElementData' [Expected element at argument 1] Link to comment
Ceeser Posted September 5, 2019 Share Posted September 5, 2019 13 minutes ago, joao2235 said: function destroyVehicle(vehicle) local check=false for i,player in ipairs(getElementsByType("player")) do if getPedOccupiedVehicle(player)==vehicle then check=true end end if check==false then destroyElement(AparecerBike) end end Yes, you get that error, because you called the function parameter "vehicle" now instead of "AparecerBike" Link to comment
joao2235 Posted September 5, 2019 Author Share Posted September 5, 2019 How I can solve this ? Link to comment
joao2235 Posted September 6, 2019 Author Share Posted September 6, 2019 I received a bug. When I was playing with a friend, after I rent a Bike if he rents too my bike disappear. 6 hours ago, joao2235 said: MarkerBike = createMarker(1086.3326416016,-1802.1416015625,12.60143661499, "cylinder", 1.5, 255,255,255,50) BlipLS = createBlipAttachedTo(MarkerBike, 33) setBlipVisibleDistance(BlipLS, 800) --local Veiculos = {510} -- IDs dos Veículos. Rumpo = {} AparecerBike = Rumpo[source] function spawn (source) if isElementWithinMarker(source, MarkerBike) then if getPlayerMoney(source) >= 500 then takePlayerMoney (source, 500) if AparecerBike and isElement(AparecerBike) then destroyElement(AparecerBike) end AparecerBike = createVehicle (510, 1091.2088623047,-1796.9704589844,13.606305122375) setElementData(AparecerBike, "kart.race", true) setElementData(source, "owner", AparecerBike) setElementData(AparecerBike, "conta.tempo", false) setElementRotation(AparecerBike,0,0,0) fadeCamera ( source, false, 0, 0, 0, 0 ) setTimer ( fadeCamera, 500, 1, source , true, 0.5 ) setTimer ( setCameraTarget, 500, 1, source ) outputChatBox ("#FF0000✘ #ffffffINFO #FF0000✘➺ #FF0000Bicicleta Alugada com sucesso, faça bom uso!", source, 255, 255, 255, true) warpPedIntoVehicle (source, AparecerBike) else outputChatBox("#FF0000✘ #ffffffINFO #FF0000✘➺ #FF0000Você não tem dinheiro suficiente para alugar uma bike!", source, 255,255,255,true) end end end addCommandHandler("alugar", spawn) function enterVehicle ( player, seat, jacked ) if getElementData(source, "kart.race") == true and seat == 0 then local owner = getElementData(source, "owner") else cancelEvent() outputChatBox ( "Você não é dono desta bicicleta, alugue sua bike para poder usá-la.", player ) end end addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle ) function destroyVehicle(vehicle) local check=false for i,player in ipairs(getElementsByType("player")) do if getPedOccupiedVehicle(player)==vehicle then check=true end end if check==false then destroyElement(AparecerBike) end end --[[function DestroyVeiculo (AparecerBike, seat) if getElementData(AparecerBike, "kart.race") == true and seat == 0 then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) killTimer(Rumpo[AparecerBike]) end end addEventHandler ("onPlayerLogout", getRootElement(), DestroyVeiculo) addEventHandler ("onPlayerQuit", getRootElement(), DestroyVeiculo) addEventHandler ("onPlayerWasted", getRootElement(), DestroyVeiculo) addEventHandler ("onPlayerBan", getRootElement(), DestroyVeiculo) addEventHandler ("onResourceStop", getRootElement(), DestroyVeiculo)]]-- addEventHandler( "onPlayerQuit", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onPlayerWasted", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onPlayerLogout", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onResourceStop", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) addEventHandler( "onPlayerBan", root, function() if getElementData(AparecerBike, "kart.race") then setElementData(AparecerBike, "kart.race", false) destroyElement (AparecerBike) end end) local minutos = 1 function exitVehicle(AparecerBike, seat) if getElementData(AparecerBike, "kart.race") == true and seat == 0 then if isTimer(Rumpo[AparecerBike]) then killTimer(Rumpo[AparecerBike]) end Rumpo[AparecerBike] = setTimer(destroyVehicle,60000*minutos,1,AparecerBike) end end addEventHandler("onPlayerVehicleExit",getRootElement(),exitVehicle) function onPlayerVehicleEnter (AparecerBike, seat) if getElementData(AparecerBike, "kart.race") == true and seat == 0 then if isTimer(Rumpo[AparecerBike]) then killTimer(Rumpo[AparecerBike]) end end end addEventHandler("onPlayerVehicleEnter", getRootElement(), onPlayerVehicleEnter) function onResourceStop (AparecerBike) if isTimer(Rumpo[AparecerBike]) then killTimer(Rumpo[AparecerBike]) end end addEventHandler("onResourceStop", getResourceRootElement( getThisResource() ), onResourceStop) The code is that! Link to comment
Ceeser Posted September 6, 2019 Share Posted September 6, 2019 Well it seems like you are only creating one bike variable. If you handle this serverside and want multiple players to have a bike, instead save one bike to each player. Link to comment
joao2235 Posted September 7, 2019 Author Share Posted September 7, 2019 Sorry, I am a begginer. How I can do this ? Thanks! Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now