Barradas Posted July 1, 2019 Share Posted July 1, 2019 Gente eu arranjei um mod top de gasolineira mas não tá programada para o velocímetro. Como faço para aparecer em percentagem o nível de gasosa? Link to comment
juaosilv Posted July 1, 2019 Share Posted July 1, 2019 (edited) Você deve ver qual elementDate o script está usando e depois fazer um getElementData no velocimetro puxando o element da gasolina. Provavelmente deve ser "fuel", caso seja basta por no velocímetro: local vehicle = getPedOccupiedVehicle(getLocalPlayer()) -- identifica o veiculo q a pessoa tá (Provavelmente já deve ter isso no seu velocimetro) getElementData(vehicle, "fuel") -- puxa a elementDate do veiculo. caso não consiga, envie a client da gasolina e a client do velocimetro. Edited July 1, 2019 by juaosilv Link to comment
Barradas Posted July 1, 2019 Author Share Posted July 1, 2019 (edited) 4 minutes ago, juaosilv said: Você deve ver qual elementDate o script está usando e depois fazer um getElementData no velocimetro puxando o element da gasolina. Provavelmente deve ser "fuel", caso seja basta por no velocímetro: getElementData(source, "fuel") caso não consiga, envie a client da gasolina e a client do velocimetro. Então basta por na script do velocímetro em qualquer lado isso? É que não aparece no ecrã um medidor de combustível 4 minutes ago, juaosilv said: Edited July 1, 2019 by Barradas Link to comment
juaosilv Posted July 1, 2019 Share Posted July 1, 2019 (edited) 5 minutes ago, Barradas said: Então basta por na script do velocímetro em qualquer lado isso? Não, você deve por no local aonde deseja que apareça a quantidade de gasolina do veiculo. Manda o código do script de gasolina e do velocimetro que irei adicionar pra vc. Edited July 1, 2019 by juaosilv Link to comment
Other Languages Moderators Lord Henry Posted July 1, 2019 Other Languages Moderators Share Posted July 1, 2019 Isso é client-side, amigo. Não existe velocímetro criado server-side. (me referindo aos elementos gráficos) Link to comment
Eficiencia Posted July 2, 2019 Share Posted July 2, 2019 @Barradasmande seu velocimetro e seu server-side do mod de gasolina (provavelmente deve estar la a data) Link to comment
Barradas Posted July 2, 2019 Author Share Posted July 2, 2019 8 hours ago, Eficiencia said: @Barradasmande seu velocimetro e seu server-side do mod de gasolina (provavelmente deve estar la a data) https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.youtube.com/watch%3Fv%3DxWiQDepvf6I&ved=2ahUKEwjDvsL1k5XjAhWnHLkGHTMICU0QtwIwDHoECAQQAQ&usg=AOvVaw1dE1qjuX4ok-mg2IQbx-hL --velocímetro https://cdn.discordapp.com/attachments/592399202990948353/595246443648778241/Gasolina.rar -- mod da gasolina Link to comment
#DeltaSCR Posted July 2, 2019 Share Posted July 2, 2019 @Barradas, poste o código diretamente aqui no fórum, fica bem mais fácil de te ajudarmos Link to comment
Barradas Posted July 2, 2019 Author Share Posted July 2, 2019 6 minutes ago, #DeltaSCR said: @Barradas, poste o código diretamente aqui no fórum, fica bem mais fácil de te ajudarmos Como que faço? Link to comment
#DeltaSCR Posted July 2, 2019 Share Posted July 2, 2019 No simbolo <>, ponha seu código lá. Link to comment
Barradas Posted July 2, 2019 Author Share Posted July 2, 2019 local Veiculos = { 581, 462, 521, 463, 522, 461, 448, 468, 586, 602, 496, 401, 518, 527, 589, 419, 587, 533, 526, 474, 545, 517, 410, 600, 436, 439, 549, 491, 445, 604, 507, 585, 466, 492, 546, 551, 516, 467, 426, 547, 405, 580, 409, 550, 566, 540, 421, 529, 485, 431, 438, 437, 574, 420, 525, 408, 552, 416, 433, 427, 490, 528, 407, 544, 523, 470, 596, 598, 599, 597, 428, 499, 609, 498, 524, 532, 578, 486, 406, 573, 455, 588, 423, 414, 443, 531, 456, 459, 422, 482, 605, 530, 418, 572, 582, 413, 440, 543, 483, 478, 554, 579, 400, 404, 489, 505, 479, 442, 458, 536, 575, 534, 567, 535, 576, 412, 402, 542, 603, 475, 429, 541, 415, 480, 562, 565, 434, 494, 502, 503, 411, 559, 561, 560, 506, 451, 558, 555, 477, 568, 424, 504, 457, 483, 508, 571, 500, 444, 556, 557, 471, 495, 539 } MarkersTable = {} BomberTable = {} Mangueira = {} TampaCombustivel = {} TableMangueira_Veh = {} Tempo = {} Areas = {} function getVehicleByID(id) v = false for i, vehicle in ipairs (getElementsByType("vehicle")) do if getElementData(vehicle, "ID_Mangueira") == id then v = vehicle break end end return v end --[[ ><><><><><><><><><><><><><><><>< >< Anti_Bugs Area >< ><><><><><><><><><><><><><><><>< --]] function HitPlayerArea (source) for i, areacol in ipairs (Areas) do local ID_Area = getElementData(areacol, "ID_Area") or 0 if getElementData(areacol, "Area_Protetora") == true then if isElementWithinColShape(source, areacol) then setElementData(source, "ID_Area", ID_Area) end end end end function Block_Area (source) for i, areacol in ipairs (Areas) do local ID_Area = getElementData(areacol, "ID_Area") or 0 if getElementData(areacol, "Area_Protetora") == true then if getElementData(source, "ID_Area") == ID_Area then local Kick1 = getElementData(areacol, "Pos_Kick(1)") or 0 -- Pos Kick X local Kick2 = getElementData(areacol, "Pos_Kick(2)") or 0 -- Pos Kick Y local Kick3 = getElementData(areacol, "Pos_Kick(3)") or 0 -- Pos Kick Z if getElementData(source, "Mangueira_Mão") == true then outputChatBox ( "#00ff00✘ #ffffffINFO #00ff00✘➺ #ffffffVocê não pode sair do posto Com mangueira em mãos.", source, 255,255,255, true) setElementPosition(source, Kick1, Kick2, Kick3) else setElementData(source, "ID_Area", false) end end end end end --[[ ><><><><><><><><><><><><><><><><><>< >< Veiculo Hit Marker >< ><><><><><><><><><><><><><><><><><>< --]] function Vehicle_HitM (theVehicle) if getElementType(theVehicle) == "vehicle" then -- O Elemento a Colidir é um veiculo for i, Marker in ipairs (MarkersTable) do -- Loop Dos Markes De Gasolina if getElementData(Marker, "Posto:Gasolina") == true then -- Verifica se o Marker é um Posto if isElementWithinMarker(theVehicle, Marker) then -- Verifica se o Veiculo está dentro do Marker if getElementData(Marker, "Bomba") == false then -- verifica se não tem veiculo na bomba for _, players in ipairs( getElementsByType 'player' ) do -- Verifica Todos jogadores Online local Vehicle = getPedOccupiedVehicle ( players ) -- Verifica o Veiculo que os Jogadores estão Ocupando if ( Vehicle ) then -- Verificação for _, veh in ipairs ( Veiculos ) do local ID_Veh = getElementModel ( Vehicle ) if ID_Veh == veh then if getPedOccupiedVehicleSeat ( players ) == 0 then -- Verifica se o Jogador é Motorista bindKey (players, "k", "down", Perm_Abastercer ) -- Da a permissão pro jogador Seguir em frente com o abastecimento outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte a Letra #00ff00'K' #ffffffPara Que Possa Abastecer Seu Veiculo.", players, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><>< >< Veiculo Leave Marker >< ><><><><><><><><><><><><><><><><><><>< --]] function Vehicle_LeaveM (theVehicle) if getElementType(theVehicle) == "vehicle" then -- O Elemento a Colidir deve ser Veiculo for _, Bombas in ipairs( getElementsByType 'marker' ) do -- Verifica todos os marker do jogo if getElementData(Bombas, "Posto:Gasolina") == true then -- Verifica se o marker e um posto de gasolina if getElementData(theVehicle, "Decidir") == "Abastecer?" then -- Verifica se o veiculo está em modo decisão for _, players in ipairs( getElementsByType 'player' ) do -- Todos jogadores online local Vehicle = getPedOccupiedVehicle ( players ) -- Verifica veiculo de todos os jogadores if ( Vehicle ) then -- Verificação if getElementData(Vehicle, "Decidir") == "Abastecer?" then -- Verifica se o Carro do Jogador está em modo decidir if getPedOccupiedVehicleSeat ( players ) == 0 then -- Verifica se é o motorista unbindKey (players, "k", "down", Perm_Abastercer ) -- Remove a bind de abastecer unbindKey (players, "k", "down", Sair_Veh ) -- Remove bind sair end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim for ia, va in ipairs (Areas_Protetoras) do Areas[ia] = createColRectangle (va[1], va[2], va[3], va[4]) setElementData(Areas[ia], "Area_Protetora", true) setElementData(Areas[ia], "Pos_Kick(1)", va[5]) setElementData(Areas[ia], "Pos_Kick(2)", va[6]) setElementData(Areas[ia], "Pos_Kick(3)", va[7]) setElementData(Areas[ia], "ID_Area", ia) addEventHandler("onColShapeHit", Areas[ia], HitPlayerArea) addEventHandler ( "onColShapeLeave", Areas[ia], Block_Area ) end for i, v in ipairs (Bombas_Combustivel) do MarkersTable = createMarker ( v[1], v[2], v[3] -1, "cylinder", 1.7, 0, 255, 0, 0 ) setElementData(MarkersTable, "Posto:Gasolina", true) setElementData(MarkersTable, "Pos_Bomber(1)", v[4]) setElementData(MarkersTable, "Pos_Bomber(2)", v[5]) setElementData(MarkersTable, "Pos_Bomber(3)", v[6]) setElementData(MarkersTable, "Pos_Car(1)", v[7]) setElementData(MarkersTable, "Pos_Car(2)", v[8]) setElementData(MarkersTable, "Pos_Car(3)", v[9]) setElementData(MarkersTable, "Rot_Car", v[10]) setElementData(MarkersTable, "Pos_Mangueira(1)", v[11]) setElementData(MarkersTable, "Pos_Mangueira(2)", v[12]) setElementData(MarkersTable, "Pos_Mangueira(3)", v[13]) setElementData(MarkersTable, "Pos_Tampa(1)", v[14]) setElementData(MarkersTable, "Pos_Tampa(2)", v[15]) setElementData(MarkersTable, "Pos_Tampa(3)", v[16]) setElementData(MarkersTable, "ID_Bomba", i) addEventHandler("onMarkerHit", MarkersTable, Vehicle_HitM) addEventHandler("onMarkerLeave", MarkersTable, Vehicle_LeaveM) end --[[ ><><><><><><><><><><><><><><><><><><> >< Permissão Abastecer >< ><><><><><><><><><><><><><><><><><><> --]] function Perm_Abastercer (source) for i, Marker in ipairs (MarkersTable) do -- Verifica Todos os Markers Criados local Bomber1 = getElementData(Marker, "Pos_Bomber(1)") or 0 -- Pos Bomba X local Bomber2 = getElementData(Marker, "Pos_Bomber(2)") or 0 -- Pos Bomba Y local Bomber3 = getElementData(Marker, "Pos_Bomber(3)") or 0 -- Pos Bomba Z local Pos_Car1 = getElementData(Marker, "Pos_Car(1)") or 0 -- Pos Car X local Pos_Car2 = getElementData(Marker, "Pos_Car(2)") or 0 -- Pos Car Y local Pos_Car3 = getElementData(Marker, "Pos_Car(3)") or 0 -- Pos Car Z local Rot_Car = getElementData(Marker, "Rot_Car") or 0 -- Root Car local Mangueira1 = getElementData(Marker, "Pos_Mangueira(1)") or 0 -- Pos Mangueira X local Mangueira2 = getElementData(Marker, "Pos_Mangueira(2)") or 0 -- Pos Mangueira Y local Mangueira3 = getElementData(Marker, "Pos_Mangueira(3)") or 0 -- Pos Mangueira Z local Pos_Tampa1 = getElementData(Marker, "Pos_Tampa(1)") or 0 -- Pos Mangueira Z local Pos_Tampa2 = getElementData(Marker, "Pos_Tampa(2)") or 0 -- Pos Mangueira Z local Pos_Tampa3 = getElementData(Marker, "Pos_Tampa(3)") or 0 -- Pos Mangueira Z local Vehicle = getPedOccupiedVehicle ( source ) -- Verifica Veiculo do Jogador if ( Vehicle ) then -- Verificação for _, veh in ipairs ( Veiculos ) do local ID_Veh = getElementModel ( Vehicle ) if ID_Veh == veh then if isElementWithinMarker(Vehicle, Marker) then -- Verifica se o Veiculo Está dentro do Marker if BomberTable[Vehicle] and isElement( BomberTable[Vehicle] ) then destroyElement ( BomberTable[Vehicle] ) BomberTable[Vehicle] = nil end -- Destroi bombar veiculo if TampaCombustivel[Vehicle] and isElement( TampaCombustivel[Vehicle] ) then destroyElement ( TampaCombustivel[Vehicle] ) TampaCombustivel[Vehicle] = nil end -- Destroi tampa veiculo BomberTable[Vehicle] = createMarker ( Bomber1, Bomber2, Bomber3 -1, "cylinder", 1.1, 0, 255, 0, 0 ) -- Cria Bomba pra Abastecer addEventHandler("onMarkerHit", BomberTable[Vehicle], Confirmar_Abastecimento) -- Adiciona Evento nos Marker de Abastecimento setElementData(Marker, "Bomba", "Ocupada") -- Seta a Bomba do Posto "Ocupada" setElementData(BomberTable[Vehicle], "Bomba:Gasolina", true) -- Dar valor A Bomba de abastecimento setElementData(BomberTable[Vehicle], "Pos_Mangueira(1)", Mangueira1) -- Seta Posição Line (X) setElementData(BomberTable[Vehicle], "Pos_Mangueira(2)", Mangueira2) -- Seta Posição Line (Y) setElementData(BomberTable[Vehicle], "Pos_Mangueira(3)", Mangueira3) -- Seta Posição Line (Z) setElementFrozen(Vehicle, true) -- Trava o Veiculo setElementPosition(Vehicle, Pos_Car1, Pos_Car2, Pos_Car3 -0.2) -- Seta Posição~ do Veiculo setElementRotation(Vehicle, 0, 0, Rot_Car) -- Setar Rotação do Veiculo setElementData(Vehicle, "Aguardando_Gasolina", true) -- Seta Veiculo Aguardando Abastecimento unbindKey (source, "k", "down", Perm_Abastercer ) -- Remove a bind de abastecer bindKey (source, "k", "down", Sair_Veh ) -- Adiciona bind sair TampaCombustivel[Vehicle] = createMarker ( Pos_Tampa1, Pos_Tampa2, Pos_Tampa3, "corona", 1.3, 0, 255, 0, 0 ) -- Cria Bomba pra Abastecer setElementData(TampaCombustivel[Vehicle], "Tanque_Fuel", true) -- Seta Tanque_Fuel no Veiculo addEventHandler("onMarkerHit", TampaCombustivel[Vehicle], Mensagem_Veh) -- Adiciona Evento nos Marker de Abastecimento outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffSaia do Veiculo e Vá Até a Bomba de Combustivel.", source, 255, 255, 255, true ) outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara que saia com seu veiculo.", source, 255, 255, 255, true ) end end end end end end function Sair_Veh (source) for i, v in ipairs (MarkersTable) do -- Faz um loop com todos os marker na tabela MarkersTable local Vehicle = getPedOccupiedVehicle ( source ) -- Verifica o veiculo que o jogador está conduzindo if ( Vehicle ) then -- Verificação if isElementWithinMarker(Vehicle, v) then -- Verifica se o veiculo está em algum posto if (BomberTable[Vehicle]) and isElement(BomberTable[Vehicle]) then destroyElement(BomberTable[Vehicle]) end -- Destroi bomba if TampaCombustivel[Vehicle] and isElement( TampaCombustivel[Vehicle] ) then destroyElement ( TampaCombustivel[Vehicle] ) TampaCombustivel[Vehicle] = nil end -- Destroi tampa de adicionar gasolina setElementFrozen(Vehicle, false) -- Destrava o veiculo setElementData(v, "Bomba", false) -- Adiciona a Bomba como desocupada unbindKey (source, "k", "down", Sair_Veh ) -- Remove bind setElementData(Vehicle, "Aguardando_Gasolina", false) -- Remove o carro como aguardando gasolina setElementData(Vehicle, "Mangueira_Veiculo", false) -- Remove a Mangueira do Veiculo setElementData(Vehicle, "Abastecendo", false) -- Adiciona o veiculo como abastecendo end -- Fim end -- Fim end -- Fim end -- Fim function Enter_Vehicle (source) local Vehicle = getPedOccupiedVehicle ( source ) -- Verifica o veiculo que o jogador está conduzindo if ( Vehicle ) then -- Verificação if getElementData(Vehicle, "Aguardando_Gasolina") == true then -- Veiculo precisa está aguardando gasolina if getElementData(Vehicle, "Mangueira_Veiculo") == false then -- O veiculo não pode está com mangueira acionada nele bindKey (source, "k", "down", Sair_Veh ) -- adiciona bindkey pra sair com veiiculo outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara que saia com seu veiculo.", source, 255, 255, 255, true ) else -- Ou se o veiculo estiver com mangueira envia a mensagem abaixo outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffPara sair com o veiculo remova a mangueira dele.", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim addEventHandler ( "onVehicleEnter", getRootElement(), Enter_Vehicle ) function Exit_Vehicle (source) local Veiculo = getPedOccupiedVehicle(source) -- Verifica o veiculo que o jogador está conduzindo if getElementData(Veiculo, "Aguardando_Gasolina") == true then -- O Veiculo precisa está aguardando a gasolina unbindKey (source, "k", "down", Perm_Abastercer ) -- Remove uso da função Abastecer veiculo unbindKey (source, "k", "down", Sair_Veh ) -- Remove uso da função sair com veiculo end -- Fim end -- Fim addEventHandler ( "onVehicleStartExit", getRootElement(), Exit_Vehicle ) --[[ ><><><><><><><><><><><><><><><><><>< >< Mangueira Veiculo >< ><><><><><><><><><><><><><><><><><>< --]] function Confirmar_Abastecimento (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do servidor for _, veiculos in ipairs( vehicles ) do -- Loop de todos os veiculos if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Os veiculos precisa estar aguardando gasolina if isElementWithinMarker(source, BomberTable[veiculos]) then -- O Jogador precisa está na bomba de gasolina. if getElementData(source, "Mangueira_Mão") == false then -- O Jogador Precisa está sem mangueira if getElementData(BomberTable[veiculos], "Mangueira_Acionada") == false then -- A bomba deve esta desocupada bindKey (source, "k", "down", Abastecer_Veh ) -- Adiciona BindKey pra abastecer outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara que Pegue a Mangueira", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><>< >< Começar Abastecimento >< ><><><><><><><><><><><><><><><><><><>< --]] function Abastecer_Veh (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Os veiculos precisa está aguardando gasolina if isElementWithinMarker(source, BomberTable[veiculos]) then -- o Jogador precisa está dentro da bomba de gasolina if getElementData(source, "Mangueira_Mão") == false then -- Jogador não pode está com mangueira na mão if getElementData(BomberTable[veiculos], "Mangueira_Acionada") == false then -- A bomba deve estar desocupada local Mangueira1 = getElementData(BomberTable[veiculos], "Pos_Mangueira(1)") or 0 -- Pos Mangueira X local Mangueira2 = getElementData(BomberTable[veiculos], "Pos_Mangueira(2)") or 0 -- Pos Mangueira Y local Mangueira3 = getElementData(BomberTable[veiculos], "Pos_Mangueira(3)") or 0 -- Pos Mangueira Z local px, py, pz = getElementPosition(source) -- Verifica posição do jogador Mangueira[source] = createObject (14463, px, py, pz) -- Cria uma mangueira exports.bone_attach:attachElementToBone (Mangueira[source], source, 12, 0, 0, 0.06, -180, 0, 0) -- Gruda a mangueira na mão do jogador setElementData(source, "Mangueira_Mão", true) -- Aciona mangueira na mão dele. setElementData(source, "Pos_Mangueira(1)", Mangueira1) -- Posição X pra criar a line3d setElementData(source, "Pos_Mangueira(2)", Mangueira2) -- Posição Y pra criar a line3d setElementData(source, "Pos_Mangueira(3)", Mangueira3) -- Posição Z pra criar a line3d unbindKey (source, "k", "down", Abastecer_Veh ) -- Remove Bind De abastecer outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAdicione a Mangueira no Veiculo.", source, 255, 255, 255, true ) else -- Caso a bomba de gasolina estiver sendo usada, Então envia a seguinte mensagem outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffA Bomba já está sendo usada no veiculo", source, 255, 255, 255, true ) end -- Fim else -- Caso o jogador já estiver com uma mangueira envia a seguinte mensagem outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffVocê já tem mangueira em suas mãos", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><><><><><>< >< Acionar mangueira no Veiculo >< ><><><><><><><><><><><><><><><><><><><><><><>< --]] function Mensagem_Veh (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo if getElementData(veiculos, "Aguardando_Gasolina") == true then -- o Veiculo precisa está aguardando pra abastecer if isElementWithinMarker(source, TampaCombustivel[veiculos]) then -- Jogador precisa está na tampa de combustivel if getElementData(veiculos, "Mangueira_Veiculo") == false then -- o Veiculo não pode está com mangueira if getElementData(source, "Mangueira_Mão") == true then -- Jogador precisa está com mangueira na mão bindKey (source, "k", "down", Mangueira_Veh ) -- Adiciona Bindkey pra por mangueira no veiculo. outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara colocar a Mangueira no Veiculo", source, 255, 255, 255, true ) end -- Fim else -- Se caso o veiculo já estiver com mangueira então Aciona as linhas abaixo if getElementData(source, "Mangueira_Mão") == false then -- Jogador precisa está com mangueira na mão bindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Aciona bindKey Da funçao pra remover mangueira outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara remover a Mangueira do Veiculo", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim function Mangueira_Veh (source) local Mangueira1 = getElementData(source, "Pos_Mangueira(1)") or 0 -- Pos Mangueira (Jogador) X local Mangueira2 = getElementData(source, "Pos_Mangueira(2)") or 0 -- Pos Mangueira (Jogador) Y local Mangueira3 = getElementData(source, "Pos_Mangueira(3)") or 0 -- Pos Mangueira (Jogador) Z local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo for i, Marker in ipairs (MarkersTable) do -- Verifica Todos os Markers Criados if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Veiculo precisa está aguardando gasolina if getElementData(veiculos, "Mangueira_Veiculo") == false then -- Veiculo não pode está com Mangueira. if isElementWithinMarker(source, TampaCombustivel[veiculos]) then -- Jogador precisa está na tampa de combustivel do veiculo if isElementWithinMarker(veiculos, Marker) then -- Jogador precisa está na tampa de combustivel do veiculo if getElementData(source, "Mangueira_Mão") == true then -- Jogador precisa está com mangueira em mãos if Mangueira[source] and isElement( Mangueira[source] ) then destroyElement ( Mangueira[source] ) Mangueira[source] = nil end -- Destroi mangueira do jogador local px, py, pz = getElementPosition(veiculos) -- Verifica posição do veiculo local Combustivel = tonumber(getElementData(veiculos, "DNL:Combustivel")) or 0 -- Verifica a quantia de Combustivel do veiculo TableMangueira_Veh[veiculos] = createObject (14463, px, py, pz) -- Cria mangueira attachElements (TableMangueira_Veh[veiculos], veiculos, 1.2, -2, 0 +0.2) -- Gruda Mangueira Veh setElementData(TableMangueira_Veh[veiculos], "ID_Mangueira", i) -- seta um ID Nas mangueira local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[veiculos], "ID_Mangueira")) or 0 -- Verifica o ID Da mangueira do veiculo local mx, my, mz = getElementPosition(TableMangueira_Veh[veiculos]) -- Verifica posição DA Mangueira do veiculo setElementData(source, "Mangueira_Mão", false) -- Remove mangueira do jogador setElementData(TableMangueira_Veh[veiculos], "Mangueira:Gasolina", true) -- Aciona a mangueira do veiculo como ocupada setElementData(veiculos, "ID_Mangueira", ID_Mangueira) -- Adiciona o ID Da mangueira no ID Do veiculo setElementData(veiculos, "Pos_Mangueira(1)", mx) -- Pos Mangueira (Veiculo) X setElementData(veiculos, "Pos_Mangueira(2)", my) -- Pos Mangueira (Veiculo) Y setElementData(veiculos, "Pos_Mangueira(3)", mz) -- Pos Mangueira (Veiculo) Z setElementData(veiculos, "Pos_MangueiraPlayer(1)", Mangueira1) -- Pos Mangueira (Jogador) X setElementData(veiculos, "Pos_MangueiraPlayer(2)", Mangueira2) -- Pos Mangueira (Jogador) Y setElementData(veiculos, "Pos_MangueiraPlayer(3)", Mangueira3) -- Pos Mangueira (Jogador) Z setElementData(veiculos, "Mangueira_Veiculo", true) -- Aciona veiculo com a mangueira setElementData(BomberTable[veiculos], "Mangueira_Acionada", true) -- Aciona a bomba como ocupada outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffSeu veiculo está na Bomba #00ff00"..ID_Mangueira.." #ffffffFique Ciente disso quando for abastecer.", source, 255, 255, 255, true ) unbindKey (source, "k", "down", Mangueira_Veh ) -- Remove bind if Combustivel >= 90 then -- Verifica se o combustivel do veiculo é Maior ou igual a 90. setElementData(TableMangueira_Veh[veiculos], "Combustivel_Cheio", true) -- Se for igual ou maior que 90 então Aciona o combustivel como cheio setElementData(veiculos, "Combustivel_Cheio", true) -- Se for igual ou maior que 90 então Aciona o combustivel como cheio outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffEsse Veiculo não precisa ser abastecido, Por favor retire a mangueira.", source, 255, 255, 255, true ) else -- se for menor que 90 então... setElementData(TableMangueira_Veh[veiculos], "Combustivel_Cheio", false) -- Se for igual ou maior que 90 então Aciona o combustivel como cheio setElementData(veiculos, "Combustivel_Cheio", false) -- Então aciona o combustivel como vazio end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><><><>< >< Remover mangueira veiculo >< ><><><><><><><><><><><><><><><><><><><><>< --]] function Remover_Mangueira_Veh (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Veiculo deve esta aguardando pra abastecer if isElementWithinMarker(source, TampaCombustivel[veiculos]) then -- Verifica se o jogado está na tampa de combustivel if getElementData(veiculos, "Mangueira_Veiculo") == true then -- Mangueira deve está no veiculo if getElementData(source, "Mangueira_Mão") == false then -- Jogador não pode ta com mangueira em mãos if getElementData(veiculos, "Abastecendo") == false then -- O Veiculo não pode está sendo abastecido if TableMangueira_Veh[veiculos] and isElement( TableMangueira_Veh[veiculos] ) then destroyElement ( TableMangueira_Veh[veiculos] ) TableMangueira_Veh[veiculos] = nil end -- Destroi mangueira do veiculo setElementData(veiculos, "Pos_Mangueira(1)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_Mangueira(2)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_Mangueira(3)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_MangueiraPlayer(1)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_MangueiraPlayer(2)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_MangueiraPlayer(3)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Mangueira_Veiculo", false) -- Aciona o veiculo como sem mangueira setElementData(BomberTable[veiculos], "Mangueira_Acionada", false) -- Aciona A Mangueira como vazia unbindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Remove bindKey else -- se o veiculo estiver sendo abastecido envia a seguinte mensagem unbindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Remove bindKey outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffO Veiculo está sendo abastecido, Aguarde terminar.", source, 255,255,255,true) end -- Fim else -- se o jogador estiver com mangueira envia a seguinte mensagem unbindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Remove bindKey outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffVocê está com mangueira nas mãos!", source, 255,255,255,true) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><><><>< >< Veiculo sendo abastecido >< ><><><><><><><><><><><><><><><><><><><><>< --]] function Abastecendo_Veiculo (source, Nome_Veh, Id_Veh, getQuantia) for _, vehicle in ipairs( getElementsByType ( "vehicle" ) ) do -- Verifica todos os veiculos do servidor local VehicleID = tonumber(Id_Veh) -- Pega o ID do veiculo if(VehicleID) then -- Verifica se o id Do veiculo é valido local Vehicle2 = getVehicleByID(VehicleID) -- Verifica o id do veiculo if(Vehicle2) then -- Verificação for i, Marker in ipairs (MarkersTable) do -- Verifica todos os postos do servidor if getElementData(vehicle, "Aguardando_Gasolina") == true then -- Verifica se o carro está aguardando pra ser abastecido if isElementWithinMarker(vehicle, Marker) then -- Verifica se o Veiculo Está dentro do Marker local ID_Mangueira = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 -- Verifica ID Da mangueira do veiculo local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 if tonumber(Id_Veh) == ID_Mangueira then -- Id do veiculo deve ter o mesmo Id da mangueira if getElementData(vehicle, "Mangueira_Veiculo") == true then -- Verifica se o veiculo está com mangueira if getElementData(source, "Mangueira_Mão") == false then -- O Jogador não pode esta com mangueira em suas mãos if getElementData(vehicle, "DNL:Combustivel") < 90 then -- Gasolina do veiculo deve ser menor que 90 if getElementData(vehicle, "Abastecendo") == false then -- Verifica se o veiculo já está sendo abastecido if getElementData(source, "Abastecendo") == false then -- Verifica se o veiculo já está sendo abastecido if getPlayerMoney ( source ) >= 5 then -- Verifica se o jogador tem dinheiro setElementData(vehicle, "Abastecendo", true) -- Adiciona o veiculo como abastecendo setElementData(source, "Abastecendo", true) -- Adiciona o jogador como abastecendo setElementData(vehicle, "DNL:Litros", getQuantia) -- Adiciona os litros que o jogador pois outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffVeiculo da Bomba #00ff00"..ID_Mangueira.." #ffffffestá sendo abastecido!", source, 255,255,255,true) Tempo[source] = setTimer ( function() -- Timer pra tudo abaixo acontecer setElementData(vehicle, "DNL:Combustivel", getElementData(vehicle, "DNL:Combustivel") +1) -- Adiciona 1 litro de gasolina a cada segundo setElementData(vehicle, "DNL:Litros", getElementData(vehicle, "DNL:Litros") -1) -- Remove um litro de gasolina que o jogador quis adicionar takePlayerMoney(source, 5) -- Remover $5 do jogador playSoundFrontEnd(source, 12 ) -- Som pra alertar o Jogador if getElementData(vehicle, "DNL:Combustivel") >= 100 then -- Verifica se o veiculo já tem 100 Litros if isTimer(Tempo[source]) then killTimer(Tempo[source]) end -- Para o tempo setElementData(vehicle, "DNL:Litros", 0) -- Seta os litros como 0 (Evitar Bugs) setElementData(vehicle, "DNL:Combustivel", 100) -- Seta gasolina como 100 (Evitar Bugs) setElementData(vehicle, "Abastecendo", false) -- Remove o modo abastecendo do veiculo setElementData(source, "Abastecendo", false) -- Remove o jogador do modo abastecendo setElementData(vehicle, "Combustivel_Cheio", true) -- Seta o veiculo como Tanque cheio setElementData(TableMangueira_Veh[vehicle], "Combustivel_Cheio", true) -- Seta o veiculo como Tanque cheio playSoundFrontEnd(source, 2 ) -- Som pra alertar o Jogador outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffO veiculo da bomba #00ff00"..ID_Mangueira.." #ffffffFoi abastecido completamente.", source, 255,255,255,true) elseif getPlayerMoney ( source ) < 5 then if isTimer(Tempo[source]) then killTimer(Tempo[source]) end -- Para o tempo setElementData(vehicle, "Abastecendo", false) -- Remove o modo abastecendo do veiculo setElementData(source, "Abastecendo", false) -- Remove o jogador do modo abastecendo setElementData(vehicle, "DNL:Litros", 0) -- Seta os litros como 0 (Evitar Bugs) playSoundFrontEnd(source, 8) -- Som pra alertar o Jogador outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffSeu dinheiro acabou e seu veiculo parou de ser abastecido.", source, 255,255,255,true) elseif getElementData(vehicle, "DNL:Litros") <= 0 then if isTimer(Tempo[source]) then killTimer(Tempo[source]) end -- Para o tempo setElementData(vehicle, "DNL:Litros", 0) -- Seta os litros como 0 (Evitar Bugs) setElementData(vehicle, "Abastecendo", false) -- Remove o modo abastecendo do veiculo setElementData(source, "Abastecendo", false) -- Remove o jogador do modo abastecendo playSoundFrontEnd(source, 10 ) -- Som pra alertar o Jogador outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffA Quantia de litro desejada já foi adicionada no veiculo.", source, 255,255,255,true) end -- Fim end, 1000, 0 ) -- Tempo Timer "1000" Modo timer "0" else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffSeu dinheiro acabou e não foi possivel terminar de abastecer.", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffVocê já está abastecendo um veiculo, Aguarde terminar", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffEsse veiculo já está sendo abastecido", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffEsse veiculo não precisa ser abastecido", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffVocê está com mangueira em mãos, Remova.", source, 255, 255, 255, true) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim addEvent("DNL:Abastecer_Veiculo", true) addEventHandler("DNL:Abastecer_Veiculo", root, Abastecendo_Veiculo) --[[ ><><><><><><><><><><><>< >< Ignora >< ><><><><><><><><><><><>< --]] function Contador_Combustivel () for _, players in ipairs( getElementsByType 'player' ) do -- Verifica Todos jogadores Online local Motorista = getPedOccupiedVehicleSeat ( players ) if Motorista == 0 then for _, veh in ipairs ( Veiculos ) do local Veiculo = getPedOccupiedVehicle ( players ) local ID_Veh = getElementModel ( Veiculo ) if ID_Veh == veh then local Combustivel = getElementData ( Veiculo, "DNL:Combustivel" ) or 0 if getVehicleEngineState ( Veiculo ) and Combustivel > 0 then VelocidadeX, VelocidadeY, VelocidadeZ = getElementVelocity ( Veiculo ) VelocidadeAtual = ( VelocidadeX ^ 2 + VelocidadeY ^ 2 + VelocidadeZ ^ 2 ) ^ ( 0.5 ) KMH = math.floor ( VelocidadeAtual * 180 ) if KMH == 0 then Combustivel_Seg = 0 elseif KMH > 0 then Combustivel_Seg = 0.1 end Combustivel = Combustivel - Combustivel_Seg end if Combustivel <= 0.50 then Combustivel = 0 setVehicleEngineState ( Veiculo, false ) end setElementData ( Veiculo, "DNL:Combustivel", Combustivel ) end end end end end setTimer ( Contador_Combustivel, 3000, 0 ) addEventHandler("onResourceStart", resourceRoot, function () for _, vehicle in ipairs( getElementsByType ( "vehicle" ) ) do for _, veh in ipairs ( Veiculos ) do local ID_Veh = getElementModel ( vehicle ) if ID_Veh == veh then local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 setElementData(vehicle, "DNL:Combustivel", Combustivel) setElementData(vehicle, "Aguardando_Gasolina", false) setElementData(vehicle, "Mangueira_Veiculo", false) if Combustivel == 0 or Combustivel == false then setElementData(vehicle, "DNL:Combustivel", 20) end end end end end) function Refresh_Lista_Posto1 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 1 or ID_Mangueira_ == 2 or ID_Mangueira_ == 3 or ID_Mangueira_ == 4 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto1_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto1(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto1(Veiculos)", root, Refresh_Lista_Posto1) function Refresh_Lista_Posto2 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 5 or ID_Mangueira_ == 6 or ID_Mangueira_ == 7 or ID_Mangueira_ == 8 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto2_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto2(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto2(Veiculos)", root, Refresh_Lista_Posto2) function Refresh_Lista_Posto3 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 9 or ID_Mangueira_ == 10 or ID_Mangueira_ == 11 or ID_Mangueira_ == 12 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto3_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto3(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto3(Veiculos)", root, Refresh_Lista_Posto3) function Refresh_Lista_Posto4 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 13 or ID_Mangueira_ == 14 or ID_Mangueira_ == 15 or ID_Mangueira_ == 16 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto4_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto4(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto4(Veiculos)", root, Refresh_Lista_Posto4) function Refresh_Lista_Posto5 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 17 or ID_Mangueira_ == 18 or ID_Mangueira_ == 19 or ID_Mangueira_ == 20 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto5_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto5(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto5(Veiculos)", root, Refresh_Lista_Posto5) function Refresh_Lista_Posto6 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 21 or ID_Mangueira_ == 22 or ID_Mangueira_ == 23 or ID_Mangueira_ == 24 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto6_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto6(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto6(Veiculos)", root, Refresh_Lista_Posto6) function Refresh_Lista_Posto7 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 25 or ID_Mangueira_ == 26 or ID_Mangueira_ == 27 or ID_Mangueira_ == 28 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto7_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto7(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto7(Veiculos)", root, Refresh_Lista_Posto7) function Refresh_Lista_Posto8 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 29 or ID_Mangueira_ == 30 or ID_Mangueira_ == 31 or ID_Mangueira_ == 32 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto8_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto8(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto8(Veiculos)", root, Refresh_Lista_Posto8) function Quit_Server ( quitType ) if getElementData(source, "Mangueira_Mão") == true then if Mangueira[source] and isElement( Mangueira[source] ) then destroyElement ( Mangueira[source] ) Mangueira[source] = nil end end end addEventHandler ( "onPlayerQuit", root, Quit_Server ) --isto é a parte server side da gasolina local sx,sy = guiGetScreenSize() function speed() local veh = getPedOccupiedVehicle(localPlayer) local fuel = math.floor(getElementData(veh,"fuel") or 11) local hpcar = math.floor(getElementHealth(veh) /10) local getspeed = math.floor(getElementSpeed(veh,"km/h")) if not veh then return end dxDrawImage(sx-310,sy-193,307,177,"files/fon_speed.png") dxDrawImage(sx-235,sy-90,26,26,"files/light_r_off.png") dxDrawImage(sx-300,sy-90,26,26,"files/light_l_off.png") if(getElementData(veh,"rightflash")) then if (getTickCount() % 1400 >= 600) then dxDrawImage(sx-235,sy-90,26,26,"files/light_r_on.png") end end if(getElementData(veh,"leftflash")) then if (getTickCount() % 1400 >= 600) then dxDrawImage(sx-300,sy-90,26,26,"files/light_l_on.png") end end if(getElementData(veh, "allflash")) then if(getTickCount() % 1400 >= 600) then dxDrawImage(sx-235,sy-90,26,26,"files/light_r_on.png") dxDrawImage(sx-300,sy-90,26,26,"files/light_l_on.png") end end if(getVehicleEngineState(veh) == true) then dxDrawImage(sx-125,sy-49,26,26,"files/engine_on.png") elseif(getVehicleEngineState(veh) == false) then dxDrawImage(sx-125,sy-49,26,26,"files/engine_off.png") end if(getVehicleOverrideLights(veh) == 2) then dxDrawImage(sx-180,sy-49,26,26,"files/lights_on.png") else dxDrawImage(sx-180,sy-49,26,26,"files/lights_off.png") end if(isVehicleLocked(veh) == true) then dxDrawImage(sx-70,sy-49,26,26,"files/door_close.png") elseif(isVehicleLocked(veh) == false) then dxDrawImage(sx-70,sy-49,26,26,"files/door_open.png") end if(getspeed >= 100) then dxDrawText(string.format("%s",getspeed),sx-283,sy-145,sx-315,70,tocolor(255,255,255,255),2.5,"default-bold") elseif(getspeed >= 10) then dxDrawText(string.format("%s",getspeed),sx-273,sy-145,sx-315,70,tocolor(255,255,255,255),2.5,"default-bold") elseif(getspeed <= 9) then dxDrawText(string.format("%s",getspeed),sx-265,sy-145,sx-315,70,tocolor(255,255,255,255),2.5,"default-bold") end if(fuel >= 100) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(225, 150, 48, 255)) dxDrawText(string.format("%s",fuel),sx-75,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel <= 15) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",fuel),sx-60,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel <= 25) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(218,207, 96, 255)) dxDrawText(string.format("%s",fuel),sx-60,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel <= 9) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",fuel),sx-50,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel >= 10) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(225, 150, 48, 255)) dxDrawText(string.format("%s",fuel),sx-60,sy-173,15,15,tocolor(255,255,255,255),1.8) end if(hpcar >= 100) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(210, 255, 0, 255)) dxDrawText(string.format("%s",hpcar),sx-80,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar <= 50) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",hpcar),sx-70,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar <= 65) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(218,207, 96, 255)) dxDrawText(string.format("%s",hpcar),sx-70,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar <= 9) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",hpcar),sx-60,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar >= 10) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(210, 255, 0, 255)) dxDrawText(string.format("%s",hpcar),sx-70,sy-114,15,15,tocolor(255,255,255,255),1.8) end end addEventHandler("onClientRender",root,speed) function getElementSpeed(theElement, unit) assert(isElement(theElement), "Bad argument 1 @ getElementSpeed (element expected, got " .. type(theElement) .. ")") local elementType = getElementType(theElement) assert(elementType == "player" or elementType == "ped" or elementType == "object" or elementType == "vehicle" or elementType == "projectile", "Invalid element type @ getElementSpeed (player/ped/object/vehicle/projectile expected, got " .. elementType .. ")") assert((unit == nil or type(unit) == "string" or type(unit) == "number") and (unit == nil or (tonumber(unit) and (tonumber(unit) == 0 or tonumber(unit) == 1 or tonumber(unit) == 2)) or unit == "m/s" or unit == "km/h" or unit == "mph"), "Bad argument 2 @ getElementSpeed (invalid speed unit)") unit = unit == nil and 0 or ((not tonumber(unit)) and unit or tonumber(unit)) local mult = (unit == 0 or unit == "m/s") and 50 or ((unit == 1 or unit == "km/h") and 180 or 111.84681456) return (Vector3(getElementVelocity(theElement)) * mult).length end --- isto é do velocimetro Link to comment
#DeltaSCR Posted July 2, 2019 Share Posted July 2, 2019 Não cara, assim não, lá onde eu te falei - <> Link to comment
Barradas Posted July 2, 2019 Author Share Posted July 2, 2019 5 minutes ago, #DeltaSCR said: Não cara, assim não, lá onde eu te falei - <> Eu não tenho esse símbolo. 24 minutes ago, #DeltaSCR said: @Barradas, poste o código diretamente aqui no fórum, fica bem mais fácil de te ajudarmos Como que faço? Link to comment
Barradas Posted July 2, 2019 Author Share Posted July 2, 2019 47 minutes ago, #DeltaSCR said: E copio tudo aquilo outra vez? Link to comment
#DeltaSCR Posted July 2, 2019 Share Posted July 2, 2019 Just now, Barradas said: E copio tudo aquilo outra vez? Sim, você vai copiar o código e colar onde eu te falei. Link to comment
Barradas Posted July 2, 2019 Author Share Posted July 2, 2019 MarkersTable = {} BomberTable = {} Mangueira = {} TampaCombustivel = {} TableMangueira_Veh = {} Tempo = {} Areas = {} function getVehicleByID(id) v = false for i, vehicle in ipairs (getElementsByType("vehicle")) do if getElementData(vehicle, "ID_Mangueira") == id then v = vehicle break end end return v end --[[ ><><><><><><><><><><><><><><><>< >< Anti_Bugs Area >< ><><><><><><><><><><><><><><><>< --]] function HitPlayerArea (source) for i, areacol in ipairs (Areas) do local ID_Area = getElementData(areacol, "ID_Area") or 0 if getElementData(areacol, "Area_Protetora") == true then if isElementWithinColShape(source, areacol) then setElementData(source, "ID_Area", ID_Area) end end end end function Block_Area (source) for i, areacol in ipairs (Areas) do local ID_Area = getElementData(areacol, "ID_Area") or 0 if getElementData(areacol, "Area_Protetora") == true then if getElementData(source, "ID_Area") == ID_Area then local Kick1 = getElementData(areacol, "Pos_Kick(1)") or 0 -- Pos Kick X local Kick2 = getElementData(areacol, "Pos_Kick(2)") or 0 -- Pos Kick Y local Kick3 = getElementData(areacol, "Pos_Kick(3)") or 0 -- Pos Kick Z if getElementData(source, "Mangueira_Mão") == true then outputChatBox ( "#00ff00✘ #ffffffINFO #00ff00✘➺ #ffffffVocê não pode sair do posto Com mangueira em mãos.", source, 255,255,255, true) setElementPosition(source, Kick1, Kick2, Kick3) else setElementData(source, "ID_Area", false) end end end end end --[[ ><><><><><><><><><><><><><><><><><>< >< Veiculo Hit Marker >< ><><><><><><><><><><><><><><><><><>< --]] function Vehicle_HitM (theVehicle) if getElementType(theVehicle) == "vehicle" then -- O Elemento a Colidir é um veiculo for i, Marker in ipairs (MarkersTable) do -- Loop Dos Markes De Gasolina if getElementData(Marker, "Posto:Gasolina") == true then -- Verifica se o Marker é um Posto if isElementWithinMarker(theVehicle, Marker) then -- Verifica se o Veiculo está dentro do Marker if getElementData(Marker, "Bomba") == false then -- verifica se não tem veiculo na bomba for _, players in ipairs( getElementsByType 'player' ) do -- Verifica Todos jogadores Online local Vehicle = getPedOccupiedVehicle ( players ) -- Verifica o Veiculo que os Jogadores estão Ocupando if ( Vehicle ) then -- Verificação for _, veh in ipairs ( Veiculos ) do local ID_Veh = getElementModel ( Vehicle ) if ID_Veh == veh then if getPedOccupiedVehicleSeat ( players ) == 0 then -- Verifica se o Jogador é Motorista bindKey (players, "k", "down", Perm_Abastercer ) -- Da a permissão pro jogador Seguir em frente com o abastecimento outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte a Letra #00ff00'K' #ffffffPara Que Possa Abastecer Seu Veiculo.", players, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><>< >< Veiculo Leave Marker >< ><><><><><><><><><><><><><><><><><><>< --]] function Vehicle_LeaveM (theVehicle) if getElementType(theVehicle) == "vehicle" then -- O Elemento a Colidir deve ser Veiculo for _, Bombas in ipairs( getElementsByType 'marker' ) do -- Verifica todos os marker do jogo if getElementData(Bombas, "Posto:Gasolina") == true then -- Verifica se o marker e um posto de gasolina if getElementData(theVehicle, "Decidir") == "Abastecer?" then -- Verifica se o veiculo está em modo decisão for _, players in ipairs( getElementsByType 'player' ) do -- Todos jogadores online local Vehicle = getPedOccupiedVehicle ( players ) -- Verifica veiculo de todos os jogadores if ( Vehicle ) then -- Verificação if getElementData(Vehicle, "Decidir") == "Abastecer?" then -- Verifica se o Carro do Jogador está em modo decidir if getPedOccupiedVehicleSeat ( players ) == 0 then -- Verifica se é o motorista unbindKey (players, "k", "down", Perm_Abastercer ) -- Remove a bind de abastecer unbindKey (players, "k", "down", Sair_Veh ) -- Remove bind sair end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim for ia, va in ipairs (Areas_Protetoras) do Areas[ia] = createColRectangle (va[1], va[2], va[3], va[4]) setElementData(Areas[ia], "Area_Protetora", true) setElementData(Areas[ia], "Pos_Kick(1)", va[5]) setElementData(Areas[ia], "Pos_Kick(2)", va[6]) setElementData(Areas[ia], "Pos_Kick(3)", va[7]) setElementData(Areas[ia], "ID_Area", ia) addEventHandler("onColShapeHit", Areas[ia], HitPlayerArea) addEventHandler ( "onColShapeLeave", Areas[ia], Block_Area ) end for i, v in ipairs (Bombas_Combustivel) do MarkersTable[i] = createMarker ( v[1], v[2], v[3] -1, "cylinder", 1.7, 0, 255, 0, 0 ) setElementData(MarkersTable[i], "Posto:Gasolina", true) setElementData(MarkersTable[i], "Pos_Bomber(1)", v[4]) setElementData(MarkersTable[i], "Pos_Bomber(2)", v[5]) setElementData(MarkersTable[i], "Pos_Bomber(3)", v[6]) setElementData(MarkersTable[i], "Pos_Car(1)", v[7]) setElementData(MarkersTable[i], "Pos_Car(2)", v[8]) setElementData(MarkersTable[i], "Pos_Car(3)", v[9]) setElementData(MarkersTable[i], "Rot_Car", v[10]) setElementData(MarkersTable[i], "Pos_Mangueira(1)", v[11]) setElementData(MarkersTable[i], "Pos_Mangueira(2)", v[12]) setElementData(MarkersTable[i], "Pos_Mangueira(3)", v[13]) setElementData(MarkersTable[i], "Pos_Tampa(1)", v[14]) setElementData(MarkersTable[i], "Pos_Tampa(2)", v[15]) setElementData(MarkersTable[i], "Pos_Tampa(3)", v[16]) setElementData(MarkersTable[i], "ID_Bomba", i) addEventHandler("onMarkerHit", MarkersTable[i], Vehicle_HitM) addEventHandler("onMarkerLeave", MarkersTable[i], Vehicle_LeaveM) end --[[ ><><><><><><><><><><><><><><><><><><> >< Permissão Abastecer >< ><><><><><><><><><><><><><><><><><><> --]] function Perm_Abastercer (source) for i, Marker in ipairs (MarkersTable) do -- Verifica Todos os Markers Criados local Bomber1 = getElementData(Marker, "Pos_Bomber(1)") or 0 -- Pos Bomba X local Bomber2 = getElementData(Marker, "Pos_Bomber(2)") or 0 -- Pos Bomba Y local Bomber3 = getElementData(Marker, "Pos_Bomber(3)") or 0 -- Pos Bomba Z local Pos_Car1 = getElementData(Marker, "Pos_Car(1)") or 0 -- Pos Car X local Pos_Car2 = getElementData(Marker, "Pos_Car(2)") or 0 -- Pos Car Y local Pos_Car3 = getElementData(Marker, "Pos_Car(3)") or 0 -- Pos Car Z local Rot_Car = getElementData(Marker, "Rot_Car") or 0 -- Root Car local Mangueira1 = getElementData(Marker, "Pos_Mangueira(1)") or 0 -- Pos Mangueira X local Mangueira2 = getElementData(Marker, "Pos_Mangueira(2)") or 0 -- Pos Mangueira Y local Mangueira3 = getElementData(Marker, "Pos_Mangueira(3)") or 0 -- Pos Mangueira Z local Pos_Tampa1 = getElementData(Marker, "Pos_Tampa(1)") or 0 -- Pos Mangueira Z local Pos_Tampa2 = getElementData(Marker, "Pos_Tampa(2)") or 0 -- Pos Mangueira Z local Pos_Tampa3 = getElementData(Marker, "Pos_Tampa(3)") or 0 -- Pos Mangueira Z local Vehicle = getPedOccupiedVehicle ( source ) -- Verifica Veiculo do Jogador if ( Vehicle ) then -- Verificação for _, veh in ipairs ( Veiculos ) do local ID_Veh = getElementModel ( Vehicle ) if ID_Veh == veh then if isElementWithinMarker(Vehicle, Marker) then -- Verifica se o Veiculo Está dentro do Marker if BomberTable[Vehicle] and isElement( BomberTable[Vehicle] ) then destroyElement ( BomberTable[Vehicle] ) BomberTable[Vehicle] = nil end -- Destroi bombar veiculo if TampaCombustivel[Vehicle] and isElement( TampaCombustivel[Vehicle] ) then destroyElement ( TampaCombustivel[Vehicle] ) TampaCombustivel[Vehicle] = nil end -- Destroi tampa veiculo BomberTable[Vehicle] = createMarker ( Bomber1, Bomber2, Bomber3 -1, "cylinder", 1.1, 0, 255, 0, 0 ) -- Cria Bomba pra Abastecer addEventHandler("onMarkerHit", BomberTable[Vehicle], Confirmar_Abastecimento) -- Adiciona Evento nos Marker de Abastecimento setElementData(Marker, "Bomba", "Ocupada") -- Seta a Bomba do Posto "Ocupada" setElementData(BomberTable[Vehicle], "Bomba:Gasolina", true) -- Dar valor A Bomba de abastecimento setElementData(BomberTable[Vehicle], "Pos_Mangueira(1)", Mangueira1) -- Seta Posição Line (X) setElementData(BomberTable[Vehicle], "Pos_Mangueira(2)", Mangueira2) -- Seta Posição Line (Y) setElementData(BomberTable[Vehicle], "Pos_Mangueira(3)", Mangueira3) -- Seta Posição Line (Z) setElementFrozen(Vehicle, true) -- Trava o Veiculo setElementPosition(Vehicle, Pos_Car1, Pos_Car2, Pos_Car3 -0.2) -- Seta Posição~ do Veiculo setElementRotation(Vehicle, 0, 0, Rot_Car) -- Setar Rotação do Veiculo setElementData(Vehicle, "Aguardando_Gasolina", true) -- Seta Veiculo Aguardando Abastecimento unbindKey (source, "k", "down", Perm_Abastercer ) -- Remove a bind de abastecer bindKey (source, "k", "down", Sair_Veh ) -- Adiciona bind sair TampaCombustivel[Vehicle] = createMarker ( Pos_Tampa1, Pos_Tampa2, Pos_Tampa3, "corona", 1.3, 0, 255, 0, 0 ) -- Cria Bomba pra Abastecer setElementData(TampaCombustivel[Vehicle], "Tanque_Fuel", true) -- Seta Tanque_Fuel no Veiculo addEventHandler("onMarkerHit", TampaCombustivel[Vehicle], Mensagem_Veh) -- Adiciona Evento nos Marker de Abastecimento outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffSaia do Veiculo e Vá Até a Bomba de Combustivel.", source, 255, 255, 255, true ) outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara que saia com seu veiculo.", source, 255, 255, 255, true ) end end end end end end function Sair_Veh (source) for i, v in ipairs (MarkersTable) do -- Faz um loop com todos os marker na tabela MarkersTable local Vehicle = getPedOccupiedVehicle ( source ) -- Verifica o veiculo que o jogador está conduzindo if ( Vehicle ) then -- Verificação if isElementWithinMarker(Vehicle, v) then -- Verifica se o veiculo está em algum posto if (BomberTable[Vehicle]) and isElement(BomberTable[Vehicle]) then destroyElement(BomberTable[Vehicle]) end -- Destroi bomba if TampaCombustivel[Vehicle] and isElement( TampaCombustivel[Vehicle] ) then destroyElement ( TampaCombustivel[Vehicle] ) TampaCombustivel[Vehicle] = nil end -- Destroi tampa de adicionar gasolina setElementFrozen(Vehicle, false) -- Destrava o veiculo setElementData(v, "Bomba", false) -- Adiciona a Bomba como desocupada unbindKey (source, "k", "down", Sair_Veh ) -- Remove bind setElementData(Vehicle, "Aguardando_Gasolina", false) -- Remove o carro como aguardando gasolina setElementData(Vehicle, "Mangueira_Veiculo", false) -- Remove a Mangueira do Veiculo setElementData(Vehicle, "Abastecendo", false) -- Adiciona o veiculo como abastecendo end -- Fim end -- Fim end -- Fim end -- Fim function Enter_Vehicle (source) local Vehicle = getPedOccupiedVehicle ( source ) -- Verifica o veiculo que o jogador está conduzindo if ( Vehicle ) then -- Verificação if getElementData(Vehicle, "Aguardando_Gasolina") == true then -- Veiculo precisa está aguardando gasolina if getElementData(Vehicle, "Mangueira_Veiculo") == false then -- O veiculo não pode está com mangueira acionada nele bindKey (source, "k", "down", Sair_Veh ) -- adiciona bindkey pra sair com veiiculo outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara que saia com seu veiculo.", source, 255, 255, 255, true ) else -- Ou se o veiculo estiver com mangueira envia a mensagem abaixo outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffPara sair com o veiculo remova a mangueira dele.", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim addEventHandler ( "onVehicleEnter", getRootElement(), Enter_Vehicle ) function Exit_Vehicle (source) local Veiculo = getPedOccupiedVehicle(source) -- Verifica o veiculo que o jogador está conduzindo if getElementData(Veiculo, "Aguardando_Gasolina") == true then -- O Veiculo precisa está aguardando a gasolina unbindKey (source, "k", "down", Perm_Abastercer ) -- Remove uso da função Abastecer veiculo unbindKey (source, "k", "down", Sair_Veh ) -- Remove uso da função sair com veiculo end -- Fim end -- Fim addEventHandler ( "onVehicleStartExit", getRootElement(), Exit_Vehicle ) --[[ ><><><><><><><><><><><><><><><><><>< >< Mangueira Veiculo >< ><><><><><><><><><><><><><><><><><>< --]] function Confirmar_Abastecimento (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do servidor for _, veiculos in ipairs( vehicles ) do -- Loop de todos os veiculos if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Os veiculos precisa estar aguardando gasolina if isElementWithinMarker(source, BomberTable[veiculos]) then -- O Jogador precisa está na bomba de gasolina. if getElementData(source, "Mangueira_Mão") == false then -- O Jogador Precisa está sem mangueira if getElementData(BomberTable[veiculos], "Mangueira_Acionada") == false then -- A bomba deve esta desocupada bindKey (source, "k", "down", Abastecer_Veh ) -- Adiciona BindKey pra abastecer outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara que Pegue a Mangueira", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><>< >< Começar Abastecimento >< ><><><><><><><><><><><><><><><><><><>< --]] function Abastecer_Veh (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Os veiculos precisa está aguardando gasolina if isElementWithinMarker(source, BomberTable[veiculos]) then -- o Jogador precisa está dentro da bomba de gasolina if getElementData(source, "Mangueira_Mão") == false then -- Jogador não pode está com mangueira na mão if getElementData(BomberTable[veiculos], "Mangueira_Acionada") == false then -- A bomba deve estar desocupada local Mangueira1 = getElementData(BomberTable[veiculos], "Pos_Mangueira(1)") or 0 -- Pos Mangueira X local Mangueira2 = getElementData(BomberTable[veiculos], "Pos_Mangueira(2)") or 0 -- Pos Mangueira Y local Mangueira3 = getElementData(BomberTable[veiculos], "Pos_Mangueira(3)") or 0 -- Pos Mangueira Z local px, py, pz = getElementPosition(source) -- Verifica posição do jogador Mangueira[source] = createObject (14463, px, py, pz) -- Cria uma mangueira exports.bone_attach:attachElementToBone (Mangueira[source], source, 12, 0, 0, 0.06, -180, 0, 0) -- Gruda a mangueira na mão do jogador setElementData(source, "Mangueira_Mão", true) -- Aciona mangueira na mão dele. setElementData(source, "Pos_Mangueira(1)", Mangueira1) -- Posição X pra criar a line3d setElementData(source, "Pos_Mangueira(2)", Mangueira2) -- Posição Y pra criar a line3d setElementData(source, "Pos_Mangueira(3)", Mangueira3) -- Posição Z pra criar a line3d unbindKey (source, "k", "down", Abastecer_Veh ) -- Remove Bind De abastecer outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAdicione a Mangueira no Veiculo.", source, 255, 255, 255, true ) else -- Caso a bomba de gasolina estiver sendo usada, Então envia a seguinte mensagem outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffA Bomba já está sendo usada no veiculo", source, 255, 255, 255, true ) end -- Fim else -- Caso o jogador já estiver com uma mangueira envia a seguinte mensagem outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffVocê já tem mangueira em suas mãos", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><><><><><>< >< Acionar mangueira no Veiculo >< ><><><><><><><><><><><><><><><><><><><><><><>< --]] function Mensagem_Veh (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo if getElementData(veiculos, "Aguardando_Gasolina") == true then -- o Veiculo precisa está aguardando pra abastecer if isElementWithinMarker(source, TampaCombustivel[veiculos]) then -- Jogador precisa está na tampa de combustivel if getElementData(veiculos, "Mangueira_Veiculo") == false then -- o Veiculo não pode está com mangueira if getElementData(source, "Mangueira_Mão") == true then -- Jogador precisa está com mangueira na mão bindKey (source, "k", "down", Mangueira_Veh ) -- Adiciona Bindkey pra por mangueira no veiculo. outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara colocar a Mangueira no Veiculo", source, 255, 255, 255, true ) end -- Fim else -- Se caso o veiculo já estiver com mangueira então Aciona as linhas abaixo if getElementData(source, "Mangueira_Mão") == false then -- Jogador precisa está com mangueira na mão bindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Aciona bindKey Da funçao pra remover mangueira outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffAperte #00ff00'K' #ffffffPara remover a Mangueira do Veiculo", source, 255, 255, 255, true ) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim function Mangueira_Veh (source) local Mangueira1 = getElementData(source, "Pos_Mangueira(1)") or 0 -- Pos Mangueira (Jogador) X local Mangueira2 = getElementData(source, "Pos_Mangueira(2)") or 0 -- Pos Mangueira (Jogador) Y local Mangueira3 = getElementData(source, "Pos_Mangueira(3)") or 0 -- Pos Mangueira (Jogador) Z local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo for i, Marker in ipairs (MarkersTable) do -- Verifica Todos os Markers Criados if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Veiculo precisa está aguardando gasolina if getElementData(veiculos, "Mangueira_Veiculo") == false then -- Veiculo não pode está com Mangueira. if isElementWithinMarker(source, TampaCombustivel[veiculos]) then -- Jogador precisa está na tampa de combustivel do veiculo if isElementWithinMarker(veiculos, Marker) then -- Jogador precisa está na tampa de combustivel do veiculo if getElementData(source, "Mangueira_Mão") == true then -- Jogador precisa está com mangueira em mãos if Mangueira[source] and isElement( Mangueira[source] ) then destroyElement ( Mangueira[source] ) Mangueira[source] = nil end -- Destroi mangueira do jogador local px, py, pz = getElementPosition(veiculos) -- Verifica posição do veiculo local Combustivel = tonumber(getElementData(veiculos, "DNL:Combustivel")) or 0 -- Verifica a quantia de Combustivel do veiculo TableMangueira_Veh[veiculos] = createObject (14463, px, py, pz) -- Cria mangueira attachElements (TableMangueira_Veh[veiculos], veiculos, 1.2, -2, 0 +0.2) -- Gruda Mangueira Veh setElementData(TableMangueira_Veh[veiculos], "ID_Mangueira", i) -- seta um ID Nas mangueira local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[veiculos], "ID_Mangueira")) or 0 -- Verifica o ID Da mangueira do veiculo local mx, my, mz = getElementPosition(TableMangueira_Veh[veiculos]) -- Verifica posição DA Mangueira do veiculo setElementData(source, "Mangueira_Mão", false) -- Remove mangueira do jogador setElementData(TableMangueira_Veh[veiculos], "Mangueira:Gasolina", true) -- Aciona a mangueira do veiculo como ocupada setElementData(veiculos, "ID_Mangueira", ID_Mangueira) -- Adiciona o ID Da mangueira no ID Do veiculo setElementData(veiculos, "Pos_Mangueira(1)", mx) -- Pos Mangueira (Veiculo) X setElementData(veiculos, "Pos_Mangueira(2)", my) -- Pos Mangueira (Veiculo) Y setElementData(veiculos, "Pos_Mangueira(3)", mz) -- Pos Mangueira (Veiculo) Z setElementData(veiculos, "Pos_MangueiraPlayer(1)", Mangueira1) -- Pos Mangueira (Jogador) X setElementData(veiculos, "Pos_MangueiraPlayer(2)", Mangueira2) -- Pos Mangueira (Jogador) Y setElementData(veiculos, "Pos_MangueiraPlayer(3)", Mangueira3) -- Pos Mangueira (Jogador) Z setElementData(veiculos, "Mangueira_Veiculo", true) -- Aciona veiculo com a mangueira setElementData(BomberTable[veiculos], "Mangueira_Acionada", true) -- Aciona a bomba como ocupada outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffSeu veiculo está na Bomba #00ff00"..ID_Mangueira.." #ffffffFique Ciente disso quando for abastecer.", source, 255, 255, 255, true ) unbindKey (source, "k", "down", Mangueira_Veh ) -- Remove bind if Combustivel >= 90 then -- Verifica se o combustivel do veiculo é Maior ou igual a 90. setElementData(TableMangueira_Veh[veiculos], "Combustivel_Cheio", true) -- Se for igual ou maior que 90 então Aciona o combustivel como cheio setElementData(veiculos, "Combustivel_Cheio", true) -- Se for igual ou maior que 90 então Aciona o combustivel como cheio outputChatBox ( "#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffEsse Veiculo não precisa ser abastecido, Por favor retire a mangueira.", source, 255, 255, 255, true ) else -- se for menor que 90 então... setElementData(TableMangueira_Veh[veiculos], "Combustivel_Cheio", false) -- Se for igual ou maior que 90 então Aciona o combustivel como cheio setElementData(veiculos, "Combustivel_Cheio", false) -- Então aciona o combustivel como vazio end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><><><>< >< Remover mangueira veiculo >< ><><><><><><><><><><><><><><><><><><><><>< --]] function Remover_Mangueira_Veh (source) local vehicles = getElementsByType ( "vehicle" ) -- Verifica todos os veiculos do jogo for _, veiculos in ipairs( vehicles ) do -- Faz um loop com todos os veiculos do jogo if getElementData(veiculos, "Aguardando_Gasolina") == true then -- Veiculo deve esta aguardando pra abastecer if isElementWithinMarker(source, TampaCombustivel[veiculos]) then -- Verifica se o jogado está na tampa de combustivel if getElementData(veiculos, "Mangueira_Veiculo") == true then -- Mangueira deve está no veiculo if getElementData(source, "Mangueira_Mão") == false then -- Jogador não pode ta com mangueira em mãos if getElementData(veiculos, "Abastecendo") == false then -- O Veiculo não pode está sendo abastecido if TableMangueira_Veh[veiculos] and isElement( TableMangueira_Veh[veiculos] ) then destroyElement ( TableMangueira_Veh[veiculos] ) TableMangueira_Veh[veiculos] = nil end -- Destroi mangueira do veiculo setElementData(veiculos, "Pos_Mangueira(1)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_Mangueira(2)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_Mangueira(3)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_MangueiraPlayer(1)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_MangueiraPlayer(2)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Pos_MangueiraPlayer(3)", 0) -- Seta posição da mangueira 0 setElementData(veiculos, "Mangueira_Veiculo", false) -- Aciona o veiculo como sem mangueira setElementData(BomberTable[veiculos], "Mangueira_Acionada", false) -- Aciona A Mangueira como vazia unbindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Remove bindKey else -- se o veiculo estiver sendo abastecido envia a seguinte mensagem unbindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Remove bindKey outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffO Veiculo está sendo abastecido, Aguarde terminar.", source, 255,255,255,true) end -- Fim else -- se o jogador estiver com mangueira envia a seguinte mensagem unbindKey (source, "k", "down", Remover_Mangueira_Veh ) -- Remove bindKey outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffVocê está com mangueira nas mãos!", source, 255,255,255,true) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim --[[ ><><><><><><><><><><><><><><><><><><><><>< >< Veiculo sendo abastecido >< ><><><><><><><><><><><><><><><><><><><><>< --]] function Abastecendo_Veiculo (source, Nome_Veh, Id_Veh, getQuantia) for _, vehicle in ipairs( getElementsByType ( "vehicle" ) ) do -- Verifica todos os veiculos do servidor local VehicleID = tonumber(Id_Veh) -- Pega o ID do veiculo if(VehicleID) then -- Verifica se o id Do veiculo é valido local Vehicle2 = getVehicleByID(VehicleID) -- Verifica o id do veiculo if(Vehicle2) then -- Verificação for i, Marker in ipairs (MarkersTable) do -- Verifica todos os postos do servidor if getElementData(vehicle, "Aguardando_Gasolina") == true then -- Verifica se o carro está aguardando pra ser abastecido if isElementWithinMarker(vehicle, Marker) then -- Verifica se o Veiculo Está dentro do Marker local ID_Mangueira = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 -- Verifica ID Da mangueira do veiculo local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 if tonumber(Id_Veh) == ID_Mangueira then -- Id do veiculo deve ter o mesmo Id da mangueira if getElementData(vehicle, "Mangueira_Veiculo") == true then -- Verifica se o veiculo está com mangueira if getElementData(source, "Mangueira_Mão") == false then -- O Jogador não pode esta com mangueira em suas mãos if getElementData(vehicle, "DNL:Combustivel") < 90 then -- Gasolina do veiculo deve ser menor que 90 if getElementData(vehicle, "Abastecendo") == false then -- Verifica se o veiculo já está sendo abastecido if getElementData(source, "Abastecendo") == false then -- Verifica se o veiculo já está sendo abastecido if getPlayerMoney ( source ) >= 5 then -- Verifica se o jogador tem dinheiro setElementData(vehicle, "Abastecendo", true) -- Adiciona o veiculo como abastecendo setElementData(source, "Abastecendo", true) -- Adiciona o jogador como abastecendo setElementData(vehicle, "DNL:Litros", getQuantia) -- Adiciona os litros que o jogador pois outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffVeiculo da Bomba #00ff00"..ID_Mangueira.." #ffffffestá sendo abastecido!", source, 255,255,255,true) Tempo[source] = setTimer ( function() -- Timer pra tudo abaixo acontecer setElementData(vehicle, "DNL:Combustivel", getElementData(vehicle, "DNL:Combustivel") +1) -- Adiciona 1 litro de gasolina a cada segundo setElementData(vehicle, "DNL:Litros", getElementData(vehicle, "DNL:Litros") -1) -- Remove um litro de gasolina que o jogador quis adicionar takePlayerMoney(source, 5) -- Remover $5 do jogador playSoundFrontEnd(source, 12 ) -- Som pra alertar o Jogador if getElementData(vehicle, "DNL:Combustivel") >= 100 then -- Verifica se o veiculo já tem 100 Litros if isTimer(Tempo[source]) then killTimer(Tempo[source]) end -- Para o tempo setElementData(vehicle, "DNL:Litros", 0) -- Seta os litros como 0 (Evitar Bugs) setElementData(vehicle, "DNL:Combustivel", 100) -- Seta gasolina como 100 (Evitar Bugs) setElementData(vehicle, "Abastecendo", false) -- Remove o modo abastecendo do veiculo setElementData(source, "Abastecendo", false) -- Remove o jogador do modo abastecendo setElementData(vehicle, "Combustivel_Cheio", true) -- Seta o veiculo como Tanque cheio setElementData(TableMangueira_Veh[vehicle], "Combustivel_Cheio", true) -- Seta o veiculo como Tanque cheio playSoundFrontEnd(source, 2 ) -- Som pra alertar o Jogador outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffO veiculo da bomba #00ff00"..ID_Mangueira.." #ffffffFoi abastecido completamente.", source, 255,255,255,true) elseif getPlayerMoney ( source ) < 5 then if isTimer(Tempo[source]) then killTimer(Tempo[source]) end -- Para o tempo setElementData(vehicle, "Abastecendo", false) -- Remove o modo abastecendo do veiculo setElementData(source, "Abastecendo", false) -- Remove o jogador do modo abastecendo setElementData(vehicle, "DNL:Litros", 0) -- Seta os litros como 0 (Evitar Bugs) playSoundFrontEnd(source, 8) -- Som pra alertar o Jogador outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffSeu dinheiro acabou e seu veiculo parou de ser abastecido.", source, 255,255,255,true) elseif getElementData(vehicle, "DNL:Litros") <= 0 then if isTimer(Tempo[source]) then killTimer(Tempo[source]) end -- Para o tempo setElementData(vehicle, "DNL:Litros", 0) -- Seta os litros como 0 (Evitar Bugs) setElementData(vehicle, "Abastecendo", false) -- Remove o modo abastecendo do veiculo setElementData(source, "Abastecendo", false) -- Remove o jogador do modo abastecendo playSoundFrontEnd(source, 10 ) -- Som pra alertar o Jogador outputChatBox ( "#00ff00⇨ #ff0000ERRO #00ff00⇨ #ffffffA Quantia de litro desejada já foi adicionada no veiculo.", source, 255,255,255,true) end -- Fim end, 1000, 0 ) -- Tempo Timer "1000" Modo timer "0" else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffSeu dinheiro acabou e não foi possivel terminar de abastecer.", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffVocê já está abastecendo um veiculo, Aguarde terminar", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffEsse veiculo já está sendo abastecido", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffEsse veiculo não precisa ser abastecido", source, 255, 255, 255, true) end -- Fim else outputChatBox ("#00ff00⇨ #ff0000Posto #00ff00⇨ #ffffffVocê está com mangueira em mãos, Remova.", source, 255, 255, 255, true) end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim end -- Fim addEvent("DNL:Abastecer_Veiculo", true) addEventHandler("DNL:Abastecer_Veiculo", root, Abastecendo_Veiculo) --[[ ><><><><><><><><><><><>< >< Ignora >< ><><><><><><><><><><><>< --]] function Contador_Combustivel () for _, players in ipairs( getElementsByType 'player' ) do -- Verifica Todos jogadores Online local Motorista = getPedOccupiedVehicleSeat ( players ) if Motorista == 0 then for _, veh in ipairs ( Veiculos ) do local Veiculo = getPedOccupiedVehicle ( players ) local ID_Veh = getElementModel ( Veiculo ) if ID_Veh == veh then local Combustivel = getElementData ( Veiculo, "DNL:Combustivel" ) or 0 if getVehicleEngineState ( Veiculo ) and Combustivel > 0 then VelocidadeX, VelocidadeY, VelocidadeZ = getElementVelocity ( Veiculo ) VelocidadeAtual = ( VelocidadeX ^ 2 + VelocidadeY ^ 2 + VelocidadeZ ^ 2 ) ^ ( 0.5 ) KMH = math.floor ( VelocidadeAtual * 180 ) if KMH == 0 then Combustivel_Seg = 0 elseif KMH > 0 then Combustivel_Seg = 0.1 end Combustivel = Combustivel - Combustivel_Seg end if Combustivel <= 0.50 then Combustivel = 0 setVehicleEngineState ( Veiculo, false ) end setElementData ( Veiculo, "DNL:Combustivel", Combustivel ) end end end end end setTimer ( Contador_Combustivel, 3000, 0 ) addEventHandler("onResourceStart", resourceRoot, function () for _, vehicle in ipairs( getElementsByType ( "vehicle" ) ) do for _, veh in ipairs ( Veiculos ) do local ID_Veh = getElementModel ( vehicle ) if ID_Veh == veh then local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 setElementData(vehicle, "DNL:Combustivel", Combustivel) setElementData(vehicle, "Aguardando_Gasolina", false) setElementData(vehicle, "Mangueira_Veiculo", false) if Combustivel == 0 or Combustivel == false then setElementData(vehicle, "DNL:Combustivel", 20) end end end end end) function Refresh_Lista_Posto1 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 1 or ID_Mangueira_ == 2 or ID_Mangueira_ == 3 or ID_Mangueira_ == 4 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto1_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto1(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto1(Veiculos)", root, Refresh_Lista_Posto1) function Refresh_Lista_Posto2 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 5 or ID_Mangueira_ == 6 or ID_Mangueira_ == 7 or ID_Mangueira_ == 8 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto2_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto2(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto2(Veiculos)", root, Refresh_Lista_Posto2) function Refresh_Lista_Posto3 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 9 or ID_Mangueira_ == 10 or ID_Mangueira_ == 11 or ID_Mangueira_ == 12 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto3_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto3(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto3(Veiculos)", root, Refresh_Lista_Posto3) function Refresh_Lista_Posto4 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 13 or ID_Mangueira_ == 14 or ID_Mangueira_ == 15 or ID_Mangueira_ == 16 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto4_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto4(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto4(Veiculos)", root, Refresh_Lista_Posto4) function Refresh_Lista_Posto5 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 17 or ID_Mangueira_ == 18 or ID_Mangueira_ == 19 or ID_Mangueira_ == 20 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto5_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto5(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto5(Veiculos)", root, Refresh_Lista_Posto5) function Refresh_Lista_Posto6 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 21 or ID_Mangueira_ == 22 or ID_Mangueira_ == 23 or ID_Mangueira_ == 24 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto6_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto6(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto6(Veiculos)", root, Refresh_Lista_Posto6) function Refresh_Lista_Posto7 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 25 or ID_Mangueira_ == 26 or ID_Mangueira_ == 27 or ID_Mangueira_ == 28 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto7_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto7(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto7(Veiculos)", root, Refresh_Lista_Posto7) function Refresh_Lista_Posto8 (source, text) if tostring(text) == "" or text == false or text == nil then for i, vehicle in ipairs(getElementsByType("vehicle")) do local Combustivel = tonumber(getElementData(vehicle, "DNL:Combustivel")) or 0 local ID_Mangueira_ = tonumber(getElementData(vehicle, "ID_Mangueira")) or 0 if getElementData(vehicle, "Mangueira_Veiculo") == true then if Combustivel < 90 then if getElementData(vehicle, "Abastecendo") == false then if ID_Mangueira_ == 29 or ID_Mangueira_ == 30 or ID_Mangueira_ == 31 or ID_Mangueira_ == 32 then local ID_Mangueira = tonumber(getElementData(TableMangueira_Veh[vehicle], "ID_Mangueira")) or 0 local vehicleName = getVehicleName (vehicle) triggerClientEvent(root, "DNL:Refresh_Lista_Posto8_C(Veiculos)", root, vehicleName, ID_Mangueira) end end end end end end end addEvent("DNL:Refresh_Lista_Posto8(Veiculos)",true) addEventHandler("DNL:Refresh_Lista_Posto8(Veiculos)", root, Refresh_Lista_Posto8) function Quit_Server ( quitType ) if getElementData(source, "Mangueira_Mão") == true then if Mangueira[source] and isElement( Mangueira[source] ) then destroyElement ( Mangueira[source] ) Mangueira[source] = nil end end end addEventHandler ( "onPlayerQuit", root, Quit_Server )---parte da gasolineira local sx,sy = guiGetScreenSize() function speed() local veh = getPedOccupiedVehicle(localPlayer) local fuel = math.floor(getElementData(veh,"fuel") or 11) local hpcar = math.floor(getElementHealth(veh) /10) local getspeed = math.floor(getElementSpeed(veh,"km/h")) if not veh then return end dxDrawImage(sx-310,sy-193,307,177,"files/fon_speed.png") dxDrawImage(sx-235,sy-90,26,26,"files/light_r_off.png") dxDrawImage(sx-300,sy-90,26,26,"files/light_l_off.png") if(getElementData(veh,"rightflash")) then if (getTickCount() % 1400 >= 600) then dxDrawImage(sx-235,sy-90,26,26,"files/light_r_on.png") end end if(getElementData(veh,"leftflash")) then if (getTickCount() % 1400 >= 600) then dxDrawImage(sx-300,sy-90,26,26,"files/light_l_on.png") end end if(getElementData(veh, "allflash")) then if(getTickCount() % 1400 >= 600) then dxDrawImage(sx-235,sy-90,26,26,"files/light_r_on.png") dxDrawImage(sx-300,sy-90,26,26,"files/light_l_on.png") end end if(getVehicleEngineState(veh) == true) then dxDrawImage(sx-125,sy-49,26,26,"files/engine_on.png") elseif(getVehicleEngineState(veh) == false) then dxDrawImage(sx-125,sy-49,26,26,"files/engine_off.png") end if(getVehicleOverrideLights(veh) == 2) then dxDrawImage(sx-180,sy-49,26,26,"files/lights_on.png") else dxDrawImage(sx-180,sy-49,26,26,"files/lights_off.png") end if(isVehicleLocked(veh) == true) then dxDrawImage(sx-70,sy-49,26,26,"files/door_close.png") elseif(isVehicleLocked(veh) == false) then dxDrawImage(sx-70,sy-49,26,26,"files/door_open.png") end if(getspeed >= 100) then dxDrawText(string.format("%s",getspeed),sx-283,sy-145,sx-315,70,tocolor(255,255,255,255),2.5,"default-bold") elseif(getspeed >= 10) then dxDrawText(string.format("%s",getspeed),sx-273,sy-145,sx-315,70,tocolor(255,255,255,255),2.5,"default-bold") elseif(getspeed <= 9) then dxDrawText(string.format("%s",getspeed),sx-265,sy-145,sx-315,70,tocolor(255,255,255,255),2.5,"default-bold") end if(fuel >= 100) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(225, 150, 48, 255)) dxDrawText(string.format("%s",fuel),sx-75,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel <= 15) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",fuel),sx-60,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel <= 25) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(218,207, 96, 255)) dxDrawText(string.format("%s",fuel),sx-60,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel <= 9) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",fuel),sx-50,sy-173,15,15,tocolor(255,255,255,255),1.8) elseif(fuel >= 10) then dxDrawRectangle(sx-167,sy-146,fuel*1.4,3,tocolor(225, 150, 48, 255)) dxDrawText(string.format("%s",fuel),sx-60,sy-173,15,15,tocolor(255,255,255,255),1.8) end if(hpcar >= 100) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(210, 255, 0, 255)) dxDrawText(string.format("%s",hpcar),sx-80,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar <= 50) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",hpcar),sx-70,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar <= 65) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(218,207, 96, 255)) dxDrawText(string.format("%s",hpcar),sx-70,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar <= 9) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(213, 38, 38, 255)) dxDrawText(string.format("%s",hpcar),sx-60,sy-114,15,15,tocolor(255,255,255,255),1.8) elseif(hpcar >= 10) then dxDrawRectangle(sx-167,sy-87,hpcar*1.4,3,tocolor(210, 255, 0, 255)) dxDrawText(string.format("%s",hpcar),sx-70,sy-114,15,15,tocolor(255,255,255,255),1.8) end end addEventHandler("onClientRender",root,speed) function getElementSpeed(theElement, unit) assert(isElement(theElement), "Bad argument 1 @ getElementSpeed (element expected, got " .. type(theElement) .. ")") local elementType = getElementType(theElement) assert(elementType == "player" or elementType == "ped" or elementType == "object" or elementType == "vehicle" or elementType == "projectile", "Invalid element type @ getElementSpeed (player/ped/object/vehicle/projectile expected, got " .. elementType .. ")") assert((unit == nil or type(unit) == "string" or type(unit) == "number") and (unit == nil or (tonumber(unit) and (tonumber(unit) == 0 or tonumber(unit) == 1 or tonumber(unit) == 2)) or unit == "m/s" or unit == "km/h" or unit == "mph"), "Bad argument 2 @ getElementSpeed (invalid speed unit)") unit = unit == nil and 0 or ((not tonumber(unit)) and unit or tonumber(unit)) local mult = (unit == 0 or unit == "m/s") and 50 or ((unit == 1 or unit == "km/h") and 180 or 111.84681456) return (Vector3(getElementVelocity(theElement)) * mult).length end----parte do velocimetro 18 minutes ago, #DeltaSCR said: Sim, você vai copiar o código e colar onde eu te falei. Ah e quando se compra um carro vem sem gasosa e eu queria que viesse com 30% Link to comment
#DeltaSCR Posted July 2, 2019 Share Posted July 2, 2019 Troque sua linha 746 por isso: local fuel = math.floor(getElementData(veh,"DNL:Combustivel") or 11) OBS: Não testei Link to comment
Barradas Posted July 2, 2019 Author Share Posted July 2, 2019 22 minutes ago, #DeltaSCR said: Troque sua linha 746 por isso: local fuel = math.floor(getElementData(veh,"DNL:Combustivel") or 11) OBS: Não testei E vai aparece no ecrã a quantia de gasosa? Link to comment
#DeltaSCR Posted July 2, 2019 Share Posted July 2, 2019 3 hours ago, Barradas said: E vai aparece no ecrã a quantia de gasosa? Sim Link to comment
Barradas Posted July 3, 2019 Author Share Posted July 3, 2019 On 02/07/2019 at 18:48, #DeltaSCR said: Sim Mas cara quando spawn carro ou compra não trás gasosa o que faço? Link to comment
#DeltaSCR Posted July 3, 2019 Share Posted July 3, 2019 10 minutes ago, Barradas said: Mas cara quando spawn carro ou compra não trás gasosa o que faço? Aí você configura o spawn de veículos, pra quando spawnar, setar a data do veículo(Data da Gasolina) no valor que você quiser. Link to comment
Barradas Posted July 3, 2019 Author Share Posted July 3, 2019 2 hours ago, #DeltaSCR said: Aí você configura o spawn de veículos, pra quando spawnar, setar a data do veículo(Data da Gasolina) no valor que você quiser. como? Link to comment
McVinni Posted August 16, 2019 Share Posted August 16, 2019 Alguem sabe me dizer porque não abaixa a gasolina conforme vai andando com o veiculo? 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