MrDante Posted August 26, 2015 Share Posted August 26, 2015 Alguem me Ajuda! Está Dando Erro na Linha 8 function getPlayerFromPartialName(thePlayer,commandName,sendToName,...) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 3, true) then return player else outputChatBox("O "getPlayerName(source)"#00ff00 Está Revistando o Jogador"getPlayerName(thePlayer)) local players = getElementsByType ( "player" ) for theKey,thePlayer in ipairs(players) do local level = getPlayerWantedLevel ( thePlayer ) if ( level > 0 ) then outputChatBox ( getPlayerName ( thePlayer ) .. " Está com " .. level .. " de procurado!" ) end end end addCommandHandler("revistar", getPlayerFromPartialName) Link to comment
RenanPG Posted August 26, 2015 Share Posted August 26, 2015 Coloque isso na linha 8. outputChatBox("O " .. getPlayerName(source) .. "#00ff00 Está Revistando o Jogador" .. getPlayerName(thePlayer)) Link to comment
n3wage Posted August 26, 2015 Share Posted August 26, 2015 Você misturou a função getPlayerFromPartialName com a parte de revistar o jogador, o certo seria criar outra função, Comentei o código inteiro para você entender function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end function revistar_jogador ( thePlayer, comando, nick ) -- definimos a função revistar_jogador --[[ Como você adicionou um comando, a função ganha 2 parametros thePlayer = Jogador que digitou o comando comando = Comando digitado o parametro nick foi definido por nós. --]] if nick then -- checamos se nick (o parametro que indica o nick do jogador a ser revistado) foi digitado if getPlayerFromPartialName ( nick ) then -- checamos se existe um player com o nick digitado local player_a_ser_revistado = getPlayerFromPartialName ( nick ) -- definimos player_a_ser_revistado como o player a ser revistado.. local nick_do_jogador = getPlayerName ( player_a_ser_revistado ) -- pegamos o nick do jogador local nick_do_policial = getPlayerName ( thePlayer ) -- pegamos o nick do policial (quem digitou o comando) local estrelas_de_procurado = getPlayerWantedLevel ( player_a_ser_revistado ) -- obtemos o nivel de procurado do 'bandido' outputChatBox( "O "..nick_do_policial.."#00ff00 Está Revistando o Jogador "..nick_do_jogador, root, 255, 255, 255, true ) -- Mandamos a mensagem para todos do servidor (root = todos) outputChatBox ( "Nivel de procurado de "..nick_do_jogador..": "..estrelas_de_procurado, thePlayer, 255, 255, 255, true ) -- Mandamos outra mensagem dessa vez apenas para quem digitou o comando end end end addCommandHandler ( "revistar", revistar_jogador ) -- adicionar o comando Qualquer dúvida poste aqui. Link to comment
MrDante Posted August 27, 2015 Author Share Posted August 27, 2015 obrigadao amigo, estava precisando mesmo de uma ajuda sim sou inciante em scripts , mas tbm ou pergunta, qual comando que posso usar para só tal acl poder usar esse comando? Link to comment
n3wage Posted August 27, 2015 Share Posted August 27, 2015 obrigadao amigo, estava precisando mesmo de uma ajuda sim sou inciante em scripts , mas tbm ou pergunta, qual comando que posso usar para só tal acl poder usar esse comando? isObjectInACLGroup (clique e olhe o primeiro exemplo). Link to comment
MrDante Posted August 28, 2015 Author Share Posted August 28, 2015 agora me veio mais um erro attemp condenate local' accname' (a boolean value) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "ROTA" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "ROCAM" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "FT" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "PM" ) ) then end Link to comment
DNL291 Posted August 28, 2015 Share Posted August 28, 2015 Deve ser 'thePlayer' não retornando um elemento-jogador. Link to comment
MrDante Posted August 29, 2015 Author Share Posted August 29, 2015 function revistar_jogador ( thePlayer, comando, nick ) if nick then if getPlayerFromPartialName ( nick ) then local player_a_ser_revistado = getPlayerFromPartialName ( nick ) local nick_do_jogador = getPlayerName ( player_a_ser_revistado ) local nick_do_policial = getPlayerName ( thePlayer ) local estrelas_de_procurado = getPlayerWantedLevel ( player_a_ser_revistado ) outputChatBox( "#A09E9EO Policial"..nick_do_policial.."#A09E9E Está Revistando o #FC0303Jogador "..nick_do_jogador, root, 255, 255, 255, true ) outputChatBox ("#A09E9EO Nivel de #FC0303procurado #A09E9EO de "..nick_do_jogador..": "..estrelas_de_procurado, thePlayer, 255, 255, 255, true ) end end end addCommandHandler ( "revistar", revistar_jogador ) enfim não consigo colocar acl nessa função, preciso colocar algo a mais na função? Link to comment
n3wage Posted August 29, 2015 Share Posted August 29, 2015 enfim não consigo colocar acl nessa função, preciso colocar algo a mais na função? Precisa colocar mais um if checando se o jogador está em determinada ACL. Usando o exemplo da wiki: function revistar_jogador ( thePlayer, comando, nick ) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then -- Troque Admin por sua ACL if nick then if getPlayerFromPartialName ( nick ) then local player_a_ser_revistado = getPlayerFromPartialName ( nick ) local nick_do_jogador = getPlayerName ( player_a_ser_revistado ) local nick_do_policial = getPlayerName ( thePlayer ) local estrelas_de_procurado = getPlayerWantedLevel ( player_a_ser_revistado ) outputChatBox( "#A09E9EO Policial"..nick_do_policial.."#A09E9E Está Revistando o #FC0303Jogador "..nick_do_jogador, root, 255, 255, 255, true ) outputChatBox ("#A09E9EO Nivel de #FC0303procurado #A09E9EO de "..nick_do_jogador..": "..estrelas_de_procurado, thePlayer, 255, 255, 255, true ) end end end end addCommandHandler ( "revistar", revistar_jogador ) Link to comment
MrDante Posted August 29, 2015 Author Share Posted August 29, 2015 Deu um problema, ele n funciona quando eu digita /revistar, mas funciona quando digita /revistar [nome do jogador] Link to comment
n3wage Posted August 29, 2015 Share Posted August 29, 2015 Deu um problema, ele n funciona quando eu digita /revistar, mas funciona quando digita /revistar [nome do jogador] Isso não é um problema, o código foi feito para ser assim. if nick then --[[ ^ aqui checamos se o jogador digitou algum nick, se não digitou nada acontecerá --]] Link to comment
MrDante Posted August 29, 2015 Author Share Posted August 29, 2015 bom mas era pra tal acl usar se não todos que não são policias podem 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