FelipeMallmann Posted May 4, 2015 Share Posted May 4, 2015 Fala galera, estou com outra pequena duvida aqui, estava olhando no mta wiki sobre o outputChatBox para tentar reparar um erro que cometi. Infelizmente para eu ir tentando até entender como funciona exatamente eu precisaria de 2 jogadores para ver se a mensagem está ou nao aparecendo para ele tambem, mas minha duvida é a seguinte: Tenho esse comando que é /meurank, quando um player digita ele, todos do chat conseguem ver ele, mas eu gostaria de tornar ele visivel apenas para o player que digitou Como não tenho condiçoes de testar isso gostaria de ajudar de voces. function meurankatual(thePlayer) accountname = getAccountName(getPlayerAccount(thePlayer)) if isObjectInACLGroup("user." .. accountname, aclGetGroup("Soldado")) then outputChatBox ( "Seu rank atual é:#00FF00 Soldado#FFFFFF || Bonus por hora: #00FF00100-200#FFFFFF$ || Vida: #00FF0013200 #FFFFFF(#00FF00110#FFFFFF%)", player, 255, 255, 255, true ) elseif isObjectInACLGroup("user." .. accountname, aclGetGroup("Cabo")) then outputChatBox ( "Seu rank atual é:#00FF00 Cabo#FFFFFF || Bonus por hora: #00FF00200-300#FFFFFF$ || Vida: #00FF0014400 #FFFFFF(#00FF00120#FFFFFF%)", player, 255, 255, 255, true ) elseif isObjectInACLGroup("user." .. accountname, aclGetGroup("Sargento")) then outputChatBox ( "Seu rank atual é:#00FF00 Sargento#FFFFFF || Bonus por hora: #00FF00300-400#FFFFFF$ || Vida: #00FF0015600 #FFFFFF(#00FF00130#FFFFFF%)", player, 255, 255, 255, true ) elseif isObjectInACLGroup("user." .. accountname, aclGetGroup("Tenente")) then outputChatBox ( "Seu rank atual é:#00FF00 Tenente#FFFFFF || Bonus por hora: #00FF00400-500#FFFFFF$ || Vida: #00FF0016800 #FFFFFF(#00FF00140#FFFFFF%)", player, 255, 255, 255, true ) elseif isObjectInACLGroup("user." .. accountname, aclGetGroup("Capitao")) then outputChatBox ( "Seu rank atual é:#00FF00 Capitão#FFFFFF || Bonus por hora: #00FF00500-600#FFFFFF$ || Vida: #00FF0018000 #FFFFFF(#00FF00150#FFFFFF%)", player, 255, 255, 255, true ) elseif isObjectInACLGroup("user." .. accountname, aclGetGroup("Coronel")) then outputChatBox ( "Seu rank atual é:#00FF00 Coronel#FFFFFF || Bonus por hora: #00FF00600-700#FFFFFF$ || Vida: #00FF0019800 #FFFFFF(#00FF00165#FFFFFF%)", player, 255, 255, 255, true ) elseif isObjectInACLGroup("user." .. accountname, aclGetGroup("Marechal")) then outputChatBox ( "Seu rank atual é:#00FF00 Marechal#FFFFFF || Bonus por hora: #00FF00800-1000#FFFFFF$ || Vida: #00FF0021600 #FFFFFF(#00FF00180#FFFFFF%)", player, 255, 255, 255, true ) else outputChatBox ( "Seu rank atual é:#00FF00 Recruta#FFFFFF || Bonus por hora: #00FF0050-100#FFFFFF$ || Vida: #00FF0012000 #FFFFFF(#00FF00100#FFFFFF%)", player, 255, 255, 255, true ) end end addCommandHandler("meurank", meurankatual) O codigo é esse, nao sei se devo mudar o (thePlayer) lá da função, ou o player do outputChatBox, gostaria de entender o que sao cada parametros desses, e tambem o que seria o source que andei vendo em varios codigos de outputChatBox Obrigado! Link to comment
n3wage Posted May 4, 2015 Share Posted May 4, 2015 Em momento nenhum player aparece definido no seu codigo, source tbm n (source eh mais para eventos, por exemplo no evento onVehicleEnter, source sera o veiculo que o player entrou, isso aparece em todas as paginas de todos os eventos). quando você adiciona um comando, a função definida no addCommandHandler recebe dois parâmetros function minhafuncao ( jogador, comando ) -- jogador (vc pode dar qualquer nome a variavel, player, thePlayer...): o jogador que digitou o comando, ele que vc devera usar nos outputchatbox por exemplo. -- comando: o comando digitado pelo player, por exemplo, você pode adicionar 2 addCommandHandler para a msm função depois saber qual comando o jogador digitou por esse parametro. outputChatBox ( "isso vai dar um erro ;-;", thePlayer ) -- errado, como usei jogador para definir quem digitou o comando isso n vai funcionar setElementPosition ( jogador, 0, 0, 10 ) -- correto end addCommandHandler ( "testar", minhafuncao ) Então, Como você usou thePlayer na função, deve usar thePlayer nos outputChatBox, ou então mudar a variavel da função, trocando thePlayer por player, dá na mesma coisa, Algumas pessoas definem source como o player que digitou o comando, isso confunde um pouco mas tambem pode ser usado. Link to comment
FelipeMallmann Posted May 4, 2015 Author Share Posted May 4, 2015 Hmm entendi, muito obrigado! Mas onde o segundo parametro: comando, entra no codigo? nao poderia ser feita a funçao somente com o parametro do jogador? Link to comment
n3wage Posted May 4, 2015 Share Posted May 4, 2015 Hmm entendi, muito obrigado! Mas onde o segundo parametro: comando, entra no codigo? nao poderia ser feita a funçao somente com o parametro do jogador? Pode, você usa o parametro comando se quiser. 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