FelipeMallmann Posted May 2, 2015 Share 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 Link to comment
#RooTs Posted May 2, 2015 Share 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 Link to comment
#RooTs Posted May 2, 2015 Share Posted May 2, 2015 no meu ponto de vista, o seu roteiro está certo; pois está fechando a função e fechando a IF Link to comment
RenanPG Posted May 2, 2015 Share 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 Link to comment
n3wage Posted May 2, 2015 Share 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. Link to comment
FelipeMallmann Posted May 2, 2015 Author Share 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 Link to comment
DNL291 Posted May 3, 2015 Share 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. 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