manawydan Posted January 11, 2013 Share Posted January 11, 2013 eai pessoal, blz. eu tava tentano criar bot para proteger jogadores, mas não consigo coloca os bot em veiculos. alguem pode ajudar? function pet(thePlayer) local skinpet = { "43", "44", "45", "46" } local x,y,z = getElementPosition(thePlayer) local rot= 90 local skin=skinpet[ math.random( 1,#skinpet ) ] local interior=inter local dimension=dimen local team=getPlayerTeam ( thePlayer ) local weapon=0 local mode= "following" local modesubject=thePlayer animal = call (getResourceFromName("slothbot"), "spawnBot", x, y, z, rot, skin, interior, dimension, team, weapon, mode, modesubject) end addCommandHandler( "pet", pet) -- o problema é aq em baixo-- function petvehicle ( thePlayer ) if ( getElementType ( thePlayer ) == "player" and getElementData ( thePlayer, "leader", true ) ) then warpPedIntoVehicle ( animal, source, 1 ) end end addEventHandler ( "onVehicleEnter", getRootElement(), petvehicle ) Link to comment
Stanley Sathler Posted January 11, 2013 Share Posted January 11, 2013 Eu realmente não consegui ver problema algum com o código. Talvez seja falta de atenção minha mas, aparentemente, está tudo normal (presumo que as variáveis "inter" e "dimen" estejam declaradas em uma outra parte do código que você não mostrou, afinal, elas precisam ter algum valor, nem que este seja nil). O problema pode estar ali no "getElementData()". No seu caso, o primeiro passo pra identificar o erro é descobrir onde ele ocorre exatamente. Pra isso, comece colocando: function petvehicle ( thePlayer ) if ( getElementType ( thePlayer ) == "player" and getElementData ( thePlayer, "leader", true ) ) then outputChatBox("Testing if the condition is being called", thePlayer) --adicionar essa linha warpPedIntoVehicle ( animal, source, 1 ) end end Com aquele outputChatBox() vamos poder ver se a condição está sendo realmente chamada (já que a mensagem só vai aparecer nesse caso), visto que a primeira suspeita é ela. Tente e volte com os resultados. Link to comment
manawydan Posted January 11, 2013 Author Share Posted January 11, 2013 A mensagem não apareceu Link to comment
Stanley Sathler Posted January 11, 2013 Share Posted January 11, 2013 Então significa que a condição sequer é chamada (como eu já previa). Eu acho que o problema está ali no getElementData(). Você usou a função com qual intenção? O valor salvo na chave "leader" é booleano (afinal a condição compara o seu getElementData() com um valor booleano e só é chamada se esse valor é "true"). Pode nos mostrar a parte do setElementData()? Link to comment
manawydan Posted January 11, 2013 Author Share Posted January 11, 2013 o mod slothbot coloca um ped ou play como lider. por isso coloquei. acho q li errado. leader: The Player or Ped the bot has started following - vlw cara agora o mod funciono function pet(thePlayer) local skinpet = { "43", "44", "45", "46" } local x,y,z = getElementPosition(thePlayer) local rot= 90 local skin=skinpet[ math.random( 1,#skinpet ) ] local interior=inter local dimension=dimen local team=getPlayerTeam ( thePlayer ) local weapon=0 local mode= "following" local modesubject=thePlayer animal = call (getResourceFromName("slothbot"), "spawnBot", x, y, z, rot, skin, interior, dimension, team, weapon, mode, modesubject) setElementData ( thePlayer, "leader", true ) -- agora ta verdadeiro-- end addCommandHandler( "pet", pet) - @Edit: Removendo double-post e mesclando postagens. Link to comment
Recommended Posts