Ir para conteúdo
Propaganda

Posts Recomendados

  • Suporte

Essa Nature Tenho A Um Tempo ( Fiquei Sabendo Que Tinha Um Corno Vendendo Entao Ta Ai )

Actions: goback.lua

Spoiler
Adicione isto antes de doSummonMonster:

local nature = getItemAttribute(item.uid, "nature")
if not nature then
    doItemSetAttribute(item.uid, "nature", NATURE_TABLE_NEWPOKE[math.random(1, #NATURE_TABLE_NEWPOKE)].nature)
end

 

Creaturescripts: look.lua

Spoiler
Em Baixo Do "end" do "Boost level: +" Coloque: 


      local nature = getItemAttribute(thing.uid, "nature")
      if nature then
         table.insert(str, "[NATURE]: " ..nature..".\n")
      end

 

Coloque La Na Pasta Lib: 1 - nature system.lua 

Ainda Em Lib: some functions.lua

Spoiler
Em Baixo De doItemSetAttribute(item, "happy", happy) ou se nao tiver em baixo desse doItemSetAttribute(item, "offense", off)   


doItemSetAttribute(item.uid, "nature", NATURE_TABLE_NEWPOKE[math.random(1, #NATURE_TABLE_NEWPOKE)].nature)
   

 

 Ainda Em Lib: level system.lua

Spoiler
Procure por:
local gênero = getItemAttribute(item, "gender") e getItemAttribute(item, "gender") ou 0
addEvent(doCreatureSetSkullType, 10, pk, gênero)

e em baixo cole:
local nature = getItemAttribute(item, "nature") or ""

Procure por:
if gender == SEX_FEMALE then
    setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)) + pokelevel * 3)
end

e em baixo cole:

para i = 1, 5 faça
    if NATURE_TABLE_SYSTEM[nature] e NATURE_TABLE_SYSTEM[nature].list_operator[i] == "+" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) + NATURE_TABLE_SYSTEM[nature]. list[i])
    elseif NATURE_TABLE_SYSTEM[nature] e NATURE_TABLE_SYSTEM[nature].list_operator[i] == "-" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) + NATURE_TABLE_SYSTEM[nature].list[ i])
    elseif NATURE_TABLE_SYSTEM[nature] e NATURE_TABLE_SYSTEM[nature].list_operator[i] == "*" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) * NATURE_TABLE_SYSTEM[nature].list[i] )
    fim
fim

 

 Em Talkactions: move1.lua

Spoiler
Procure por:
if getPlayerLevel(cid) < move.level then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter pelo menos o nível "..move.level.." para usar este movimento.")
    return true
end

e troque abaixo por:
local nature = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "nature") or ""
local extraCooldownAttr = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "extraCooldown") or 1
if nature ~= "Tímido" e natureza ~= "Apressado" e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2 + extraCooldownAttr) então
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem que esperar "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." segundos para usar "..move.name.." novamente.") retorna
    true
end

if nature == "Tímido" ou nature == "Apressado" e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2 - extraCooldownAttr) então
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem que esperar "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." segundos para usar "..move.name.." novamente." )
    retorna
o fim verdadeiro

Procure por:
local newid = 0

e adicione embaixo:
local extraCooldown = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "extraCooldown") or 1

Troque a funcao por esta:

if isSleeping(mypoke) ou isSilence(mypoke) then --alterado v1.5
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você não pode fazer isso agora.")
    return 0
else
    if nature == "Tímido" ou nature == "Apressado" então
        newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd - extraCooldown)
    else
        newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd + extraCooldown)
    end
end

Procure por: e em baixo cole ou substitua se tiver algo relacionado a set CD
addEvent(doAlertReady, move.cd + extraCooldown * 1000, cid, newid, move.name, it, cdzin)

se natureza == "Tímido" ou natureza == "Apressado" então
    newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd - extraCooldown)
else
    newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd + extraCooldown)
fim

 

                                                                                                                        image.png.1878b87c27d30dc97f6f9a412e86c44e.png.fb88e0546aa5efe1eda6ad87608e7320.png

  • Like 16
  • Thanks 4
  • Haha 2
Link para o comentário
https://tibiadevs.com/forums/topic/96-036-nature-system-otpokemon/
Compartilhar em outros sites

  • Administrador
1 hora atrás, Bolinha disse:

Essa Nature Tenho A Um Tempo ( Fiquei Sabendo Que Tinha Um Corno Vendendo Entao Ta Ai )

Actions: goback.lua

  Mostrar conteúdo oculto

Adicione isto antes de doSummonMonster:

local nature = getItemAttribute(item.uid, "nature")
if not nature then
    doItemSetAttribute(item.uid, "nature", NATURE_TABLE_NEWPOKE[math.random(1, #NATURE_TABLE_NEWPOKE)].nature)
end

 

Scripts de criatura: look.lua

  Mostrar conteúdo oculto

Em Baixo Do "end" do "Boost level: +" Coloque: 


      local nature = getItemAttribute(thing.uid, "nature")
      if nature then
         table.insert(str, "[NATURE]: " ..nature..".\n")
      end

Coloque La Na Pasta Lib:  1 - nature system.lua 3,32 KB · 1 baixar  

Ainda Em Lib: some functions.lua

  Mostrar conteúdo oculto

Em Baixo De doItemSetAttribute(item, "happy", happy) ou se nao tiver em baixo desse doItemSetAttribute(item, "offense", off)   
 

doItemSetAttribute(item.uid, "nature", NATURE_TABLE_NEWPOKE[math.random(1, #NATURE_TABLE_NEWPOKE)].nature)
   

 

 Ainda Em Lib: level system.lua

  Mostrar conteúdo oculto

Procure por:
local gender = getItemAttribute(item, "gender") and getItemAttribute(item, "gender") or 0
addEvent(doCreatureSetSkullType, 10, pk, gender)

e em baixo cole:
local nature = getItemAttribute(item, "nature") or ""

Procure por:
if gender == SEX_FEMALE then
    setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)) + pokelevel * 3)
end

e em baixo cole:

for i = 1, 5 do
    if NATURE_TABLE_SYSTEM[nature] and NATURE_TABLE_SYSTEM[nature].list_operator[i] == "+" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) + NATURE_TABLE_SYSTEM[nature].list[i])
    elseif NATURE_TABLE_SYSTEM[nature] and NATURE_TABLE_SYSTEM[nature].list_operator[i] == "-" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) + NATURE_TABLE_SYSTEM[nature].list[i])
    elseif NATURE_TABLE_SYSTEM[nature] and NATURE_TABLE_SYSTEM[nature].list_operator[i] == "*" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) * NATURE_TABLE_SYSTEM[nature].list[i])
    end
end

 Em Talkactions: move1.lua

  Mostrar conteúdo oculto

Procure por:
if getPlayerLevel(cid) < move.level then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
    return true
end

e troque embaixo por:
local nature = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "nature") or ""
local extraCooldownAttr = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "extraCooldown") or 1
if nature ~= "Timid" and nature ~= "Hasty" and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2 + extraCooldownAttr) then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
    return true
end

if nature == "Timid" or nature == "Hasty" and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2 - extraCooldownAttr)  then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
    return true
end

Procure por:
local newid = 0

e adicione embaixo:
local extraCooldown = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "extraCooldown") or 1

Troque a funcao por esta:

if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
    return 0
else
    if nature == "Timid" or nature == "Hasty" then
        newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd - extraCooldown)
    else
        newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd + extraCooldown)
    end
end

Procure por: e em baixo cole ou substitua se tiver algo relacionado a set CD
addEvent(doAlertReady, move.cd + extraCooldown * 1000, cid, newid, move.name, it, cdzin)

if nature == "Timid" or nature == "Hasty" then
    newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd - extraCooldown)
else
    newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd + extraCooldown)
end

 

muito bom mano, obrigado ❤️ vai ajudar muitos poketibias !

Link para o comentário
https://tibiadevs.com/forums/topic/96-036-nature-system-otpokemon/#findComment-434
Compartilhar em outros sites

  • 7 meses depois...
Em 27/08/2023 em 12:49, Bolinha disse:

Essa Nature Tenho A Um Tempo ( Fiquei Sabendo Que Tinha Um Corno Vendendo Entao Ta Ai )

Actions: goback.lua

  Mostrar conteúdo oculto
Adicione isto antes de doSummonMonster:

