MA

[8.4] Enchant System And Rainbow Shield

Por MarcolinoGOD, 29 de dez. de 2008 em Actions e Talkactions

tibia
script
otserv
20
5.8k
MarcolinoGODM
29 de dezembro de 2008 às 13:05

Muitos ja devem ter o sistema de encantamento em seu ot, que é encantar gemas em altares do tipo fire/poison/ice/energy e este faz o mesmo só que é atualizado e conta com a possibilidade de encantar o Rainbow Shield.

 

Rainbow_Shield.gifRainbow Shield

 

Notas: Encantável (cada encanto dura 20 minutos).

Com os encantos você pode conseguir:

  • Sparking Rainbow Shield aumenta sua velocidade em 10 levels e possui defesa 36.
  • Fiery Rainbow Shield aumenta seu shielding skill em 3 e possui defesa 36.
  • Icy Rainbow Shield possui defesa 39.
  • Terran Rainbow Shield aumenta sua velocidade de regeneração e possui defesa 37.

 

Chega de explicações qualquer duvida ou erro é só reportar! Vamos la: :soudado:

 

enchant.lua

--by Richi~ --
function onUse(cid, item, frompos, item2, topos)

local gems = {2146, 2147, 2149, 2150}
local egems = {7759, 7760, 7761, 7762}
local altars = {{7508, 7509, 7510, 7511}, {7504, 7505, 7506, 7507}, {7516, 7517, 7518, 7519}, {7512, 7513, 7514, 7515}}
local weapons = {2383, 7384, 7389, 7406, 7402, 2429, 2430, 2435, 7380, 2454, 2423, 2445, 7415, 7392, 2391, 2544, 8905}
local eweapons = {{7763, 7744, 7854, 7869}, {7765, 7746, 7856, 7871}, {7770, 7751, 7861, 7876}, {7766, 7747, 7857, 7872}, {7767, 7748, 7858, 7873}, {7768, 7749, 7859, 7874}, {7769, 7750, 7860, 7875}, {7770, 7751, 7861, 7876}, {7771, 7752, 7862, 7877}, {7772, 7753, 7863, 7878}, {7773, 7754, 7864, 7879}, {7774, 7755, 7865, 7880}, {7775, 7756, 7866, 7881}, {7776, 7757, 7867, 7882}, {7777, 7758, 7868, 7883}, {7839, 7840, 7838, 7850}, {8907, 8906, 8909, 8908}}


local type = item.type
if type == 0 then
type = 1
end

local mana = 300 * type
local soul = 2 * type

if isInArray(gems, item.itemid)== TRUE then
for aa=1, #gems do
if item.itemid == gems[aa] then
a=aa
end
end
if isInArray(altars[a], item2.itemid)== TRUE then
if getPlayerMana(cid) >= mana and getPlayerSoul(cid) >= soul then
doTransformItem(item.uid,egems[a])
doPlayerAddMana(cid,-mana)
doPlayerAddSoul(cid,-soul)
doSendMagicEffect(frompos,39)
else
doPlayerSendCancel(cid,"You dont have mana or soul points.")
end
else
return 2
end

elseif isInArray(egems, item.itemid)== TRUE then
for bb=1, #egems do
if item.itemid == egems[bb] then
b=bb
end
end
if isInArray(weapons, item2.itemid)== TRUE then
for cc=1, #weapons do
if item2.itemid == weapons[cc] then
c=cc
end
end
doTransformItem(item2.uid,eweapons[c][b],1000)
doSendMagicEffect(frompos,39)
doRemoveItem(item.uid,1)
else
doPlayerSendCancel(cid,"You can't enchanted this.")
end
else
return 0
end
return 1
end

 

actions.xml

<action itemid="2146" script="enchant.lua" />

<action itemid="2147" script="enchant.lua" />

<action itemid="2150" script="enchant.lua" />

<action itemid="2149" script="enchant.lua" />

 

<action itemid="7759" script="enchant.lua" />

<action itemid="7760" script="enchant.lua" />

<action itemid="7761" script="enchant.lua" />

<action itemid="7762" script="enchant.lua" />

 

Espero que gostem!!! ;)

 

Creditos: richiadicct

Editado Dezembro 29 por Albert José

PhgsoaresP
29 de dezembro de 2008 às 13:10

Obrigado por compartilhar esse tutorial conosco do XTibia. Parece estar correto pelo o que constatei, só falta alguém que tenha um ot testá-lo.

MarcolinoGODM
29 de dezembro de 2008 às 14:10
Obrigado por compartilhar esse tutorial conosco do XTibia. Parece estar correto pelo o que constatei, só falta alguém que tenha um ot testá-lo.

 

Eu testei no TFS Mystic Spirit Rev.22 e Funcionou perfeitamente! Existem alguns ots em que o Rainbow Shield vem bugado

em um dos estados de encantamento e infelizmente ainda não descobri como resolver tal problema, mas nos servidores em que isto não ocorre acredito que o script funcione normalmente.

 

Obrigado por comentar~

PhgsoaresP
29 de dezembro de 2008 às 14:14
Eu testei no TFS Mystic Spirit Rev.22 e Funcionou perfeitamente! Existem alguns ots em que o Rainbow Shield vem bugado

em um dos estados de encantamento e infelizmente ainda não descobri como resolver tal problema, mas nos servidores em que isto não ocorre acredito que o script funcione normalmente.

 

Obrigado por comentar~

Sim, mas e os que o pessoal mais usa no 8.4 que são o Global (Servfull 2.3/2.2) e o YurOts funfa né?

Editado Dezembro 29 por Phgsoares

MarcolinoGODM
29 de dezembro de 2008 às 14:18
Sim, mas e os que o pessoal mais usa no 8.4 que são o Global (Servfull 2.3/2.2) e o YurOts funfa né?

 

O TFS que mencionei é 8.4... Ué ai depende se o Rainbow Shield esta ou não bugado no distro!

 

 

Edit: Update Script!

Editado Dezembro 29 por Albert José

tibiaa4eT
29 de dezembro de 2008 às 14:47

Boa...

 

+

AUHahuuha

 

EU que passei pra vc haha xD

 

Pra arrumar o bug da distro

tem q tirar os id do shiels do movements.xml

 

Ai acaba o bug do rainbow shield xD

MarcolinoGODM
29 de dezembro de 2008 às 15:28
Boa...

 

+

AUHahuuha

 

EU que passei pra vc haha xD

 

Pra arrumar o bug da distro

tem q tirar os id do shiels do movements.xml

 

Ai acaba o bug do rainbow shield xD

 

Biba você me passo foi os teleport que manda para os lugar onde encanta, esse aqui peguei em um forum ai!

Abraços.

tibiaa4eT
29 de dezembro de 2008 às 16:28

@up

 

mais aquele vem junto com esse xD

 

Por isso pensei q passei pra vc o0

 

BIba eh a vovozinha xD

 

Feliz ano novo!!!

MarcolinoGODM
29 de dezembro de 2008 às 20:34
@up

 

mais aquele vem junto com esse xD

 

Por isso pensei q passei pra vc o0

 

BIba eh a vovozinha xD

 

Feliz ano novo!!!

 

Uia nervosinha em aeuheau

 

function onStepIn(cid, item, pos)

local ice = {x=794, y=473, z=5}
local fire = {x=1202, y=754, z=15}
local energy = {x=1723, y=844, z=7}
local earth = {x=1202, y=829, z=7}

if getPlayerLookDir(cid) == 0 then
newdir = 2
elseif getPlayerLookDir(cid) == 1 then
newdir = 3
elseif getPlayerLookDir(cid) == 2 then
newdir = 0
else
newdir = 1
end
if item.actionid == 7801 then
if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 and getPlayerLevel(cid) >= 30 and isPremium(cid) == TRUE then
doTeleportThing(cid,ice)
doSendMagicEffect(ice,10)
else
doCreatureSay(cid,"Only Premium Druids of level 30 or higher are able to enter this portal", TALKTYPE_ORANGE_1)
doMoveCreature(cid, newdir)
end
elseif item.actionid == 7802 then
if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 and getPlayerLevel(cid) >= 30 and isPremium(cid) == TRUE then
doTeleportThing(cid,earth)
doSendMagicEffect(earth,10)
else
doCreatureSay(cid,"Only Premium Druids of level 30 or higher are able to enter this portal", TALKTYPE_ORANGE_1)
doMoveCreature(cid, newdir)
end
elseif item.actionid == 7803 then
if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 and getPlayerLevel(cid) >= 30 and isPremium(cid) == TRUE then
doTeleportThing(cid,fire)
doSendMagicEffect(fire,10)
else
doCreatureSay(cid,"Only Premium Sorcerers of level 30 or higher are able to enter this portal", TALKTYPE_ORANGE_1)
doMoveCreature(cid, newdir)
end
elseif item.actionid == 7804 then
if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 and getPlayerLevel(cid) >= 30 and isPremium(cid) == TRUE then
doTeleportThing(cid,energy)
doSendMagicEffect(energy,10)
else
doCreatureSay(cid,"Only Premium Sorcerers of level 30 or higher are able to enter this portal", TALKTYPE_ORANGE_1)
doMoveCreature(cid, newdir)
end
end
end

 

Esse foi o arquivo que você me mandou e o unico que tenho aqui que esta com seu msn registrado Oo!

Tipow esse script peguei no Otfans num comentario do richi~!

 

Feliz Ano Novo para você tambem brow e to esperando a Dreams em!? :smile_positivo:

1 mês depois...
TapetaoT
06 de janeiro de 2009 às 18:08

Man, simplesmente demais, testei no meu ot, funcionou perfeitamente e os players adoraram! Muito obrigado por trazer esse script até nós. :smile_positivo:

BillyBolaB
06 de janeiro de 2009 às 18:11

Caramba grande script, esse shield quando vira Icy Rainbow Shield fica o 2 melhor do jogo muito foda :D

ExalerE
07 de janeiro de 2009 às 08:45

Parabens funcionou certinho aqui em meu Open Tibia Server

Muito Obrigado

GM Exaler :666:

FER1561422F
13 de janeiro de 2009 às 03:55

:smile_positivo: Excelente

 

Muito bom esse escript, colocoquei no meu funfo certinho...continue assim Albert ...Seus post sempre me ajudou :smile_positivo:

hyloH
13 de janeiro de 2009 às 04:13

esse eah bom

jah adicionei no meu server!

MarcolinoGODM
16 de janeiro de 2009 às 19:49

Fique feliz que tenham gostado e obrigado por não serem

iguais a estes sangue-sugas (Referência ao Forum de Sexo) :surprised: que só sabem sugar e

sugar sem ao menos agradeçer!

 

Ps¹: A referência nem vou explicar... Quem frequenta o forum ta cançado de ouvir isso!