Renaz Posted April 26, 2019 Posted April 26, 2019 Oi , estou criando um script para o jogador chamar a polícia. porém quando ele chama a policia usando o comando /190 a mensagem aparece tanto para os jogadores do servidor quanto os policiais. Queria deixar a mensagem apenas aparecendo para quem estivesse na ACL da Policia . Tem como? function help (player) outputChatBox("#FF0000190: Cidadão ID "..id.." #bebebeChamou a Polícia, atenda o chamado!",player,255,255,255,true) <<<< Mensagem. end addCommandHandler ( "190", help ) Se alguém puder ajudar agradeço demais!
Jonas^ Posted April 26, 2019 Posted April 26, 2019 Você precisa fazer um loop obtendo todos os policiais
#DeltaSCR Posted April 26, 2019 Posted April 26, 2019 (edited) Tente assim: function help(thePlayer, commandName) local players = getElementsByType ("player") --// Aqui estou obtendo todos os elementos do tipo "player"; for _, cop in ipairs (players) do --// Loop para verificar quem está na ACL local account = getAccountName (getPlayerAccount(cop)) if isObjectInACLGroup ("user."..account, aclGetGroup ("ComandosPolicia")) then --// Altere pela ACL de seus policiais outputChatBox("190: Cidadão ID "..id.." #bebebeChamou a Polícia, atenda o chamado!", cop, 255, 0, 0, true) end end end addCommandHandler("190", help) OBS: Não testado Edited April 26, 2019 by #DeltaSCR Problemas na identação
Jonas^ Posted April 26, 2019 Posted April 26, 2019 function chamarPolicia (thePlayer) outputChatBox ("Você chamou os policiais com sucesso, aguarde.", thePlayer, 0, 255, 0) -- Avisa o jogador que usou o comando que a chamada foi efetuada com sucesso. for k, player in ipairs (getElementsByType("player")) do -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(player)), aclGetGroup ("ComandosPolicia")) then -- Se o jogador estiver na ACL "ComandosPolicia", então: outputChatBox ("190: Cidadão ID "..id.." #bebebeChamou a Polícia, atenda o chamado!", player, 255, 0, 0, true) -- Os policiais iram receber a denúncia. end end end addCommandHandler ("190", chamarPolicia) 1
Renaz Posted April 26, 2019 Author Posted April 26, 2019 No caso , eu coloquei para pegar o ID do jogador em vez do nickname , eu já tinha usado em outros scripts, mas quando digito /190 para usar o comando aparece "Cidadão "nil" " sabe como resolver? https://imgur.com/a/yRm5FRa function chamarPolicia (thePlayer) outputChatBox ("Você chamou os policiais com sucesso, aguarde.", thePlayer, 0, 255, 0) -- Avisa o jogador que usou o comando que a chamada foi efetuada com sucesso. for k, player in ipairs (getElementsByType("player")) do -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(player)), aclGetGroup ("PoliciaComandos")) then -- Se o jogador estiver na ACL "ComandosPolicia", então: outputChatBox ("#2E2EFE190: #848484Cidadão ID "..tostring(playerid).." #bebebeChamou a Polícia, atenda o chamado!", player, 255, 0, 0, true) -- Os policiais iram receber a denúncia. end end end addCommandHandler ("190", chamarPolicia)
#DeltaSCR Posted April 26, 2019 Posted April 26, 2019 8 minutes ago, Renazz said: No caso , eu coloquei para pegar o ID do jogador em vez do nickname , eu já tinha usado em outros scripts, mas quando digito /190 para usar o comando aparece "Cidadão "nil" " sabe como resolver? https://imgur.com/a/yRm5FRa function chamarPolicia (thePlayer) outputChatBox ("Você chamou os policiais com sucesso, aguarde.", thePlayer, 0, 255, 0) -- Avisa o jogador que usou o comando que a chamada foi efetuada com sucesso. for k, player in ipairs (getElementsByType("player")) do -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(player)), aclGetGroup ("PoliciaComandos")) then -- Se o jogador estiver na ACL "ComandosPolicia", então: outputChatBox ("#2E2EFE190: #848484Cidadão ID "..tostring(playerid).." #bebebeChamou a Polícia, atenda o chamado!", player, 255, 0, 0, true) -- Os policiais iram receber a denúncia. end end end addCommandHandler ("190", chamarPolicia) Cade a variável obtendo o ID do player?
Renaz Posted April 26, 2019 Author Posted April 26, 2019 (edited) eu sei a váriavel mas no caso qual o comando teria que usar? local pessoa = exports["[PRS]ID_System"]:getPlayerID(tonumber(playerid)) ? tostring(playerid) Edited April 26, 2019 by Renazz
#DeltaSCR Posted April 26, 2019 Posted April 26, 2019 Não, não precisa exportar, basta criar uma variável obtendo o ID do Player com getAccountID. Tente assim: function chamarPolicia (thePlayer) local playerID = getAccountID(getPlayerAccount(thePlayer)) outputChatBox ("Você chamou os policiais com sucesso, aguarde.", thePlayer, 0, 255, 0) -- Avisa o jogador que usou o comando que a chamada foi efetuada com sucesso. for k, player in ipairs (getElementsByType("player")) do -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(player)), aclGetGroup ("PoliciaComandos")) then -- Se o jogador estiver na ACL "ComandosPolicia", então: outputChatBox ("#2E2EFE190: #848484Cidadão ID "..playerID.." #bebebeChamou a Polícia, atenda o chamado!", player, 255, 0, 0, true) -- Os policiais iram receber a denúncia. end end end addCommandHandler ("190", chamarPolicia)
Renaz Posted April 26, 2019 Author Posted April 26, 2019 (edited) não tinha visto o seu comentário. não está funcionando. Edited April 26, 2019 by Renazz
Jonas^ Posted April 26, 2019 Posted April 26, 2019 Precisa exportar sim, ele usa um sistema de ID personalizado pra RP 1
Renaz Posted April 26, 2019 Author Posted April 26, 2019 (edited) agora não está aparecendo nada quando uso o comando EDIT: ele não tá funcionando por causa de um erro unexpected symbol near ' ' ligne 10 gerou caracter invisivel Edited April 26, 2019 by Renazz
#DeltaSCR Posted April 26, 2019 Posted April 26, 2019 O fórum tem esses bugs, é só apagar e reescrever
Renaz Posted April 26, 2019 Author Posted April 26, 2019 foi , mas está aparecendo "false" function chamarPolicia (thePlayer) local playerID = exports["[PRS]ID_System"]:getPlayerID(tonumber(playerid)) outputChatBox ("Você chamou os policiais com sucesso, aguarde.", thePlayer, 0, 255, 0) -- Avisa o jogador que usou o comando que a chamada foi efetuada com sucesso. for k, player in ipairs (getElementsByType("player")) do -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(player)), aclGetGroup ("PoliciaComandos")) then -- Se o jogador estiver na ACL "ComandosPolicia", então: outputChatBox ("#2E2EFE190: #848484Cidadão ID "..tostring(playerID).." #bebebeChamou a Polícia, atenda o chamado!", player, 255, 0, 0, true) -- Os policiais iram receber a denúncia. end end end addCommandHandler ("190",chamarPolicia) já está com o sistema de id exportado.
Jonas^ Posted April 26, 2019 Posted April 26, 2019 11 minutes ago, Renazz said: agora não está aparecendo nada quando uso o comando EDIT: ele não tá funcionando por causa de um erro unexpected symbol near ' ' ligne 10 gerou caracter invisivel Mande o código via pastebin para mim que eu retiro. 1
#DeltaSCR Posted April 26, 2019 Posted April 26, 2019 11 minutes ago, Jonas^ said: Precisa exportar sim, ele usa um sistema de ID personalizado pra RP É, se for nesse caso sim, agora se ele quiser obter o ID "Padrão" do MTA, Salvo no internal, basta usar o que eu citei anteriormente...
Renaz Posted April 26, 2019 Author Posted April 26, 2019 1 minute ago, Jonas^ said: Mande o código via pastebin para mim que eu retiro. já resolvi. 1 minute ago, #DeltaSCR said: É, se for nesse caso sim, agora se ele quiser obter o ID "Padrão" do MTA, Salvo no internal, basta usar o que eu citei anteriormente... é eu uso um para roleplay , porém não está funcionando mesmo assim fica dando "false"
Jonas^ Posted April 26, 2019 Posted April 26, 2019 debugscript 3 retorna algum erro? já conferiu se o sistema de id esta ativo? 1
Renaz Posted April 26, 2019 Author Posted April 26, 2019 (edited) function chamarPolicia (thePlayer) local playerID = exports["[PRS]ID_System"]:getPlayerID(tonumber(playerid)) outputChatBox ("Você chamou os policiais com sucesso, aguarde.", thePlayer, 0, 255, 0) -- Avisa o jogador que usou o comando que a chamada foi efetuada com sucesso. for k, player in ipairs (getElementsByType("player")) do -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(player)), aclGetGroup ("PoliciaComandos")) then -- Se o jogador estiver na ACL "ComandosPolicia", então: outputChatBox ("#2E2EFE190: #848484Cidadão ID "..tostring(playerID).." #bebebeChamou a Polícia, atenda o chamado!", player, 255, 0, 0, true) -- Os policiais iram receber a denúncia. end end end addCommandHandler ("190",chamarPolicia) 4 minutes ago, Jonas^ said: já conferiu se o sistema de id esta ativo? ele está ativo sim Edited April 26, 2019 by Renazz
Jonas^ Posted April 26, 2019 Posted April 26, 2019 Sabe aquele script de acl que você estava com dúvida a uns 2 dias atrás? poste o meta dele aqui pra mim ver uma coisa. 1
Renaz Posted April 26, 2019 Author Posted April 26, 2019 Just now, Jonas^ said: Sabe aquele script de acl que você estava com dúvida a uns 2 dias atrás? poste o meta dele aqui pra mim ver uma coisa. Aquele das multas?
Renaz Posted April 26, 2019 Author Posted April 26, 2019 <meta> <info author="Rut" name="multas" version="1.0" type="script" /> <script src="s.lua" type="server" /> <oop>true</oop> </meta>
Jonas^ Posted April 26, 2019 Posted April 26, 2019 (edited) Tire o local da variavel do playerID playerID = exports["[PRS]ID_System"]:getPlayerID(tonumber(playerid)) Edited April 26, 2019 by Jonas^ 1
Renaz Posted April 26, 2019 Author Posted April 26, 2019 Assim? function chamarPolicia (thePlayer) playerID = exports["[PRS]ID_System"]:getPlayerID(tonumber(playerid)) outputChatBox ("Você chamou os policiais com sucesso, aguarde.", thePlayer, 0, 255, 0) -- Avisa o jogador que usou o comando que a chamada foi efetuada com sucesso. for k, player in ipairs (getElementsByType("player")) do -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount(player)), aclGetGroup ("PoliciaComandos")) then -- Se o jogador estiver na ACL "ComandosPolicia", então: outputChatBox ("#2E2EFE190: #848484Cidadão ID "..tostring(playerID).." #bebebeChamou a Polícia, atenda o chamado!", player, 255, 0, 0, true) -- Os policiais iram receber a denúncia. end end end addCommandHandler ("190",chamarPolicia)
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