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 hiquezerah
      .Qual servidor ou website você utiliza como base? OTX
       
      Qual o motivo deste tópico? Bom dia rapazeada do tk, alguém poderia me ajudar a solucionar esse erro que está ocorrendo com esse script? Acabei achando esse script aqui mesmo no tk e tentei adaptalo para assim que o player chegar a certa porcentagem de vida irá ativar uma spell.
      o script está funcionando, a spell está sendo ativada, porém mostra esse erro na distro "spell not found". Alguém poderia me ajudar por favor?
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      local config = { vocations = {10,11, 22}, --IDs das vocações. percent = 95, -- porcentagem de sair a magia (50 = 50% de chance) valorvida = 100, --quanto deve ser o valor minimo de vida a perder para executar o script storage = 112993, time = 1, spell = "shikai" } function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida and isInArray(config.vocations, getPlayerVocation(cid)) then if math.random (1,100) <= config.percent and getPlayerStorageValue(cid, 112993) < os.time() then doCreatureCastSpell(cid, config.spell) setPlayerStorageValue(cid, 112993, os.time() + config.time * 20) end end return true end    
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By knepperzik
      Estou usando OTX.

      Fala galera,

      Estou com um probleminha em meu servidor, sobre o castle, não esta salvando a guild dominante.
      Ja verifiquei o config.lua e sim esta como "true" saveGlobalStorage=true.
      Se alguem conseguir dar uma ajuda.
       
    • By GniusPlay
      Pessoal, tenho uma script que o player ganha x item e volta para o cp quando não tem ninguem em x  area, mas eu gostaria de fazer com que essa script fosse ativada depois de 5 segundos após o player pisar nesse tile.
      Exemplo: Player pisa no tile, da 5 segundos e o script é ativado
      Se não tiver ninguem nessa area, o script passa 5 segundos e funciona normal, caso tenha player nessa area, o script não funciona!
      A script ja esta ok, só falta adicionar 5 segundos
       
      function onStepIn(cid, item, position, fromPosition) local pos = {x = 1037, y = 1034, z = 7} local battlewin = 1 if #getCreatureSummons(cid) >= 1 then else if #getPlayersInArea(battleroyale.area) > 1 then return true end doTeleportThing(cid, pos) local item = doPlayerAddItem(cid, 5805, 1) doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.") doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale") doPlayerAddItem(cid,12618,1) doPlayerAddItem(cid,2152,30) addTopbattle(cid, battlewin) return true end end  
    • By GniusPlay
      Pessoal, preciso de uma script que limitasse x item dos players
      Por exemplo, ele só poderia ter na sua conta 5 pedras, se colocasse pra ter 6 pedra não teria como!
       
    • By GniusPlay
      Pessoal, tenho uma script que o player só passa se ele tiver uma guild, a script funciona  certinho, só q da um erro na distro quando um pokemon (monstro) passa por cima desse tile
      Erro:
      [07/03/2021 16:08:43] [Error - MoveEvents Interface] 
      [07/03/2021 16:08:43] datapack/movements/scripts/guildpiso.lua:onStepIn
      [07/03/2021 16:08:43] Description: 
      [07/03/2021 16:08:43] datapack/movements/scripts/guildpiso.lua:2: attempt to compare number with boolean
      [07/03/2021 16:08:43] stack traceback:
      [07/03/2021 16:08:43]     datapack/movements/scripts/guildpiso.lua:2: in function <datapack/movements/scripts/guildpiso.lua:1>
       
      Script:
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo