FelipeMallmann Posted May 2, 2015 Posted May 2, 2015 Galera, estou tentando criar um comando /meurank, que mostre o respectivo rank da pessoa (grupo na acl), mas estou com duvida em quantos ENDs devo botar, pelo o que eu pensava era apenas um para o IF, e o outro para fechar tudo, mas ta dando erro dizendo que falta ENDs, ja coloquei eles por tudo mas sempre da o erro: expected end... 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$", player, 255, 255, 255, true ) else if isObjectInACLGroup("user." .. accountname, aclGetGroup("Cabo")) then outputChatBox ( "Seu rank atual é:#00FF00 Cabo#FFFFFF || Bonus por hora: #00FF00200-300#FFFFFF$", player, 255, 255, 255, true ) else if isObjectInACLGroup("user." .. accountname, aclGetGroup("Sargento")) then outputChatBox ( "Seu rank atual é:#00FF00 Sargento#FFFFFF || Bonus por hora: #00FF00300-400#FFFFFF$", player, 255, 255, 255, true ) else if isObjectInACLGroup("user." .. accountname, aclGetGroup("Tenente")) then outputChatBox ( "Seu rank atual é:#00FF00 Tenente#FFFFFF || Bonus por hora: #00FF00400-500#FFFFFF$", player, 255, 255, 255, true ) else if isObjectInACLGroup("user." .. accountname, aclGetGroup("Capitao")) then outputChatBox ( "Seu rank atual é:#00FF00 Capitão#FFFFFF || Bonus por hora: #00FF00500-600#FFFFFF$", player, 255, 255, 255, true ) else if isObjectInACLGroup("user." .. accountname, aclGetGroup("Coronel")) then outputChatBox ( "Seu rank atual é:#00FF00 Coronel#FFFFFF || Bonus por hora: #00FF00600-700#FFFFFF$", player, 255, 255, 255, true ) else if isObjectInACLGroup("user." .. accountname, aclGetGroup("Marechal")) then outputChatBox ( "Seu rank atual é:#00FF00 Marechal#FFFFFF || Bonus por hora: #00FF00800-1000#FFFFFF$", player, 255, 255, 255, true ) else outputChatBox ( "Seu rank atual é:#00FF00 Recruta#FFFFFF || Bonus por hora: #00FF0050-100#FFFFFF$", player, 255, 255, 255, true ) end end addCommandHandler("meurank", meurankatual) Podem me ajudar? Obrigado
#RooTs Posted May 2, 2015 Posted May 2, 2015 Olá Felipe, quando é aberto uma função EX: function name() --suas funções end -- fechando a função e quando inicia uma IF é assim EX: if variavel < 0 then end no caso do else if ela não precisa fechar, porque já tem 1ª if iniciada na primeira linha no caso o else if, não está abrindo. apenas ( abre if e fecha if ) ( elseif não precisa de ser fechada ) Obs: esse é o meu modo de explicar, quem souber explicar melhor, sinta-se a vontade
#RooTs Posted May 2, 2015 Posted May 2, 2015 no meu ponto de vista, o seu roteiro está certo; pois está fechando a função e fechando a IF
RenanPG Posted May 2, 2015 Posted May 2, 2015 (edited) Seu código parece estar correto, só o else if está errado o correto é elseif (tudo junto). Forma incorreta: http://i.imgur.com/6yzjqxT.png Forma correta: http://i.imgur.com/fwzVCBl.png Edited May 3, 2015 by Guest
n3wage Posted May 2, 2015 Posted May 2, 2015 end só é usado para fechar uma function() ou um if ( elseif e else estão dentro do if, então n precisam de outro end ), Veja o exemplo: var = 0 function valorVar () if var == "oi" then -- tudo abaixo daqui estará dentro do if acima, entao elseif's e else n precisam de outro end print ( "oi" ) elseif var == "tchau" then print ( "tchau" ) else print ( "nem oi nem tchau, "..var ) -- tudo acima daqui n estará mais dentro do if end -- end para fechar o if e tudo que tiver dentro if 1 + 1 == 2 then -- aqui criamos outro if, que precisa ser fechado tbm, pois n esta dentro do outro if print ( "1+1 == 2" ) if 2 + 4 == 24 then -- aqui criamos outro if, como ele não é elseif nem else, precisa ser fechado print ( "conta totalmente errada" ) end -- fechando end -- fechando end -- end para fechar a função o problema no seu codigo é que vc em vez de digitar elseif digita else if, então vc cria outro if dentro do else, igual essa parte do meu exemplo: if 1 + 1 == 2 then print ( "1+1 == 2" ) if 2 + 4 == 24 then -- aqui criamos outro if, como ele não é elseif nem else, precisa ser fechado print ( "conta totalmente errada" ) end -- fechando end -- fechando sou ruim com explicações mas deve ter dado para entender.
FelipeMallmann Posted May 2, 2015 Author Posted May 2, 2015 Obrigado #RooTs, Hornet e n3wage! Era apenas erro na escrita do elseif mesmo, me confundi pois em java é separado entao achei que aqui tambem seria! Muito obrigado, agora está funcionando perfeitamente
DNL291 Posted May 3, 2015 Posted May 3, 2015 Também usa-se o end para fechar um while do e loop-for. Tô esclarecendo só pra complementar, já que foi citado no caso de uma função e uma condição if. Please do not PM me with scripting related question nor support, use the forums instead.
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