Jump to content

[Duvida] Visibilidade do chat


Recommended Posts

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...