Stronger Posted October 7, 2015 Share Posted October 7, 2015 (edited) Alguém poderia mim ajudar a arrumar 1 bug e acrescentar 1 settime no trabalho. O Bug que quero arrumar é que quando o jogador passa por cima do marker com um veiculo é entrar no trabalho e spawna varios veículos. e queria acrescentar um tempo para levar o caminhão do x até o y. ( Não precisa concertar o mod é só das as funções que possa trabalhar nisso ) local MarkTrab = createMarker(2849.9343261719, -1055.3076171875, 22, "cylinder", 2, 255, 0, 0, 255) local MarkChego = createMarker(2569.125, 1034.0930175781, 8, "cylinder", 4, 255, 0, 0, 255) cam = {} blipxxx = {} function TrabBus (source) local account = getAccountName (getPlayerAccount(source)) local x,y,z = getElementPosition(source) if (getElementData(source, "Trab", true)) then outputChatBox ("#FF0000Você já está Trabalhando.", source, 255, 255, 255, true) return end cam[source] = createVehicle (403, 2858, -1049, 23) setElementRotation(cam[source], 0,0,-90) warpPedIntoVehicle (source, cam[source]) aclGroupAddObject (aclGetGroup("Truck"), "user."..account) blipxxx[source] = createBlip (2569.125, 1034.0930175781, 10, 19) setElementData(source, "Trab", true) setPedSkin(source,309) outputChatBox(" ") outputChatBox(" ") outputChatBox("#ff00ff===========================Caminhao===========================", source, 255, 255, 255, true) outputChatBox("#00FF9E--Leve o Caminhão até a Bandeira Vermelha.", source, 255, 255, 255, true) outputChatBox("#00FF9E--Você Ganhará R$ 12.000 pra fazer esta Viagem.", source, 255, 255, 255, true) outputChatBox("#00FF9E--para sair do Trabalho digite /sairtrab1.",source, 255, 255, 255, true) outputChatBox("#FF0000--Trabalho de Caminhoneiro feito por : StG^.",source, 255, 255, 255, true) outputChatBox("#ff00ff============================Caminhao===========================",source, 255, 255, 255, true) end addEventHandler ("onMarkerHit", MarkTrab, TrabBus) function rreem (source) local accounat = getAccountName (getPlayerAccount(source)) aclGroupRemoveObject (aclGetGroup("Truck"), "user."..accounat) outputChatBox ('#ffff00* Caminhoneiro: #ffffffVocê desistiu de Trabalhar.',source,255,255,255,true) setPedSkin (source,0) destroyElement(cam[source]) setElementData(source, "Trab", false) end addCommandHandler("sairtrab1",rreem) function TrabBusChego (source) if cam[source] and isElement(cam[source]) and getElementData (source, "Trab", true) then destroyElement (blipxxx[source]) destroyElement (cam[source]) local accounat = getAccountName (getPlayerAccount(source)) aclGroupRemoveObject (aclGetGroup("Truck"), "user."..accounat) setElementData(source, "Trab", false) givePlayerMoney (source, 12000) setPedSkin (source,0) setElementData(source, "Trab", false) end end addEventHandler ("onMarkerHit", MarkChego, TrabBusChego) function NSPode (source) if (cam[source]) and isElement(cam[source]) then outputChatBox ('#FF5100* #ffffffVocê tem #FF510010 #ffffffSegundos parar voltar para o Caminhão.', source, 255, 255, 255, true) T11 = setTimer (destroyElement, 10000,1, blipxxx[source]) T22 = setTimer (destroyElement, 10000,1, cam[source]) T33 = setTimer (setElementData, 10000,1, source, "Trab", false) T44 = setTimer (function() Trabalho = false setPedSkin (source,0) outputChatBox ('#FF5100* #ffffffVocê ficou muito tempo fora do Veículo e perdeu o Trabalho!.', source, 255, 255, 255, true) setElementData(source, "Trab", false) end, 10000, 1) end end addEventHandler ("onVehicleExit", root, NSPode) function SNPode (source) if (cam[source]) and isElement(cam[source]) then killTimer (T11) killTimer (T22) killTimer (T33) killTimer (T44) end end addEventHandler ("onVehicleEnter", root, SNPode) Edited November 29, 2015 by Guest Link to comment
DNL291 Posted October 8, 2015 Share Posted October 8, 2015 getElementData(source, "Trab", true) Aí você está passando três argumentos quando essa função exige dois. O correto é: getElementData(source, "Trab") == true -- aqui verifica se o retorno é igual a [i]true[/i] Outra coisa, na função TrabBus você deveria verificar se o elemento que atingiu a marca, isto é, source, é o jogador. Porque se não for você receberá um erro com a função getPlayerAccount. Também, evite fazer scripts executados só para determinado jogador no lado server, em vez disso uso o lado client. Nesse script, por exemplo, o blip e a marca estarão visíveis para todos, pra evitar isso você pode usar setElementVisibleTo. Sobre o tempo, você pode usar setTimer na própria função TrabBus. Armazene o tempo numa variável (pode ser na tabela cam mesmo) pra quando precisar destruí-lo quando o jogador atingir a marca da chagada. E chame uma função que dará a falha no trabalho quando o tempo esgotar. Link to comment
Stronger Posted October 9, 2015 Author Share Posted October 9, 2015 Mais não acho scripts de trabalho em client descompilados para eu ter uma base . e que função devo usar para verificar o elemento que atinge o marker ? Link to comment
brunob22 Posted October 9, 2015 Share Posted October 9, 2015 Mais não acho scripts de trabalho em client descompilados para eu ter uma base . e que função devo usar para verificar o elemento que atinge o marker ? getlocalplayer Link to comment
DNL291 Posted October 10, 2015 Share Posted October 10, 2015 Na verdade é: getElementType No caso: getElementType(source) == "player" 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