Jump to content

Recommended Posts

Gostaria de quem tiver essa storage: 30023, não poder usar esse item.

 

e no max lvl 50.

 

Script:

Spoiler

function onUse(cid, item, frompos, item2, topos)
local v = 388

if getPlayerVocation(cid) == v then
    return doPlayerSendCancel(cid, "Você não pode fazer isso pois já tem essa vocação.") and true
end

    doRemoveItem(item.uid, 1)
    doPlayerSetVocation(cid, v)
    doSendMagicEffect(getThingPos(cid), 14)
    doPlayerSendTextMessage(cid, 20, "Você percente á vocação ["..getPlayerVocationName(cid).."]. Relogue para que as alterações sejam feitas.")
    return true
end

 

@Endless @Dwarfer @Naze

Link to post
Share on other sites

10 horas atrás, isac001 disse:

Gostaria de quem tiver essa storage: 30023, não poder usar esse item.

 

e no max lvl 50.

 

Script:

  Mostrar conteúdo oculto

function onUse(cid, item, frompos, item2, topos)
local v = 388

if getPlayerVocation(cid) == v then
    return doPlayerSendCancel(cid, "Você não pode fazer isso pois já tem essa vocação.") and true
end

    doRemoveItem(item.uid, 1)
    doPlayerSetVocation(cid, v)
    doSendMagicEffect(getThingPos(cid), 14)
    doPlayerSendTextMessage(cid, 20, "Você percente á vocação ["..getPlayerVocationName(cid).."]. Relogue para que as alterações sejam feitas.")
    return true
end

 

@Endless @Dwarfer @Naze


Salve mano, experimenta entrar no discord da Academia de Programação do próprio Tibiaking, lá você talvez consiga ter 1 contato/suporte melhor da comunidade.
Link: https://discord.gg/sH54JnMJKt

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: suporte.falcongames@gmail.com

Link to post
Share on other sites

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
    return doPlayerSendCancel(cid, msg)
end
    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

Edited by ZoR (see edit history)
O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link to post
Share on other sites

19 minutos atrás, ZoR disse:

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
    return doPlayerSendCancel(cid, msg)
end
    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

Ainda posso usar mesmo acima do lvl 50+ e com a storage

 

Link to post
Share on other sites

8 minutos atrás, isac001 disse:

Ainda posso usar mesmo acima do lvl 50+ e com a storage

 


Isso se da, porque o menino mandou a script com a condição de precisar ambas condições serem verdadeiras. Basta trocar o AND pelo OR ficando assim:

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 OR getPlayerLevel(cid) >= Level then
    return doPlayerSendCancel(cid, msg)
end
    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
Edited by Endless
Correção (see edit history)

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: suporte.falcongames@gmail.com

Link to post
Share on other sites

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

Edited by ZoR (see edit history)
O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link to post
Share on other sites

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: suporte.falcongames@gmail.com

Link to post
Share on other sites

@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


 

