Como Criar Mana Rune Para Ot's 8.11! Ots Xml E Sql

delton
Por delton
em Globalevents e Spells

delton

Ex-Xtibian
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 16/11/07Posts: 389Gênero: MasculinoChar no Tibia: Tiger Darm

Bom vamos começar como criar mana rune para ot XML!

Primeiro passo:

Entrar na pasta de /data/action/scripts depois copiar qualquer script.lua e colar na mesma pasta, entam renomear o script copiado para mfrune.lua depois abrir e apaguar tudo o que esta escrito e coloque isto:

 

-- New MF rune******--
function onUse(cid, item, frompos, item2, topos)
playerpos = {x=topos.x, y=topos.y, z=topos.z, stackpos=253}************
player = getThingfromPos(playerpos)
ml = getPlayerMagLevel(cid)
lvl = getPlayerLevel(cid)
formula = math.random(((lvl+ml)*2)-(lvl-ml))
if item2.itemid == 1 and ml >= 2 then
doSendMagicEffect(playerpos,1)
doPlayerAddMana(player.uid,formula)
doPlayerSay(player.uid,"Ahhhhhh",2)
if item.type > 1 then
doChangeTypeItem(item.uid,item.type-1)
else
doRemoveItem(item.uid,1)
end
end
if item2.itemid == 1 and ml <= 1 then
doSendMagicEffect(frompos,2)
doPlayerSendCancel(cid,"You dont Have Magic Level to use this rune.")
end
if item2.itemid >= 2 then
doPlayerSendCancel(cid,"You can only use this rune in you or in players.")
doSendMAgicEffect(frompos,2)
end
return 1
end

 

 

Segundo Passo:

Após o primeiro passo vem o segundo , agora voltar para a pasta /data/actions e abrir o arquivo actions.xml e colar:

 

<action itemid="2281" script="mfrune.lua" />

 

PS: O action itemid é o id do item a ser utilizado você pode modificalo o 2281 vou usar como exemplo.

 

Terceiro Passo:

Abrir a pasta /data/spells/scripts copiar qualquer script.lua e renomear para mana rune.lua depois abrir o arquivo mana rune.lua , apagar tudo oque esta escrito nele e escrever:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
doPlayerAddMana(cid, 1000)
return doCombat(cid, combat, var)
end

PS: no local doPlayerAddMana onde esta 1000 é a quantidade de mana que você deseja que adicione ao jogador, eu recomendo por 1000 dai você consequentemente vende esta runa por um preço digamos que alto.

 

Quarto Passo:

Voltar para a pasta /data/spells abrir o arquivo spells.xml e colocar:

 

<rune name="Mana Rune" id="2281" charges="1" maglv="5" mana="0" enabled="1" script="mana rune.lua"></rune>

 

PS: Você pode modificar o magic level que pode utilizar a runa e tambem no id se você modicifou ele no segundo passo tera de modificar aqui tambem.

 

Primeiro Passo B:

Agora tua mana rune ja esta criada, só que o npc não a vende entao vou mostrar como fazer o npc vende-la.

 

Abrir a pasta /data/npc/scripts abrir o arquivo runes.lua.

Procure um lugar que esteja escrito isto

 

if msgcontains(msg, 'runes') then
selfSay('I sell hmms (10gps cada), uhs (30gps cada), gfbs (20gps cada), explosions (30gps cada), sds (40gps cada) and blank runes (5gps cada).')

 

então adicione antes do blank rune a mana rune. ficara assim:

 

if msgcontains(msg, 'runes') then

selfSay('I sell hmms (10gps cada), uhs (30gps cada), gfbs (20gps cada), explosions (30gps cada), sds (40gps cada), mana rune (2k cada) and blank runes (5gps cada).')

 

PS: Você pode modificar opreço onde esta 2k pode colocar o preço que queira.

 

Segundo Passo B:

No mesmo arquivo ''runes.lua" procure o local onde esta as runas e entre elas coloque:

 

Citação:

elseif msgcontains(msg, 'mana rune') then

count = getCount(msg)

if count == 0 then

selfSay('Im Not Sell 0 Mana Rune!, Continue buying ')

talk_start = os.clock()

else

buy(cid,2281,count, 2000)

end

 

