FelipeMallmann Posted May 4, 2015 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!
n3wage Posted May 4, 2015 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.
FelipeMallmann Posted May 4, 2015 Author 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?
n3wage Posted May 4, 2015 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.
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