Nadion Posted May 14, 2020 Share Posted May 14, 2020 Tenho 2 scripts, um de animação por binds e outro de assaltos, queria saber como faço para não cancelar a animação do roubo e fazer o jogador continuar fazendo o roubo, para ele não sair do freeze do roubo e pegar o dinheiro fora do local já, tentei com flags e getElementData e nada. Animação function animcruzabraco () if getElementData ( localPlayer, "cruzabracodt" ) == false then setElementData(localPlayer, "cruzabracodt", true) setElementFrozen ( localPlayer, true ) triggerServerEvent("animcruzabraco",localPlayer) else setElementFrozen ( localPlayer, false ) setElementData(localPlayer, "cruzabracodt", false) triggerServerEvent("paraanim",localPlayer) end end bindKey("b", "both", animcruzabraco) Roubo function sistema1(source) if source then if isElementWithinMarker(source, loja1) then local weaponType = getPedWeapon ( source ) if weaponType == 0 then outputChatBox ( "#727272Você está desarmado. #464646Tenha uma arma para assaltar.", source, 255, 255, 255, true ) else outputChatBox(" ", source, 255, 255, 255, true) outputChatBox("#cf3f3fINDFO: #e2e2e2Você está começando a roubar o banco Caixa #727272(Aguarde 4 minutos ou será punido). #e41c1cAs autoridades estão vindo.", source, 255, 255, 255, true) outputChatBox(" ", source, 255, 255, 255, true) setElementVisibleTo( loja1ass, root, true) setElementFrozen( source, true ) setPedAnimation( source, "bomber", "bom_plant_loop", 240000, true, false, false, false ) setMarkerSize(loja1, 0) outputChatBox(" ", source, 255, 255, 255, true) outputChatBox("#cf3f3fINFO: #e41c1cAtenção todas as autoridades. #e2e2e2O banco Caixa está sendo assaltado, compareçam ao local urgentemente!", root, 255, 255, 255, true) outputChatBox(" ", source, 255, 255, 255, true) setTimer(function(source) givePlayerMoney(source, GranaBanco) setElementFrozen( source, false ) setPlayerWantedLevel( source, 6 ) outputChatBox("#cf3f3fINFO: #e41c1cVocê assaltou o banco Caixa e ganhou R$ "..GranaBanco, source, 255, 255, 255, true) end,240000,1,source) setTimer(function(source) setMarkerSize(loja1, 2.5) setElementVisibleTo( loja1ass, root, false) end,1800000,1,source) end end end end addCommandHandler("roubar", sistema1) Link to comment
_Ace Posted May 14, 2020 Share Posted May 14, 2020 (edited) 42 minutes ago, Nadion said: Tenho 2 scripts, um de animação por binds e outro de assaltos, queria saber como faço para não cancelar a animação do roubo e fazer o jogador continuar fazendo o roubo, para ele não sair do freeze do roubo e pegar o dinheiro fora do local já, tentei com flags e getElementData e nada. source é usado pra eventos dai não tenho certeza se pode gerar algum problema outra coisa são os triggerServerEvent com elemento localPlayer, geralmente se usa resourceRoot, verifique isso tbm pra ver se tem algum warning/erro no debugscript 3 quanto a solução vc pode usar o setElementData com flag no proprio player/assaltante, quando inicia o assalto deixa como true e qnd termina poe false, quando o cara quiser acionar a animação verifica se ele tem a elementdata e se tiver cancela con return, deixei um codigo que nao testei mas deve estar td ok, comentei pra ficar mais facil ver onde editei --CLIENT function animcruzabraco () if getElementData(localPlayer,"assaltando") then--checagem se o player tem elementdata assaltando, se tiver é cancelado outputChatBox("teste= animação impedida por elementdata") return end if getElementData ( localPlayer, "cruzabracodt" ) == false then setElementData(localPlayer, "cruzabracodt", true) setElementFrozen ( localPlayer, true ) triggerServerEvent("animcruzabraco",localPlayer)--verifique else setElementFrozen ( localPlayer, false ) setElementData(localPlayer, "cruzabracodt", false) triggerServerEvent("paraanim",localPlayer)--verifique end end bindKey("b", "both", animcruzabraco) --- --SERVER function sistema1(player)--coloquei player pq nao tenho certezz sobre usar source if player then if isElementWithinMarker(player, loja1) then local weaponType = getPedWeapon ( player ) if weaponType == 0 then outputChatBox ( "#727272Você está desarmado. #464646Tenha uma arma para assaltar.", player, 255, 255, 255, true ) else outputChatBox(" ", player, 255, 255, 255, true) outputChatBox("#cf3f3fINDFO: #e2e2e2Você está começando a roubar o banco Caixa #727272(Aguarde 4 minutos ou será punido). #e41c1cAs autoridades estão vindo.", player, 255, 255, 255, true) outputChatBox(" ", player, 255, 255, 255, true) setElementVisibleTo( loja1ass, root, true) setElementFrozen( player, true ) setElementData(player,"assaltando",true)-- aqui dou elementdata assaltando para o player, proibido de usar animacao b setPedAnimation( player, "bomber", "bom_plant_loop", 240000, true, false, false, false ) setMarkerSize(loja1, 0) outputChatBox(" ", player, 255, 255, 255, true) outputChatBox("#cf3f3fINFO: #e41c1cAtenção todas as autoridades. #e2e2e2O banco Caixa está sendo assaltado, compareçam ao local urgentemente!", root, 255, 255, 255, true) outputChatBox(" ", player, 255, 255, 255, true) setTimer(function(player) givePlayerMoney(player, GranaBanco)--GranaBanco nao ta definida na codigo do post verifique se esta no seu codigo inteiro setElementFrozen( player, false ) setPlayerWantedLevel( player, 6 ) outputChatBox("#cf3f3fINFO: #e41c1cVocê assaltou o banco Caixa e ganhou R$ "..GranaBanco, player, 255, 255, 255, true) setElementData(player,"assaltando",false)-- aqui tiro elementdata assaltando do player, liberado pra usar animação b end,240000,1,player) setTimer(function(player) setMarkerSize(loja1, 2.5) setElementVisibleTo( loja1ass, root, false) end,1800000,1,player) end end end end addCommandHandler("roubar", sistema1) Edited May 14, 2020 by _Ace 1 Link to comment
Nadion Posted May 15, 2020 Author Share Posted May 15, 2020 (edited) 2 hours ago, _Ace said: source é usado pra eventos dai não tenho certeza se pode gerar algum problema outra coisa são os triggerServerEvent com elemento localPlayer, geralmente se usa resourceRoot, verifique isso tbm pra ver se tem algum warning/erro no debugscript 3 quanto a solução vc pode usar o setElementData com flag no proprio player/assaltante, quando inicia o assalto deixa como true e qnd termina poe false, quando o cara quiser acionar a animação verifica se ele tem a elementdata e se tiver cancela con return, deixei um codigo que nao testei mas deve estar td ok, comentei pra ficar mais facil ver onde editei --CLIENT function animcruzabraco () if getElementData(localPlayer,"assaltando") then--checagem se o player tem elementdata assaltando, se tiver é cancelado outputChatBox("teste= animação impedida por elementdata") return end if getElementData ( localPlayer, "cruzabracodt" ) == false then setElementData(localPlayer, "cruzabracodt", true) setElementFrozen ( localPlayer, true ) triggerServerEvent("animcruzabraco",localPlayer)--verifique else setElementFrozen ( localPlayer, false ) setElementData(localPlayer, "cruzabracodt", false) triggerServerEvent("paraanim",localPlayer)--verifique end end bindKey("b", "both", animcruzabraco) --- --SERVER function sistema1(player)--coloquei player pq nao tenho certezz sobre usar source if player then if isElementWithinMarker(player, loja1) then local weaponType = getPedWeapon ( player ) if weaponType == 0 then outputChatBox ( "#727272Você está desarmado. #464646Tenha uma arma para assaltar.", player, 255, 255, 255, true ) else outputChatBox(" ", player, 255, 255, 255, true) outputChatBox("#cf3f3fINDFO: #e2e2e2Você está começando a roubar o banco Caixa #727272(Aguarde 4 minutos ou será punido). #e41c1cAs autoridades estão vindo.", player, 255, 255, 255, true) outputChatBox(" ", player, 255, 255, 255, true) setElementVisibleTo( loja1ass, root, true) setElementFrozen( player, true ) setElementData(player,"assaltando",true)-- aqui dou elementdata assaltando para o player, proibido de usar animacao b setPedAnimation( player, "bomber", "bom_plant_loop", 240000, true, false, false, false ) setMarkerSize(loja1, 0) outputChatBox(" ", player, 255, 255, 255, true) outputChatBox("#cf3f3fINFO: #e41c1cAtenção todas as autoridades. #e2e2e2O banco Caixa está sendo assaltado, compareçam ao local urgentemente!", root, 255, 255, 255, true) outputChatBox(" ", player, 255, 255, 255, true) setTimer(function(player) givePlayerMoney(player, GranaBanco)--GranaBanco nao ta definida na codigo do post verifique se esta no seu codigo inteiro setElementFrozen( player, false ) setPlayerWantedLevel( player, 6 ) outputChatBox("#cf3f3fINFO: #e41c1cVocê assaltou o banco Caixa e ganhou R$ "..GranaBanco, player, 255, 255, 255, true) setElementData(player,"assaltando",false)-- aqui tiro elementdata assaltando do player, liberado pra usar animação b end,240000,1,player) setTimer(function(player) setMarkerSize(loja1, 2.5) setElementVisibleTo( loja1ass, root, false) end,1800000,1,player) end end end end addCommandHandler("roubar", sistema1) Hmm beleza, assim que der entro e testo o código e vejo se está dando certo. Sobre os triggerServerEvent's, se não me engano estavam corretos pois não lembro de receber warnings no debugscript porém posso estar errado. Mas obrigado pela resposta, já já retorno o que aconteceu Edit¹: Creio que quando eu usava o setElementData e getElementData eu estava passando apenas a variável e o estado dela, estava esquecendo do jogador. Edited May 15, 2020 by Nadion Link to comment
Nadion Posted May 15, 2020 Author Share Posted May 15, 2020 4 hours ago, _Ace said: source é usado pra eventos dai não tenho certeza se pode gerar algum problema outra coisa são os triggerServerEvent com elemento localPlayer, geralmente se usa resourceRoot, verifique isso tbm pra ver se tem algum warning/erro no debugscript 3 quanto a solução vc pode usar o setElementData com flag no proprio player/assaltante, quando inicia o assalto deixa como true e qnd termina poe false, quando o cara quiser acionar a animação verifica se ele tem a elementdata e se tiver cancela con return, deixei um codigo que nao testei mas deve estar td ok, comentei pra ficar mais facil ver onde editei --CLIENT function animcruzabraco () if getElementData(localPlayer,"assaltando") then--checagem se o player tem elementdata assaltando, se tiver é cancelado outputChatBox("teste= animação impedida por elementdata") return end if getElementData ( localPlayer, "cruzabracodt" ) == false then setElementData(localPlayer, "cruzabracodt", true) setElementFrozen ( localPlayer, true ) triggerServerEvent("animcruzabraco",localPlayer)--verifique else setElementFrozen ( localPlayer, false ) setElementData(localPlayer, "cruzabracodt", false) triggerServerEvent("paraanim",localPlayer)--verifique end end bindKey("b", "both", animcruzabraco) --- --SERVER function sistema1(player)--coloquei player pq nao tenho certezz sobre usar source if player then if isElementWithinMarker(player, loja1) then local weaponType = getPedWeapon ( player ) if weaponType == 0 then outputChatBox ( "#727272Você está desarmado. #464646Tenha uma arma para assaltar.", player, 255, 255, 255, true ) else outputChatBox(" ", player, 255, 255, 255, true) outputChatBox("#cf3f3fINDFO: #e2e2e2Você está começando a roubar o banco Caixa #727272(Aguarde 4 minutos ou será punido). #e41c1cAs autoridades estão vindo.", player, 255, 255, 255, true) outputChatBox(" ", player, 255, 255, 255, true) setElementVisibleTo( loja1ass, root, true) setElementFrozen( player, true ) setElementData(player,"assaltando",true)-- aqui dou elementdata assaltando para o player, proibido de usar animacao b setPedAnimation( player, "bomber", "bom_plant_loop", 240000, true, false, false, false ) setMarkerSize(loja1, 0) outputChatBox(" ", player, 255, 255, 255, true) outputChatBox("#cf3f3fINFO: #e41c1cAtenção todas as autoridades. #e2e2e2O banco Caixa está sendo assaltado, compareçam ao local urgentemente!", root, 255, 255, 255, true) outputChatBox(" ", player, 255, 255, 255, true) setTimer(function(player) givePlayerMoney(player, GranaBanco)--GranaBanco nao ta definida na codigo do post verifique se esta no seu codigo inteiro setElementFrozen( player, false ) setPlayerWantedLevel( player, 6 ) outputChatBox("#cf3f3fINFO: #e41c1cVocê assaltou o banco Caixa e ganhou R$ "..GranaBanco, player, 255, 255, 255, true) setElementData(player,"assaltando",false)-- aqui tiro elementdata assaltando do player, liberado pra usar animação b end,240000,1,player) setTimer(function(player) setMarkerSize(loja1, 2.5) setElementVisibleTo( loja1ass, root, false) end,1800000,1,player) end end end end addCommandHandler("roubar", sistema1) Funcionou certinho cara, creio que era o fato de eu estar esquecendo de passar o usuário como parâmetro mesmo, muito obrigado!! 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