PS: Se você tiver modificado o id do item no Segundo e no Quarto Passo tera que modificar agora tambem, e se modificou o preço dela no Primeiro Passo B tera que modificar ali onde esta 2000, Cuidado: O preço neste segundo passo esta em gps isto é 1k = 1000gps

 

Agora vamos criar uma Mana Rune para OT SQL

Primeiro passo:

Entrar na pasta de /data/action/scripts depois copiar qualquer script.lua e colar na mesma pasta, entam renomear o script copiado para mfrune.lua depois abrir e apaguar tudo o que esta escrito e coloque isto:

 

-- New MF rune******--
function onUse(cid, item, frompos, item2, topos)
playerpos = {x=topos.x, y=topos.y, z=topos.z, stackpos=253}************
player = getThingfromPos(playerpos)
ml = getPlayerMagLevel(cid)
lvl = getPlayerLevel(cid)
formula = math.random(((lvl+ml)*2)-(lvl-ml))
if item2.itemid == 1 and ml >= 2 then
doSendMagicEffect(playerpos,1)
doPlayerAddMana(player.uid,formula)
doPlayerSay(player.uid,"Ahhhhhh",2)
if item.type > 1 then
doChangeTypeItem(item.uid,item.type-1)
else
doRemoveItem(item.uid,1)
end
end
if item2.itemid == 1 and ml <= 1 then
doSendMagicEffect(frompos,2)
doPlayerSendCancel(cid,"You dont Have Magic Level to use this rune.")
end
if item2.itemid >= 2 then
doPlayerSendCancel(cid,"You can only use this rune in you or in players.")
doSendMAgicEffect(frompos,2)
end
return 1
end

 

Segundo Passo:

Após o primeiro passo vem o segundo , agora voltar para a pasta /data/actions e abrir o arquivo actions.xml e colar:

 

<action itemid="2281" script="mfrune.lua"  />

 

PS: O action itemid é o id do item a ser utilizado você pode modificalo o 2281 vou usar como exemplo.

 

Terceiro Passo:

Abrir a pasta /data/spells/scripts copiar qualquer script.lua e renomear para mana rune.lua depois abrir o arquivo mana rune.lua , apagar tudo oque esta escrito nele e escrever:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
doPlayerAddMana(cid, 1000)
return doCombat(cid, combat, var)
end

PS: no local doPlayerAddMana onde esta 1000 é a quantidade de mana que você deseja que adicione ao jogador, eu recomendo por 1000 dai você consequentemente vende esta runa por um preço digamos que alto.

 

Quarto Passo:

Voltar para a pasta /data/spells abrir o arquivo spells.xml e colocar:

 

<rune name="Mana Rune" id="2281" charges="1" maglv="5" mana="0" enabled="1" script="mana rune.lua"></rune>

 

PS: Você pode modificar o magic level que pode utilizar a runa e tambem no id se você modificou ele no segundo passo tera de modificar aqui tambem.

 

Primeiro Passo B:

Agora tua mana rune ja esta criada, só que o npc não a vende entao vou mostrar como fazer o npc vende-la.

 

Abrir a pasta /data/npc/scripts abrir o arquivo runes.lua.

E digite a parte que está em negrito

 

-- Made by Delton // Coltain --

-- If you use or edit, please give credit to me --

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

 

local shopModule = ShopModule:new()

npcHandler:addModule(shopModule)

 

 

-- These have to be here so they won't mess up the keywords

shopModule:addBuyableItem({'energy field', 'ef'}, 2277, 115, 3, 'energy field rune')

shopModule:addBuyableItem({'fire field', 'ff'}, 2301, 85, 3, 'fire field rune')

shopModule:addBuyableItem({'poison field', 'pf'}, 2285, 65, 3, 'poison field rune')

 

 

local node1 = keywordHandler:addKeyword({'runes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell Healing, Support, Attack, Summon, and Field Runes.'})

 

shopModule:addBuyableItem({'mana', 'rune'}, 2281, 10, 'mana rune')

shopModule:addBuyableItem({'blank', 'rune'}, 2260, 10, 'blank rune')

 