Link to post
Share on other sites

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: suporte.falcongames@gmail.com

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By ADMRagnarok
      .Qual servidor ou website você utiliza como base? 
      https://github.com/mattyx14/otxserver/tree/otxserv2
      Qual o motivo deste tópico? 
      Alguem teria um script de reset preferencialmente por source para otx2 atualizado https://github.com/mattyx14/otxserver/tree/otxserv2
      se for por distro as mudanças me diga aonde mudar eu mesmo compilo
      ou script normal mesmo, porem as configuraçoes do script seriam as seguintes
      level necessario para resetar = x
      aumento de x level para reset = x
      item e quantidade de item para resetar = x,x
      aumento de x items por reset= x
      vida e mana volta ao inicio ao resetar = true or false
      skills voltao ao inicio ao resetar = true false
      hp e mp adicional ganho /lvl por reset = 1% (configurável)
      dano e heal adicionado por reset = 1% configuravel
      reset voc = {x, x, x, x, x, x, x} (quando der o 10 reset por exemplo(configuravel) , será feito uma checagem de vocation para poder resetar, por exemplo até 10 resets qualquer voc reseta nao será feito checagem, porem no reset 10 só resetará se for uma das seguintes vocações, se for mais facil deixa só 1 reset configuravel assim se for dificil pode colocar apartir de tantos resets precisa da classe, coloque oque for mais pratico pois o efeito será o mesmo.
      teleport para o templo= true or false
      pode resetar com battle= true or false
      a cada x resets ganhe tal item (configuravel) reset x recebe item x ao resetar, reset =5 {2160, 100} - exemplo.
      nao me importa se será storage, source, script. só me importo com o resultado e que nao tenha bugs, quanto mais bem feito melhor na hora de negociar o preço, se nao for permitido este tipo de post aqui alguem me avise que eu retiro ele. se tem outro local por favor movam ele, mais informações mande msg no privado responderei assim que possível.
         
    • By Ackerzin
      Olá, achei esse codigo em outro forum, ele foi desenvolvido para abrir o mapa do old cliente, mas ele foi feito para 1.2+, gostaria de saber se alguem poderia passar ele para 0.4.

      crédito Gesior.pl
    • By iTzBrHue3
      .Qual servidor ou website você utiliza como base?  OTX 2.8
       
      Qual o motivo deste tópico? Duvida
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
          -- HP --
          conditionHP = createConditionObject(CONDITION_ATTRIBUTES)
          setConditionParam(conditionHP, CONDITION_PARAM_TICKS, -1)
          setConditionParam(conditionHP, CONDITION_PARAM_STAT_MAXHEALTH, n)
          setConditionParam(conditionHP, CONDITION_PARAM_BUFF, true)
          setConditionParam(conditionHP, CONDITION_PARAM_SUBID, 90)
          -- MANA --
          conditionMP = createConditionObject(CONDITION_ATTRIBUTES)
          setConditionParam(conditionMP, CONDITION_PARAM_TICKS, -1)
          setConditionParam(conditionMP, CONDITION_PARAM_STAT_MAXMANA, 9999)
          setConditionParam(conditionMP, CONDITION_PARAM_BUFF, true)
          setConditionParam(conditionMP, CONDITION_PARAM_SUBID, 91)
          -- Magic Level --
          conditionML = createConditionObject(CONDITION_ATTRIBUTES)
          setConditionParam(conditionML, CONDITION_PARAM_TICKS, -1)
          setConditionParam(conditionML, CONDITION_PARAM_STAT_MAGICLEVEL, 99)
          setConditionParam(conditionML, CONDITION_PARAM_BUFF, true)
          setConditionParam(conditionML, CONDITION_PARAM_SUBID, 92)
          -- MELEE --
          conditionMELEE = createConditionObject(CONDITION_ATTRIBUTES)
          setConditionParam(conditionMELEE, CONDITION_PARAM_TICKS, -1)
          setConditionParam(conditionMELEE, CONDITION_PARAM_SKILL_CLUB, 99)
          setConditionParam(conditionMELEE, CONDITION_PARAM_SKILL_SWORD, 99)
          setConditionParam(conditionMELEE, CONDITION_PARAM_SKILL_AXE, 99)
          setConditionParam(conditionMELEE, CONDITION_PARAM_BUFF, true)
          setConditionParam(conditionMELEE, CONDITION_PARAM_SUBID, 93)
          -- Shield --
          conditionSHI = createConditionObject(CONDITION_ATTRIBUTES)
          setConditionParam(conditionSHI, CONDITION_PARAM_TICKS, -1)
          setConditionParam(conditionSHI, CONDITION_PARAM_SKILL_SHIELD, 99)
          setConditionParam(conditionSHI, CONDITION_PARAM_BUFF, true)
          setConditionParam(conditionSHI, CONDITION_PARAM_SUBID, 94)
          -- Dist --
          conditionDIST = createConditionObject(CONDITION_ATTRIBUTES)
          setConditionParam(conditionDIST, CONDITION_PARAM_TICKS, -1)
          setConditionParam(conditionDIST, CONDITION_PARAM_SKILL_DISTANCE, 99)
          setConditionParam(conditionDIST, CONDITION_PARAM_BUFF, true)
          setConditionParam(conditionDIST, CONDITION_PARAM_SUBID, 95)
      function onLogin(cid)
          doAddCondition(cid, conditionHP)
          doAddCondition(cid, conditionMP)
          doAddCondition(cid, conditionML)
          doAddCondition(cid, conditionMELEE)
          doAddCondition(cid, conditionSHI)
          doAddCondition(cid, conditionDIST)
          return true
      end
       
       
      Como eu faço pra adcionar os valores das condition vindo de um storage do player?
       
    • By Myalitth
      .Qual servidor ou website você utiliza como base? 
       
      OTX -  TFS 1.2
       
      Boa Noite, eu gostaria de um script que fizesse com que um item x sumisse de determinado SQM quando um player pise em um determinado tile (sqm) e reaparecer quando o player sair do tile...
      Se possivel com um exausted entre efeitos (ações).
       
      Exemplo a ilha da Spike Sword em Rookgaard, só que com um tile proximo em que possa sumir o item ao pisar.
       
      Eu tentei porém não obtive exito
       
       
    • By Nto Avus Official
      Opa rapazeada queria uma ajuda pra colocar esse script de akatsuki pra dar a outfit e dar dano, pros jogadores, queria que não desse hp e sim dano tipo uns 2000 de dano.
       
      Script
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo