Ir para conteúdo

[8.4] Enchant System And Rainbow Shield


MarcolinoGOD

Posts Recomendados

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 por Albert José
Link para o comentário
Compartilhar em outros sites

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~

Link para o comentário
Compartilhar em outros sites

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 por Phgsoares
Link para o comentário
Compartilhar em outros sites

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 por Albert José
Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

@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:

Link para o comentário
Compartilhar em outros sites

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!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...