Ir para conteúdo
Propaganda

[0.3.6] Nature System otPokemon


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
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
Compartilhar em outros sites

  • 7 meses depois...

Algumas partes ficou traduzido, vou tentar mudar oq eu acho que tem que mudar

 

Link para o comentário
Compartilhar em outros sites

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
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

×
  • Criar Novo...