Ir para conteúdo

Featured Replies

Postado

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 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


 

  • Respostas 8
  • Visualizações 577
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
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

@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
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.

image.thumb.png.6602e1aab80a9b4df2def45100355dd7.png

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo