Postado Janeiro 20, 2021 4 anos se você passar por "or" simplesmente se ele tiver level abaixo quanto ele não tiver a storage irá passar @Endless local vocation = 233 local STORAGE = 30023 local Level = 50 local msg = 'Voce já ultilizou esse item' function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, STORAGE) == 1 and getPlayerLevel(cid) <= Level then doPlayerSendTextMessage(cid, 21, msg) else doRemoveItem(item.uid, 1) doPlayerSetVocation(cid, vocation) doSendMagicEffect(getThingPos(cid), 14) doPlayerSendTextMessage(cid, 20, "Você percente á vocação ["..getPlayerVocationName(cid).."]. Relogue para que as alterações sejam feitas.") return true end @isac001 testa agora Editado Janeiro 20, 2021 4 anos por ZoR (veja o histórico de edições) O rei de seu proprio destino é aquele que luta pela gloria do amanhã! Discord : ZoR#9373
Postado Janeiro 20, 2021 4 anos 3 minutos atrás, ZoR disse: se você passar por OR qualquer tanto se estiver storage ele não ira checar, pq se ele tiver level abaixo ele vai passar, pq OR checa qual das ambas é verdadeira Isso da pra contornar fazendo 1 else if: local vocation = 233 local STORAGE = 30023 local Level = 50 local msg = 'Voce nao pode utilizar esse item' function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) >= Level then return doPlayerSendCancel(cid, msg) else if getPlayerStorageValue(cid, STORAGE) == 1 return doPlayerSendCancel(cid, msg) else doRemoveItem(item.uid, 1) doPlayerSetVocation(cid, vocation) doSendMagicEffect(getThingPos(cid), 14) doPlayerSendTextMessage(cid, 20, "Você percente á vocação ["..getPlayerVocationName(cid).."]. Relogue para que as alterações sejam feitas.") return true end end Da forma que você havia deixado, ele só vai retornar quando as 2 condições forem verdadeiras, no caso: Ele iria precisar possuir a storage e ser maior que 50, se ele não tiver a storage mas for maior que 50 ele usaria também, da mesma forma que se ele for 50- e tiver a storage tambem iria poder usar. Quem eu sou? Meu nome é Waliston, mais conhecido como Endless, estudante de Análise e Desenvolvimento de Sistemas, e desenvolvedor da Falcon Games. Atuo no Ramo de OtServer desde 2017, porém desde 2019 venho me especializando em Desenvolvimento Web e Segurança Web.. Meus Projetos: Falcon Games Meu Github: https://github.com/WalistonBelles Meu Discord: Endless#5410 Minhas Contribuições atualmente pra Comunidade: [SHOWOFF] OTClient Showoff Módules [DESIGN] 3 FREE Game Ui Design [TUTORIAL] Instalando MyAAC em sua máquina [TUTORIAL] Restringindo a Listagem de Diretórios(URL) do Servidor Apache [TUTORIAL] Proteção contra DDoS utilizando Mod-evasive no Apache [SISTEMA] Plugin MyAAC Listagem de Items automática [SISTEMA] Gerador de Outfits Automática para o Site [SISTEMA] Sistema de Troca de Vocação para MyAAC [SISTEMA] Plugin MyAAC Auction System [SISTEMA] Sistema de Exibir Monstros por Level Algum trabalho meu te ajudou? Quer apoiar meu trabalho? Faça uma doação!! Picpay: @walistonbelles Paypal: [email protected]
Postado Janeiro 20, 2021 4 anos @Endless eu apenas retirei o return e passei um else você não precisa retornar doPlayerSendCancel(), tem a função que passa uma msg tbm que é doPlayerSendTextMessage(cid, MessageClasses, message) O rei de seu proprio destino é aquele que luta pela gloria do amanhã! Discord : ZoR#9373
Postado Janeiro 20, 2021 4 anos 3 minutos atrás, ZoR disse: @Endless eu apenas retirei o return e passei um else você não precisa retornar doPlayerSendCancel(), tem a função que passa uma msg tbm que é doPlayerSendTextMessage(cid, MessageClasses, message) Eu utilizei a sua função como base meu lindo. OBS: Eu não programo em lua, apenas estou corrigindo a lógica. Se você utilizar AND, ele só vai entrar nessa condição quando AMBAS situações forem verdadeiras. Logo quando só 1 for verdadeira ele vai deixar passar o que não pode acontecer. Por isso do 1° teste para checar se é level 50+, se for ja informa que não pode usar e cancela, se não for então testa se já possui a storage, se possui então informa que não pode usar e cancela, se não possui então significa que ele está apto a usar o item. Quem eu sou? Meu nome é Waliston, mais conhecido como Endless, estudante de Análise e Desenvolvimento de Sistemas, e desenvolvedor da Falcon Games. Atuo no Ramo de OtServer desde 2017, porém desde 2019 venho me especializando em Desenvolvimento Web e Segurança Web.. Meus Projetos: Falcon Games Meu Github: https://github.com/WalistonBelles Meu Discord: Endless#5410 Minhas Contribuições atualmente pra Comunidade: [SHOWOFF] OTClient Showoff Módules [DESIGN] 3 FREE Game Ui Design [TUTORIAL] Instalando MyAAC em sua máquina [TUTORIAL] Restringindo a Listagem de Diretórios(URL) do Servidor Apache [TUTORIAL] Proteção contra DDoS utilizando Mod-evasive no Apache [SISTEMA] Plugin MyAAC Listagem de Items automática [SISTEMA] Gerador de Outfits Automática para o Site [SISTEMA] Sistema de Troca de Vocação para MyAAC [SISTEMA] Plugin MyAAC Auction System [SISTEMA] Sistema de Exibir Monstros por Level Algum trabalho meu te ajudou? Quer apoiar meu trabalho? Faça uma doação!! Picpay: @walistonbelles Paypal: [email protected]
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.