MrDante Posted October 1, 2015 Share Posted October 1, 2015 (edited) Bom eu quero que esse função de desalgemar ela só funciona se a uma outra função estiver executada, mas não funcionou tem algum problema? se a função algemar_jogador for verdadeira, em seguida executara essa função "if algemar_jogador == true then" mas ela não funciona function desalgemar_jogador (thePlayer, _, nick, algemar_jogador) if nick then if getPlayerFromPartialName ( nick ) then local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "ComandosPolicia") ) then local player_a_ser_algemado = getPlayerFromPartialName ( nick ) local nick_do_jogador = getPlayerName ( player_a_ser_algemado ) local policial = getPlayerName(thePlayer) if algemar_jogador == true then setPedAnimation ( player_a_ser_algemado ) setElementFrozen ( player_a_ser_algemado, false ) outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EO #FC0303Jogador "..nick_do_jogador.."#A09E9E Foi Desalgemado pelo #FC0303Policial "..policial..".", root, 255, 255, 255, true) outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EVocê Foi Desalgemado! ", player_a_ser_algemado, 255, 255, 255, true) else outputChatBox ("#000000[#FC0303POLICIA#000000]#A09E9EO Jogador Nao Esta Algemado", policial, 255, 255, 255, true) end else outputChatBox("#000000[#ff0000POLICIA#000000]#FF0000Você não tem permissão para usar este comando!", thePlayer, 255, 255, 255, true) end end end end addCommandHandler ( "desalgemar", desalgemar_jogador) já tentei de varias formas como elseif pra não afetar o else da acl group mas enfim n deu nada certo.. Edited October 4, 2015 by Guest Link to comment
brunob22 Posted October 1, 2015 Share Posted October 1, 2015 Bom eu quero que esse função de desalgemar ela só funciona se a uma outra função estiver executada, mas não funcionou tem algum problema? se a função algemar_jogador for verdadeira, em seguida executara essa função "if algemar_jogador == true then" mas ela não funciona function desalgemar_jogador (thePlayer, _, nick, algemar_jogador) if nick then if getPlayerFromPartialName ( nick ) then local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "ComandosPolicia") ) then local player_a_ser_algemado = getPlayerFromPartialName ( nick ) local nick_do_jogador = getPlayerName ( player_a_ser_algemado ) local policial = getPlayerName(thePlayer) if algemar_jogador == true then setPedAnimation ( player_a_ser_algemado ) setElementFrozen ( player_a_ser_algemado, false ) outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EO #FC0303Jogador "..nick_do_jogador.."#A09E9E Foi Desalgemado pelo #FC0303Policial "..policial..".", root, 255, 255, 255, true) outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EVocê Foi Desalgemado! ", player_a_ser_algemado, 255, 255, 255, true) else outputChatBox ("#000000[#FC0303POLICIA#000000]#A09E9EO Jogador Nao Esta Algemado", policial, 255, 255, 255, true) end else outputChatBox("#000000[#ff0000POLICIA#000000]#FF0000Você não tem permissão para usar este comando!", thePlayer, 255, 255, 255, true) end end end end addCommandHandler ( "desalgemar", desalgemar_jogador) já tentei de varias formas como elseif pra não afetar o else da acl group mas enfim n deu nada certo.. na onde o algemar_jogador recebe o valor true? Link to comment
MrDante Posted October 1, 2015 Author Share Posted October 1, 2015 sim , por exemplo se o algemar_jogador for verdadeiro em seguida executara a funçao, ou estou errado? Link to comment
n3wage Posted October 1, 2015 Share Posted October 1, 2015 Se você não modificou o código que lhe mandei no outro tópico algemar_jogador vai ser uma função e não um valor true/false Sendo assim você não pode usa-la para checar se um jogador está algemado, Oque você pode fazer é usar tabelas ou element datas, Vou explicar o modo com tabelas. Você primeiro devera criar a tabela em si, Basta usar isso no inicio do script: minhaTabela = {} Agora na parte de algemar o jogador você usa minhaTabela[thePlayer] = true ... E na de desalgemar você checa se ele está algemado usando: if minhaTabela[thePlayer] then -- jogador algemado else -- jogador desalgemado end obs: Não esqueça de definir que o jogador não está mais algemado (usando minhaTabela[thePlayer] = false). Se você quiser pode ler mais sobre tabelas aqui (Na parte de Tabelas Lua). Link to comment
MrDante Posted October 2, 2015 Author Share Posted October 2, 2015 Acho que entendi muito obrigado, acabei esquecendo do elemento data que poderia estar usando um pouco mais básico numa linguagem lua, obrigado Link to comment
MrDante Posted October 2, 2015 Author Share Posted October 2, 2015 local player_a_ser_algemado = getPlayerFromPartialName ( nick ) local nick_do_jogador = getPlayerName ( player_a_ser_algemado ) setElementData ( player_a_ser_algemado, "Algemado", nick_do_jogador) Está Correto? , Pois quando vou executar a função /desalgemar ela não reconhece a element data '-' local player_a_ser_desalgemado = getPlayerFromPartialName ( nick ) local policial = getPlayerName(thePlayer) if getElementData(player_a_ser_desalgemado, "Algemado") then else outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EO Jogador Nao Esta Algemado Pra Executar Este Comando! ", policial, 255, 255, 255, true) Aviso não estou colocando a função completa por acaso a ver roubo Link to comment
n3wage Posted October 3, 2015 Share Posted October 3, 2015 Tente assim: function desalgemar_jogador (thePlayer, _, nick ) if nick then if getPlayerFromPartialName ( nick ) then local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin") ) then local player_a_ser_desalgemado = getPlayerFromPartialName ( nick ) local nick_do_jogador = getPlayerName ( player_a_ser_desalgemado ) local policial = getPlayerName(thePlayer) if getElementData(player_a_ser_desalgemado, "Algemado") then setPedAnimation ( player_a_ser_desalgemado ) setElementFrozen ( player_a_ser_desalgemado, false ) outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EO #FC0303Jogador "..nick_do_jogador.."#A09E9E Foi Desalgemado pelo #FC0303Policial "..policial..".", root, 255, 255, 255, true) outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EVocê Foi Desalgemado! ", player_a_ser_desalgemado, 255, 255, 255, true) else outputChatBox ("#000000[#FC0303POLICIA#000000]#A09E9EO Jogador Nao Esta Algemado", thePlayer, 255, 255, 255, true) end else outputChatBox("#000000[#ff0000POLICIA#000000]#FF0000Você não tem permissão para usar este comando!", thePlayer, 255, 255, 255, true) end end end end addCommandHandler ( "desalgemar", desalgemar_jogador) Se não funcionar coloque aqui oque o /debugscript 3 mostra. -- Aqui: outputChatBox ( "#000000[#FC0303POLICIA#000000]#A09E9EO Jogador Nao Esta Algemado Pra Executar Este Comando! ", policial, 255, 255, 255, true) Você estava usando policial como o jogador que a mensagem será enviada, só que policial é uma string (o nome do jogador) e não um elemento, O correto seria usar thePlayer. Link to comment
MrDante Posted October 3, 2015 Author Share Posted October 3, 2015 Funcionou, porém agora vem outra questão é que ele vai ficar com esse elemento data até sair do servidor, então eu posso executar o /desalgemar mesmo não está algemado, bom tem alguma função que retira o elemento ou não? Link to comment
n3wage Posted October 3, 2015 Share Posted October 3, 2015 Funcionou, porém agora vem outra questão é que ele vai ficar com esse elemento data até sair do servidor, então eu posso executar o /desalgemar mesmo não está algemado, bom tem alguma função que retira o elemento ou não? setElementData ( player_a_ser_desalgemado, "Algemado", nil ) -- ou removeElementData ( player_a_ser_desalgemado, "Algemado" ) 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