Doongogar Posted November 24, 2021 Share Posted November 24, 2021 (edited) então estou quase terminando a fabrica de armas, so gostaria de saber como que eu encaixo uma mensagem de erro no codigo caso o player esteja na acl mais não tenha dinheiro o suficiente para fabricar codigo abaixo: function FabricarAK(thePlayer) if isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup ("Gang")) then if isElementWithinMarker(thePlayer, markerAk47) then if getPlayerMoney(thePlayer) >= 30000 then setElementPosition(thePlayer, 1050.5540039062, -305.37005615234, 72.99308013916) setElementRotation(thePlayer, 0, 0, 270) setPedAnimation(thePlayer, "INT_HOUSE", "wash_up", -1, true, false, false) toggleAllControls(thePlayer, false) outputChatBox("Fabricando#FF0000...", thePlayer2, 255, 255, 255, true) setTimer(function(thePlayer2) setPedAnimation(thePlayer2, nil) toggleAllControls(thePlayer, true) local pagou = takePlayerMoney(thePlayer2, 30000) if pagou then local recebeu = giveWeapon(thePlayer2, 30, 300) if recebeu then outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer2, 0, 255, 0, true) end end end, 4000, 1, thePlayer) end end end end addCommandHandler("ak47", FabricarAK) Edited November 24, 2021 by SciptNovato Link to comment
Other Languages Moderators Lord Henry Posted November 25, 2021 Other Languages Moderators Share Posted November 25, 2021 Primeiramente, correção de indentação. Você deve considerar o function do setTimer como um escopo novo, então tudo que estiver depois do setTimer deve ter +1 recuo. Outra coisa, depois da variável (local pagou = ...) não se adiciona +1 recuo, só depois de funções e condições. setTimer(function(thePlayer2) setPedAnimation(thePlayer2, nil) toggleAllControls(thePlayer, true) local pagou = takePlayerMoney(thePlayer2, 30000) if pagou then local recebeu = giveWeapon(thePlayer2, 30, 300) if recebeu then outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer2, 0, 255, 0, true) end end end, 4000, 1, thePlayer) Segundamente, respondendo sua dúvida: Adicione um else antes daquele end que pertence ao if getPlayerMoney... Dai dentro desse else, coloque um outputChatBox do erro. Link to comment
Doongogar Posted November 25, 2021 Author Share Posted November 25, 2021 1 hour ago, Lord Henry said: Primeiramente, correção de indentação. Você deve considerar o function do setTimer como um escopo novo, então tudo que estiver depois do setTimer deve ter +1 recuo. Outra coisa, depois da variável (local pagou = ...) não se adiciona +1 recuo, só depois de funções e condições. setTimer(function(thePlayer2) setPedAnimation(thePlayer2, nil) toggleAllControls(thePlayer, true) local pagou = takePlayerMoney(thePlayer2, 30000) if pagou then local recebeu = giveWeapon(thePlayer2, 30, 300) if recebeu then outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer2, 0, 255, 0, true) end end end, 4000, 1, thePlayer) Segundamente, respondendo sua dúvida: Adicione um else antes daquele end que pertence ao if getPlayerMoney... Dai dentro desse else, coloque um outputChatBox do erro. obrigado, compreendi, so mais uma duvida, queria saber se aquele thePlayer2 que eu coloquei no outputchatbox esta certo. Link to comment
Other Languages Moderators Lord Henry Posted November 26, 2021 Other Languages Moderators Share Posted November 26, 2021 Não precisa passar thePlayer por parâmetro, só se fosse um source. setTimer(function() setPedAnimation(thePlayer, nil) toggleAllControls(thePlayer, true) local pagou = takePlayerMoney(thePlayer, 30000) if pagou then local recebeu = giveWeapon(thePlayer, 30, 300) if recebeu then outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer, 0, 255, 0, true) end end end, 4000, 1) 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