Ir para conteúdo

Parchment System


Roksas

Posts Recomendados

Parchment System

 

 

divisor.png

 

Saudações grandes homems, hehe. Já pensaram que legal um RPG aonde as magias se aprendem através de pergaminhos? É isso que vim trazer á vocês hoje!

 

 

 

 

Instalação

 

 

divisor.png

Vá em data/actions/scripts, copie algum arquivo da pasta e renomeie para parchment.lua e adicione dentro:

 

 

function onUse(cid, item, frompos, item2, topos)

local parchs = {
[7702] = {storage = 18000, spell1 = "Avalanche", spell2 = "Berserk"},
[7724] = {storage = 18001, spell1 = "Death Strike", spell2 = "Flame Strike"},
[7722] = {storage = 18002, spell1 = "Fierce Berserk", spell2 = "Fire Wave"},
[7529] = {storage = 18003, spell1 = "Explosion", spell2 = "Hells Core"},
}
local parch = parchs[item.itemid]


doPlayerLearnInstantSpell(cid, parch.spell1)
doPlayerLearnInstantSpell(cid, parch.spell2)
doPlayerSendTextMessage(cid, 27, "You just learn the spells: "..parch.spell1.." and  "..parch.spell2..".")
doRemoveItem(item.uid, 1)
return true
end

 

 

Abra com algum editor de texto o arquivo actions.xml e adicione essa tag:

 

<action itemid="7702;7724;7722;7529" event="script" value="parchment.lua"/>

 

 

 

 

 

Configuração

 

 

divisor.png

No código, mude apenas esta parte:

 

local parchs = {
[7702] = {storage = 18000, spell1 = "Avalanche", spell2 = "Berserk"},
[7724] = {storage = 18001, spell1 = "Death Strike", spell2 = "Flame Strike"},
[7722] = {storage = 18002, spell1 = "Fierce Berserk", spell2 = "Fire Wave"},
[7529] = {storage = 18003, spell1 = "Explosion", spell2 = "Hells Core"},
}

 

O que está entre [ e ], no caso os Item Ids 7702, 7724, 7722 e 7529. Você muda para os Item IDS dos 4 pergaminhos, se não quiser 4, apague quantas linhas quiser

 

Entre { e }, aonde está spell1 você coloca o nome da spell que o player vai aprender com este pergaminho, e spell2 também. No caso vai ganhar 2 spells cada pergaminho.

 

O nome, não é a palavra que fala para usá-la, e sim o nome que fica no spells.xml!

Após configurar esta parte, na tag do actions.xml, em itemid você coloca os Item IDS que colocou no código, separados por ;

 

<action itemid="ID;ID;ID;ID" event="script" value="parchment.lua"/>

 

 

 

 

Demonstração

 

 

divisor.png

20s6p92.jpg

 

 

Finalizações

 

 

divisor.png

É isso galerinha, esse foi um sistema que um amigo me pediu e resolvi postá-lo para todos. Obrigado pela atenção, críticas, dúvidas e sugestões estou aí para atendê-los, beijo na bunda :)

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

Obrigado galerinha. Luquinha4, não não. No caso você APRENDE as spells, com o pergaminho. Você clica e aprende.

 

@Faelz

É essa a intenção Faelz, obrigado, rsrs.

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

Ficou bem massa apesar de eu não jogar tibia esse system pode servir para outras bases, não?

Achei bem interessante, você criou do zero ou pegou base TM System? ;)

Vai ajudar muitas pessoas com isso, obrigado por compartilhar o conteúdo!!

Link para o comentário
Compartilhar em outros sites

Sugestão, coloca multi-opções de spells, não deixando limitado a apenas duas spells, sendo também obrigatoriamente duas:

 

function onUse(cid, item, frompos, item2, topos)
   local str = "You learned the spells: "
   local k = 0
   local parchs = {
       [7702] = {storage = 18000, spells = {"Avalanche", "Berserk", "Batata"}},
       [7724] = {storage = 18001, spells = {"Death Strike", "Flame Strike"}},
       [7722] = {storage = 18002, spells = {"Fierce Berserk", "Fire Wave"}},
       [7529] = {storage = 18003, spells = {"Explosion", "Hells Core"}},
   }

   local parch = parchs[item.itemid]

   for a, b in ipairs(parch.spells) do
       doPlayerLearnInstantSpell(cid, b)
       k = k+1
       str = str..b..(k < #parch.spells and ", " or "")
   end
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str)
   doRemoveItem(item.uid, 1)
return true
end

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...