Ir para conteúdo

#4 - aula de scripting lua - estrutura de controle - IF


Poccnn

Posts Recomendados

@Nildson

 

O que está ocorrendo é  um problema com sua declaração condicional.

Citar

if not getPlayerLevel(cid) == 1 then
        doSendMagicEffect(getThingPos(cid), 39)
        doPlayerSendTextMessage(cid, 25,"Você tem nível 0, upe até nível 1 e retorne aqui")

 

Substitua a função getplayerlevel por qualquer numero; diremos, Por 1: 

if not 1 == 1 then 

 

Sabemos que 1 é igual a 1 só que a palavra not inverte essa verdade para mentira fazendo com que o bloco do if não seja executado. Agora coloque qualquer numero diferente de 1 e verás que ele vai executar o bloco do if; veja:

 

if not 100 == 1 then

 

100 não é igual a 1, isso é falso, mas a palavra not inverte o valor dizendo que é verdadeiro e portanto executando o bloco do if. Isso serve para qualquer número. 

 

A mensagem que tu escreveu não condiz com a condição posta no if, pois o player pode ter qualquer valor diferente de um que esse bloco será executado.

Espero que tenha entendido.

Link para o comentário
Compartilhar em outros sites

Show de bola!

 

vejamos se aprendi..

waipon = assassin starscoins = dinheiroif waipon < 100 and coins  == 35000 then buyitems waipon 100elseif waipon < 100 thenbuyitems waipon 100elseif waipon >= 100 thengotolabel huntelse xlogreturn trueend

aqui utilizei alguns codigos do elfbot mas da pra entender como exemplo rsrs

Editado por Everson Miranda
Link para o comentário
Compartilhar em outros sites

1 hora atrás, Everson Miranda disse:

Show de bola!

 

vejamos se aprendi..

waipon = assassin starscoins = dinheiroif waipon < 100 and coins  == 35000 then buyitems waipon 100elseif waipon < 100 thenbuyitems waipon 100elseif waipon >= 100 thengotolabel huntelse xlogreturn trueend

aqui utilizei alguns codigos do elfbot mas da pra entender como exemplo rsrs

 

Já leu as outras aulas?

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Poccnn disse:

 

Já leu as outras aulas?

Ja lí sim @Poccnn muito interessante... estou tentando aprender um pouco de lua, por isso resolvi montar 1 otserver, nao para fins lucrativos mas para estudo e gostei da sua iniciativa ira me ajudar bastante 

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
local storage = 55000if getplayerstorage(cid, storage) == 1 thendoPlayerAddItem (cid, 2545, 1)doPlayerSendTextMessage(cid,22,"Você ganhou uma espada do dragao")elsedoPlayerSendTextMessage(cid,22,"voce nao tem permissao") return trueend

 

Link para o comentário
Compartilhar em outros sites

  • 11 months later...
 

Não sei como é o restante desse script, mas esse return true e esse end no final não fazem parte de nenhum bloco e o end não está fehando nenhum escopo, portanto geraria um erro de execução. 

 

 

 

Totalmente errado.

Tu fechou o if e após ter fechado quis abrir um elseif. 

O elseif está intimamente ligado ao if, portanto não pode ser declarado sozinho.

Outra coisa: a mensagem que tu pos nos dois blocos criados tanto por if quanto por elseif não condizem com a declaração da condição poata nos mesmo.

Sugiro que reveja a condição declarada ou a mensagem enviada e, caso seja preciso, re-leia essa aula:

 

                     if getPlayerSkill(cid) > 20 then
                     print("Sua skill é maior que 20")
                     elseif getPlayerSkill(cid) < 20 then
                     print("Sua Skill é menor que 20")
                     return true
                     end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...