local nature = getItemAttribute(item.uid, "nature")
if not nature then
    doItemSetAttribute(item.uid, "nature", NATURE_TABLE_NEWPOKE[math.random(1, #NATURE_TABLE_NEWPOKE)].nature)
end

 

Creaturescripts: look.lua

  Mostrar conteúdo oculto
Em Baixo Do "end" do "Boost level: +" Coloque: 


      local nature = getItemAttribute(thing.uid, "nature")
      if nature then
         table.insert(str, "[NATURE]: " ..nature..".\n")
      end

 

Coloque La Na Pasta Lib:  1 - nature system.lua 3.32 kB · 36 downloads  

Ainda Em Lib: some functions.lua

  Mostrar conteúdo oculto
Em Baixo De doItemSetAttribute(item, "happy", happy) ou se nao tiver em baixo desse doItemSetAttribute(item, "offense", off)   


doItemSetAttribute(item.uid, "nature", NATURE_TABLE_NEWPOKE[math.random(1, #NATURE_TABLE_NEWPOKE)].nature)
   

 

 Ainda Em Lib: level system.lua

  Mostrar conteúdo oculto
Procure por:
local gênero = getItemAttribute(item, "gender") e getItemAttribute(item, "gender") ou 0
addEvent(doCreatureSetSkullType, 10, pk, gênero)

e em baixo cole:
local nature = getItemAttribute(item, "nature") or ""

Procure por:
if gender == SEX_FEMALE then
    setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)) + pokelevel * 3)
end

e em baixo cole:

para i = 1, 5 faça
    if NATURE_TABLE_SYSTEM[nature] e NATURE_TABLE_SYSTEM[nature].list_operator[i] == "+" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) + NATURE_TABLE_SYSTEM[nature]. list[i])
    elseif NATURE_TABLE_SYSTEM[nature] e NATURE_TABLE_SYSTEM[nature].list_operator[i] == "-" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) + NATURE_TABLE_SYSTEM[nature].list[ i])
    elseif NATURE_TABLE_SYSTEM[nature] e NATURE_TABLE_SYSTEM[nature].list_operator[i] == "*" then
        setPlayerStorageValue(pk, 1000 + i, getPlayerStorageValue(pk, 1000 + i) * NATURE_TABLE_SYSTEM[nature].list[i] )
    fim
fim

 

 Em Talkactions: move1.lua

  Mostrar conteúdo oculto
Procure por:
if getPlayerLevel(cid) < move.level then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter pelo menos o nível "..move.level.." para usar este movimento.")
    return true
end

e troque abaixo por:
local nature = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "nature") or ""
local extraCooldownAttr = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "extraCooldown") or 1
if nature ~= "Tímido" e natureza ~= "Apressado" e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2 + extraCooldownAttr) então
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem que esperar "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." segundos para usar "..move.name.." novamente.") retorna
    true
end

if nature == "Tímido" ou nature == "Apressado" e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 e getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2 - extraCooldownAttr) então
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem que esperar "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." segundos para usar "..move.name.." novamente." )
    retorna
o fim verdadeiro

Procure por:
local newid = 0

e adicione embaixo:
local extraCooldown = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "extraCooldown") or 1

Troque a funcao por esta:

if isSleeping(mypoke) ou isSilence(mypoke) then --alterado v1.5
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você não pode fazer isso agora.")
    return 0
else
    if nature == "Tímido" ou nature == "Apressado" então
        newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd - extraCooldown)
    else
        newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd + extraCooldown)
    end
end

Procure por: e em baixo cole ou substitua se tiver algo relacionado a set CD
addEvent(doAlertReady, move.cd + extraCooldown * 1000, cid, newid, move.name, it, cdzin)

se natureza == "Tímido" ou natureza == "Apressado" então
    newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd - extraCooldown)
else
    newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd + extraCooldown)
fim

 

                                                                                                                        image.png.1878b87c27d30dc97f6f9a412e86c44e.png.fb88e0546aa5efe1eda6ad87608e7320.png

"Consegui" estar adicionando, mas começou a dar um erro, fiz um tópico se puder me ajudar pfv.

https://tibiadevs.com/forums/topic/388-erro-ao-adicionar-nature-system/

Link para o comentário
https://tibiadevs.com/forums/topic/96-036-nature-system-otpokemon/#findComment-2051
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...