K13 Posted January 16, 2020 Share Posted January 16, 2020 addCommandHandler("versujo", function(player, cmd, target ) local accName = getAccountName(getPlayerAccount(player)) if not isObjectInACLGroup ("user."..accName, aclGetGroup("Policial")) then outputChatBox("Ops! Sinto Muito :( , Você não tem permissão para executar esta função", player, 255, 0, 0) return end if target then local targetplayer = getPlayerFromName(target) if targetplayer then local Dinheiro_Sujo = getElementData ( targetplayer, "moneysujo" ) outputChatBox ( "#0037FF✘#ffffffINFO#0037FF✘➺ #ffffffO Jogador Tem: #FF0000R$"..Dinheiro_Sujo.."#ffffff No Banco !", player, 255, 0, 0, true ) end end end) Então essa função é o seguinte... o sistema de policial que eu tenho não tem a opção ver dinheiro sujo tlg... Então tentei criar esse comando baseado em outro que já tenho para ver dinheiro no banco... Então se um policial der um comando desse em um jogador que estiver em LV ele vai aparecer pra ele quanto ele tem de dinheiro sujo... E queria colocar a função de distancia tlg... O policial tem que estar a uns 2 metros de distancia para poder ver quanto que o player tem de dinheiro sujo... Ex: Um policial só vai poder dar esse comando se estiver próximo do jogar /versujo nick... Link to comment
Developer. Posted January 16, 2020 Share Posted January 16, 2020 (edited) addCommandHandler("versujo", function(player, cmd, target ) local accName = getAccountName(getPlayerAccount(player)) if not isObjectInACLGroup ("user."..accName, aclGetGroup("Policial")) then outputChatBox("Ops! Sinto Muito :( , Você não tem permissão para executar esta função", player, 255, 0, 0) return end if target then local targetplayer = getPlayerFromName(target) if targetplayer then local pX, pY, pZ = getElementPosition(player) -- posição do policial local bX, bY, bZ = getElementPosition(targetplayer) -- posição do abordado local dist = getDistanceBetweenPoints3D(pX, pY, pZ, bX, bY, bZ) -- calcula a distancia da duas posições if dist < 3 then -- se a distancia for menor que 3 então: local Dinheiro_Sujo = getElementData ( targetplayer, "moneysujo" ) outputChatBox ( "#0037FF✘#ffffffINFO#0037FF✘➺ #ffffffO Jogador Tem: #FF0000R$"..Dinheiro_Sujo.."#ffffff Na Carteira !", player, 255, 0, 0, true ) end else --se não for então: outputChatBox ( "#0037FF✘#ffffffINFO#0037FF✘➺ #ffffffVocê esta muito longe!", player, 255, 0, 0, true ) end end end end) Obs: não testado Vê se isso funciona. Edited January 16, 2020 by Developer. 1 Link to comment
Jonas^ Posted January 16, 2020 Share Posted January 16, 2020 (edited) Código melhorado e devidamente indentado..... addCommandHandler ("versujo", function (player, cmd, target) if (isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(player)), aclGetGroup("Policial"))) then local targetplayer = getPlayerFromName (target) if (targetplayer) then local pX, pY, pZ = getElementPosition (player) -- posição do policial local bX, bY, bZ = getElementPosition (targetplayer) -- posição do abordado local dist = getDistanceBetweenPoints3D (pX, pY, pZ, bX, bY, bZ) -- calcula a distancia da duas posições if dist < 3 then -- se a distancia for menor que 3 então: local Dinheiro_Sujo = getElementData (targetplayer, "moneysujo") outputChatBox ("✘#ffffffINFO#0037FF✘➺ #ffffffO Jogador Tem: #FF0000R$"..Dinheiro_Sujo.."#ffffff Na Carteira !", player, 0, 22, 100, true) else --se não for então: outputChatBox ("✘#ffffffINFO#0037FF✘➺ #ffffffVocê esta muito longe!", player, 0, 22, 100, true) end else outputChatBox ("Nenhum jogador encontrado com esse nick!", player, 255, 0, 0) end else outputChatBox ("Você não tem acesso a esse comando!", player, 255, 0, 0) end end) Edited January 18, 2020 by Lord Henry 2 Link to comment
K13 Posted January 16, 2020 Author Share Posted January 16, 2020 Obrigado @Jonas^ Me passa seu discord... Link to comment
Jonas^ Posted January 17, 2020 Share Posted January 17, 2020 20 hours ago, K13 said: Obrigado @Jonas^ Me passa seu discord... Jonas^#0001 A e só uma coisinha que acabei esquecendo fiz na pressa, esqueci de um argumento no outPut na linha 15, como não foi informado por se tratar de server-side ele ira mandar aquela mensagem pra todos e não apenas para o jogador que digitou o comando, troque ela por essa: outputChatBox ("Nenhum jogador encontrado com esse nick!", player, 255, 0, 0) Link to comment
Other Languages Moderators Lord Henry Posted January 18, 2020 Other Languages Moderators Share Posted January 18, 2020 Na verdade daria erro. Pois ele vai reclamar dizendo que esperava um argumento do tipo element mas recebeu um número (255). Corrigi para você. 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