local node2 = keywordHandler:addKeyword({'healing'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can sell you Antidote, Intense Healing, and Ultimate Healing Runes.'})

 

shopModule:addBuyableItem({'antidote', 'antidote'}, 2266, 65, 1, 'antidote rune')

shopModule:addBuyableItem({'intense healing', 'ih'}, 2265, 95, 1, 'intense healing rune')

shopModule:addBuyableItem({'ultimate healing', 'uh'}, 2273, 175, 1, 'ultimate healing rune')

 

local node3 = keywordHandler:addKeyword({'support'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can sell you Chameleon, Desintegrate, Destroy Field, Magic Wall, and Paralyze Runes.'})

 

shopModule:addBuyableItem({'chameleon', 'chameleon'}, 2291, 210, 1, 'chameleon rune')

shopModule:addBuyableItem({'desintegrate', 'desintegrate'}, 2310, 80, 3, 'desintegrate rune')

shopModule:addBuyableItem({'destroy field', 'destroy field'}, 2261, 45, 3, 'destroy field rune')

shopModule:addBuyableItem({'magic wall', 'mw'}, 2293, 350, 3, 'magic wall rune')

shopModule:addBuyableItem({'paralyze', 'paralyze'}, 2278, 700, 1, 'paralyze rune')

 

 

local node4 = keywordHandler:addKeyword({'attack'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can sell you Avalanche, Explosion, Fireball, Great Fireball, Heavy Magic Missile, Icicle, Light Magic Missile, Soulfire, Stalagmite, Stone Shower, Sudden Death, Thunderstorm Runes.'})

 

shopModule:addBuyableItem({'avalanche', 'avalanche'}, 2274, 180, 4, 'avalanche rune')

shopModule:addBuyableItem({'explosion', 'explo'}, 2274, 190, 6, 'explosion rune')

shopModule:addBuyableItem({'great fireball', 'gfb'}, 2304, 180, 4, 'great fireball rune')

shopModule:addBuyableItem({'fireball', 'fb'}, 2302, 150, 5, 'fireball rune')

shopModule:addBuyableItem({'heavy magic missile', 'hmm'}, 2311, 120, 10, 'heavy magic missile rune')

shopModule:addBuyableItem({'icicle', 'icicle'}, 2271, 150, 5, 'icicle rune')

shopModule:addBuyableItem({'light magic missile', 'lmm'}, 2287, 40, 10, 'light magic missile rune')

shopModule:addBuyableItem({'soulfire', 'sf'}, 2308, 140, 3, 'soulfire rune')

shopModule:addBuyableItem({'stalagmite', 'stalagmite'}, 2292, 120, 10, 'stalagmite rune')

shopModule:addBuyableItem({'stone shower', 'ss'}, 2288, 150, 4, 'stone shower rune')

shopModule:addBuyableItem({'sudden death', 'sd'}, 2268, 325, 3, 'sudden death rune')

shopModule:addBuyableItem({'thunderstorm', 'thunderstorm'}, 2315, 150, 4, 'thunderstorm rune')

 

local node5 = keywordHandler:addKeyword({'summon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can sell you Animate Dead and Convince Creature Runes.'})

 

shopModule:addBuyableItem({'animate dead', 'animate dead'}, 2316, 375, 1, 'animate dead rune')

shopModule:addBuyableItem({'convince creature', 'cc'}, 2302, 80, 1, 'convince creature rune')

 

local node6 = keywordHandler:addKeyword({'field'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can sell you Energy Bomb, Energy Field, Energy Wall, Fire Bomb, Fire Field, Fire Wall, Poison Bomb, Poison Field, and Poison Wall Runes.'})

 

shopModule:addBuyableItem({'energy bomb', 'energybomb'}, 2262, 325, 2, 'energy bomb rune')

shopModule:addBuyableItem({'energy wall', 'ew'}, 2279, 340, 4, 'energy wall rune')

shopModule:addBuyableItem({'fire bomb', 'firebomb'}, 2305, 235, 2, 'fire bomb rune')

shopModule:addBuyableItem({'fire wall', 'fw'}, 2303, 245, 4, 'fire wall rune')

shopModule:addBuyableItem({'poison bomb', 'pb'}, 2286, 170, 2, 'poison bomb rune')

shopModule:addBuyableItem({'poison wall', 'pw'}, 2289, 210, 4, 'poison wall rune')

 

 

local node7 = keywordHandler:addKeyword({'potions'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell Health, Mana, Strong Health, Strong Mana, Great Health, Great Mana, Ultimate Health, and Great Spirit Potions.'})

 

shopModule:addBuyableItem({'great spirit potion', 'gsp'}, 8376, 190, 'great spirit potion')

shopModule:addBuyableItem({'ultimate health potion', 'uhp'}, 8377, 310, 'ultimate health potion')

shopModule:addBuyableItem({'great mana potion', 'gmp'}, 7590, 120, 'great mana potion')

shopModule:addBuyableItem({'great health potion', 'ghp'}, 7591, 190, 'great health potion')

shopModule:addBuyableItem({'strong health potion', 'shp'}, 7588, 100, 'strong health potion')

shopModule:addBuyableItem({'strong mana potion', 'smp'}, 7589, 80, 'strong mana potion')

shopModule:addBuyableItem({'health potion', 'hp'}, 7618, 45, 'health potion')

shopModule:addBuyableItem({'mana potion', 'mp'}, 7620, 50, 'mana potion')

 

local node8 = keywordHandler:addKeyword({'wands'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell Wand of Vortex, Wand of Dragonbreath, Wand of Decay, Wand of Cosmic Energy, and Wand of Inferno.'})

 

shopModule:addBuyableItem({'wand of vortex', 'wov'}, 2190, 100, 'wand of vortex')

shopModule:addBuyableItem({'wand of dragonbreath', 'wodb'}, 2191, 1000, 'wand of dragonbreath')

shopModule:addBuyableItem({'wand of decay', 'wod'}, 2188, 5000, 'wand of decay')

shopModule:addBuyableItem({'wand of cosmic energy', 'woce'}, 2189, 10000, 'wand of cosmic energy')

shopModule:addBuyableItem({'wand of inferno', 'woi'}, 2187, 15000, 'wand of inferno')

 

local node10 = keywordHandler:addKeyword({'rods'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell Snakebite Rod, Moonlight Rod, Necrotic Rod, Terra Rod, and Hailstorm Rod.'})

 

shopModule:addBuyableItem({'snakebite rod', 'sbr'}, 2182, 100, 'snakebite rod')

shopModule:addBuyableItem({'moonlight rod', 'mlr'}, 2186, 1000, 'moonlight rod')

shopModule:addBuyableItem({'necrotic rod', 'nr'}, 2185, 5000, 'necrotic rod')

shopModule:addBuyableItem({'terra rod', 'tr'}, 2181, 10000, 'terra rod')

shopModule:addBuyableItem({'hailstorm rod', 'hsr'}, 2183, 15000, 'hailstorm rod')

 

PS: Você pode modificar opreço onde esta 10 gps pode colocar o preço que queira.

 

 

É isso ai pessoal xD

Espero que tenham aprovado

 

Flwss :D

Olá XTibiano:

Sua assinatura estava com um problema na TAG SPOILER e foi movida para a parte "Sobre mim".
Agradecemos a sua compreensão.

Atenciosamente,
JV Chequer

delton

Ex-Xtibian
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 16/11/07Posts: 389Gênero: MasculinoChar no Tibia: Tiger Darm

Ninguém vai comentar?

Olá XTibiano:

Sua assinatura estava com um problema na TAG SPOILER e foi movida para a parte "Sobre mim".
Agradecemos a sua compreensão.

Atenciosamente,
JV Chequer

DungeonTales

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/06/08Posts: 53

Olá muito bom o seu sistema de mana rune, eu estava com um probleminha por causa da mana rune no meu OT, a formula que eu estava usando recuperava toda a mana do player, intão já viu né, desequilibrio entre as classes...agora com a sua formula dá pra colocar o quanto que eu quero que recupere de mana (no seu code tá 1000, mas eu vou colocar 500!)

Obrigado!

lastsouls

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 13/12/07Posts: 628

10741820dd6.png

 

Aprovo esse tutorial por ser de um conteúdo que muitas pessoas procuram e estar bem explicado.

Continue assim sempre trazendo bons tutoriais para a comunidade.

 

Mas eu acho que falta imagens e cores nesse tutorial.

 

 

Abraços

DungeonTales

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/06/08Posts: 53

Cara, eu queria que o mana rune recuperasse pouco mais que o mana potion, mas não to conseguindo, mesmo eu tendo colocado a sua formula a runa recupera toda a mana do player, o meu codigo:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
doPlayerAddMana(cid, 500)
return doCombat(cid, combat, var)
end

Eu tinha certeza de que esse codigo faria recuperar exatos 500 de mana, mas ainda tá recuperando tudo, você sabe onde eu estou errando?

DungeonTales

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/06/08Posts: 53

Já resolvi...

Tambem tem que colocar o valor a recuperar no /actions

Valeu!

michaeltibia26

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/12/07Posts: 32Char no Tibia: Linkao

E pra Tira a Mana Rune do Server faz o que???

Aki Ta cheio de Flood(< Naum sei se é esse ¬¬' )

A Galerinha Pode ser Reportada =D

Cuidado aew ;D




É Meu Fan?Use Minha Fan Bar: =D



Minhas Metas
[X]1post
[X]5 posts (SERVO)
[X]10 posts (CAMPONÊS)
[X]25 posts (CAÇADOR)
[X]50 posts (CAVALEIRO)
[X]100 posts (BARONETE)
[ ]200 posts (BARÃO)
[ ]300 posts (VISCONDE)
[ ]400 posts (DUQUE)
[ ]600 posts (ARQUEDUQUE)
[ ]800 posts (ARISTOCRATA)
[ ]1000 posts (REGENTE)
[ ]1400 posts (SÁBIO)
[ ]1800 posts (SACERDOTE)
[ ]2500 posts (PRÍNCIPE)


Meus Fans




delton

Ex-Xtibian
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 16/11/07Posts: 389Gênero: MasculinoChar no Tibia: Tiger Darm

A mana rune funfa dependendo do ML do Personagem xD

Olá XTibiano:

Sua assinatura estava com um problema na TAG SPOILER e foi movida para a parte "Sobre mim".
Agradecemos a sua compreensão.

Atenciosamente,
JV Chequer

RedZL

Never mind, I'll find someone like you.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 06/11/06Posts: 850Char no Tibia: Xearius Thor

× DungeonTales

Utilize o botão +Editar no canto inferior direito ao invés de criar dois posts seguidos. :)

 

× Delton

 

Não encontrei a parte em negrito localizada no Primeiro Passo B. Especifique-o para que eu possa aprovar seu tutorial.

delton

Ex-Xtibian
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 16/11/07Posts: 389Gênero: MasculinoChar no Tibia: Tiger Darm

Desculpa aew é que no code não da pra coloca negrito mas ja arrumei flwss (desculpa a demora)

 

flwss

Olá XTibiano:

Sua assinatura estava com um problema na TAG SPOILER e foi movida para a parte "Sobre mim".
Agradecemos a sua compreensão.

Atenciosamente,
JV Chequer

Jvchequer

"Veni, vidi, vici."
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 10/10/05Posts: 2161Char no Tibia: Master Chequer

Olá Xtibiano,

 

Parabéns, o tópico está ótimo.

 

Mais está na seção errada.

 

 

Tópico Movido. :forward:

 

 

Atenciosamente,



JV Chequer *Sub-Administrador do Fórum Xtibia.com*

1271330714-U1306.gif

 

~ Fiz parte da Equipe Xtibia em um tempo que Tibia era minha família. Saudades de todos vocês.

renannstolerman

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/11/06Posts: 1

ai muito bom esse topico!

estou voltando a jogar ot agora!

e estou feliz de ver a evolução do ot!

parei de fazer ot e jogar frequentemente no 7.6

parabens pelo topico

espero que o tibia melhore cada dia mais!

abrass

Gofaia

Make your dreams alive!
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 15/03/08Posts: 295

Topico bem massa, mas eu ja tinha visto esse sistema :)

 

 

Bloody kisses

Ps: Hoje é dia de aprender mais como aquele troço funciona...

Se o provavel nao for verdade, o improvavel deve ser.

>>> Aprenda a programar em 10 anos <<<

QUOTE
Leonardo: vc é bonita
Leonardo: sua placa mae deve ser que nem voce

JunioRNiiT

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/04/08Posts: 23Char no Tibia: Rhena

bom topico

ajudo bastante ;D

DimasDaGama.png

 

Tem xbox360? Me add na Live! DimasDaGama

 

1017248_2.png

Draguesima

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/08/08Posts: 2Char no Tibia: Draguesima

Health rune como criar?