RA
moveevent

[MoveEvent] Ring Chaos Bangle

Por raalgusto, 28 de out. de 2009 em Actions e Talkactions

otserv
tibia
script
11
4k
raalgustoR
28 de outubro de 2009 às 14:34

Bom é O Seguinte vai Em Movements e Crie um Arquivo chamado "chaosbangle" e cole o seguinte :

 

-- >> Small config section --

 

local outfitMale =

{

lookType = 12,

lookHead = 19,

lookBody = 79,

lookLegs = 3,

lookFeet = 81,

lookAddons = 0

}

 

local outfitFemale =

{

lookType = 12,

lookHead = 19,

lookBody = 53,

lookLegs = 92,

lookFeet = 79,

lookAddons = 0

}

 

local cointype = 2152 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --

local tbcw = 2000 -- coin wasting time interval (miliseconds) --

local ncws = 1 -- number of coins used up during time interval --

local ncni = 20 -- number of coins needed to trigger the transformation --

local stcn = 20 -- number of coins needed to execute script (must be higher than ncni value) --

local warn = 1 -- warns player when runing short on coins, 1 = yes --

local cwar = 20 -- number of coins that triggers the warnings --

 

local bmaineff = CONST_ME_YELLOW_RINGS

local bsecondeff = CONST_ME_BLOCKHIT

local bflingeff = CONST_ANI_SMALLHOLY

local blandeff = CONST_ME_HOLYAREA

local bringwaste = CONST_ME_FIREWORK_YELLOW

local bringabsorb = CONST_ME_MAGIC_GREEN

 

local gmaineff = CONST_ME_EXPLOSIONAREA

local gsecondeff = CONST_ME_FIREAREA

local gflingeff = CONST_ANI_FIRE

local glandeff = CONST_ME_FIREWORK_RED

local gringwaste = CONST_ME_FIREWORK_RED

local gringabsorb = CONST_ME_MAGIC_RED

 

-- Small config section << --

 

local condition1 = createConditionObject(CONDITION_ATTRIBUTES)

setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)

setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 210)

setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 210)

setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 215)

setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 210)

 

local condition2 = createConditionObject(CONDITION_HASTE)

setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)

setConditionFormula(condition2, 2.5, 0, 3.0, 0)

 

function superform1(param)

if param.crca == 1 then

 

local pos = getCreaturePosition(param.cid)

local sex = getPlayerSex(param.cid)

 

local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}

local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}

local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}

local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}

 

local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}

local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}

local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}

local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}

 

if sex == 1 then

doSendMagicEffect(pos, bmaineff)

doSendMagicEffect(pos, bsecondeff)

 

doSendDistanceShoot(pos, nha, bflingeff)

doSendDistanceShoot(pos, sha, bflingeff)

doSendDistanceShoot(pos, wha, bflingeff)

doSendDistanceShoot(pos, eha, bflingeff)

doSendDistanceShoot(pos, nwa, bflingeff)

doSendDistanceShoot(pos, nea, bflingeff)

doSendDistanceShoot(pos, sea, bflingeff)

doSendDistanceShoot(pos, swa, bflingeff)

 

doSendMagicEffect(nha, blandeff)

doSendMagicEffect(sha, blandeff)

doSendMagicEffect(wha, blandeff)

doSendMagicEffect(eha, blandeff)

doSendMagicEffect(nwa, blandeff)

doSendMagicEffect(nea, blandeff)

doSendMagicEffect(sea, blandeff)

doSendMagicEffect(swa, blandeff)

 

doSetCreatureOutfit(param.cid, outfitMale, -1)

else

doSendMagicEffect(pos, gmaineff)

doSendMagicEffect(pos, gsecondeff)

 

doSendDistanceShoot(pos, nha, gflingeff)

doSendDistanceShoot(pos, sha, gflingeff)

doSendDistanceShoot(pos, wha, gflingeff)

doSendDistanceShoot(pos, eha, gflingeff)

doSendDistanceShoot(pos, nwa, gflingeff)

doSendDistanceShoot(pos, nea, gflingeff)

doSendDistanceShoot(pos, sea, gflingeff)

doSendDistanceShoot(pos, swa, gflingeff)

 

doSendMagicEffect(nha, glandeff)

doSendMagicEffect(sha, glandeff)

doSendMagicEffect(wha, glandeff)

doSendMagicEffect(eha, glandeff)

doSendMagicEffect(nwa, glandeff)

doSendMagicEffect(nea, glandeff)

doSendMagicEffect(sea, glandeff)

doSendMagicEffect(swa, glandeff)

doSetCreatureOutfit(param.cid, outfitFemale, -1)

end

 

doAddCondition(param.cid, condition1)

doAddCondition(param.cid, condition2)

 

local mhp = getCreatureMaxHealth(param.cid)

local mma = getPlayerMaxMana(param.cid)

local chp = getCreatureHealth(param.cid)

local cma = getPlayerMana(param.cid)

 

local dhp = mhp - chp

local dma = mma - cma

 

doCreatureAddHealth(param.cid, dhp)

doPlayerAddMana(param.cid, dma)

doPlayerRemoveItem(param.cid, cointype, ncni)

 

param.crcb = 1

param.sex = sex

setPlayerStorageValue(param.cid, 50780, 1)

 

addEvent(superform2, 1, param)

end

end

 

 

function superform2(param)

if param.crca == 1 and param.crcb == 1 and isCreature(param.cid) == TRUE and getPlayerStorageValue(param.cid, 50780) == 1 then

local pos = getCreaturePosition(param.cid)

doPlayerRemoveItem(param.cid, cointype, ncws)

if param.sex == 1 then

doSendMagicEffect(pos, bringwaste)

doSendMagicEffect(pos, bringabsorb)

else

doSendMagicEffect(pos, gringwaste)

doSendMagicEffect(pos, gringabsorb)

end

local goldleft = getPlayerItemCount(param.cid, cointype)

if goldleft < cwar and warn == 1 then

doPlayerSendTextMessage(param.cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..goldleft.. ".")

end

if goldleft < ncws then

param.crca = 0

param.crcb = 0

setPlayerStorageValue(param.cid, 50780, 0)

doPlayerSendTextMessage(param.cid, MESSAGE_EVENT_DEFAULT, "No cash left!")

 

local pos = getCreaturePosition(param.cid)

 

local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}

local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}

local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}

local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}

 

local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}

local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}

local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}

local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}

 

 

doRemoveCondition(param.cid, CONDITION_OUTFIT)

doRemoveCondition(param.cid, CONDITION_ATTRIBUTES)

doRemoveCondition(param.cid, CONDITION_HASTE)

 

if param.sex == 1 then

doSendMagicEffect(pos, bmaineff)

doSendMagicEffect(pos, bsecondeff)

 

doSendDistanceShoot(pos, nha, bflingeff)

doSendDistanceShoot(pos, sha, bflingeff)

doSendDistanceShoot(pos, wha, bflingeff)

doSendDistanceShoot(pos, eha, bflingeff)

doSendDistanceShoot(pos, nwa, bflingeff)

doSendDistanceShoot(pos, nea, bflingeff)

doSendDistanceShoot(pos, sea, bflingeff)

doSendDistanceShoot(pos, swa, bflingeff)

 

doSendMagicEffect(nha, blandeff)

doSendMagicEffect(sha, blandeff)

doSendMagicEffect(wha, blandeff)

doSendMagicEffect(eha, blandeff)

doSendMagicEffect(nwa, blandeff)

doSendMagicEffect(nea, blandeff)

doSendMagicEffect(sea, blandeff)

doSendMagicEffect(swa, blandeff)

else

doSendMagicEffect(pos, gmaineff)

doSendMagicEffect(pos, gsecondeff)

 

doSendDistanceShoot(pos, nha, gflingeff)

doSendDistanceShoot(pos, sha, gflingeff)

doSendDistanceShoot(pos, wha, gflingeff)

doSendDistanceShoot(pos, eha, gflingeff)

doSendDistanceShoot(pos, nwa, gflingeff)

doSendDistanceShoot(pos, nea, gflingeff)

doSendDistanceShoot(pos, sea, gflingeff)

doSendDistanceShoot(pos, swa, gflingeff)

 

doSendMagicEffect(nha, glandeff)

doSendMagicEffect(sha, glandeff)

doSendMagicEffect(wha, glandeff)

doSendMagicEffect(eha, glandeff)

doSendMagicEffect(nwa, glandeff)

doSendMagicEffect(nea, glandeff)

doSendMagicEffect(sea, glandeff)

doSendMagicEffect(swa, glandeff)

end

else

addEvent(superform2, tbcw, param)

end

end

 

end

 

function onEquip(cid, item, slot)

local param = {cid = cid, item = item, slot = slot}

local gold = getPlayerItemCount(cid, cointype)

if gold > stcn then

param.crca = 1

--can equip here?

addEvent(superform1, 1, param)

return TRUE

end

end

 

function onDeEquip(cid, item, slot)

if isPlayer(cid) and getPlayerStorageValue(cid, 50780) == 1 then

 

doRemoveCondition(cid, CONDITION_OUTFIT)

doRemoveCondition(cid, CONDITION_ATTRIBUTES)

doRemoveCondition(cid, CONDITION_HASTE)

 

local pos = getCreaturePosition(cid)

setPlayerStorageValue(cid, 50780, 0)

local sex = getPlayerSex(cid)

 

local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}

local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}

local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}

local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}

 

local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}

local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}

local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}

local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}

 

if sex == 1 then

doSendMagicEffect(pos, bmaineff)

doSendMagicEffect(pos, bsecondeff)

 

doSendDistanceShoot(pos, nha, bflingeff)

doSendDistanceShoot(pos, sha, bflingeff)

doSendDistanceShoot(pos, wha, bflingeff)

doSendDistanceShoot(pos, eha, bflingeff)

doSendDistanceShoot(pos, nwa, bflingeff)

doSendDistanceShoot(pos, nea, bflingeff)

doSendDistanceShoot(pos, sea, bflingeff)

doSendDistanceShoot(pos, swa, bflingeff)

 

doSendMagicEffect(nha, blandeff)

doSendMagicEffect(sha, blandeff)

doSendMagicEffect(wha, blandeff)

doSendMagicEffect(eha, blandeff)

doSendMagicEffect(nwa, blandeff)

doSendMagicEffect(nea, blandeff)

doSendMagicEffect(sea, blandeff)

doSendMagicEffect(swa, blandeff)

else

doSendMagicEffect(pos, gmaineff)

doSendMagicEffect(pos, gsecondeff)

 

doSendDistanceShoot(pos, nha, gflingeff)

doSendDistanceShoot(pos, sha, gflingeff)

doSendDistanceShoot(pos, wha, gflingeff)

doSendDistanceShoot(pos, eha, gflingeff)

doSendDistanceShoot(pos, nwa, gflingeff)

doSendDistanceShoot(pos, nea, gflingeff)

doSendDistanceShoot(pos, sea, gflingeff)

doSendDistanceShoot(pos, swa, gflingeff)

 

doSendMagicEffect(nha, glandeff)

doSendMagicEffect(sha, glandeff)

doSendMagicEffect(wha, glandeff)

doSendMagicEffect(eha, glandeff)

doSendMagicEffect(nwa, glandeff)

doSendMagicEffect(nea, glandeff)

doSendMagicEffect(sea, glandeff)

doSendMagicEffect(swa, glandeff)

end

end

return TRUE

end

 

Dps Vai em Movements e Cole

<movevent event="Equip" itemid="2127" function="onEquipItem" slot="ring" script="chaosbangle.lua"/>

<movevent event="DeEquip" itemid="2127" function="onDeEquipItem" slot="ring" script="chaosbangle.lua"/>

 

Explicando : Voce Pega O Emerald Bangle , Fique Com Dinheiro e Use No Lugar Do Anel : Caso Queira Mudar A Grana , vc vai la em cima no Cointype e mude o ID do money (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin).

Serve : Quando Voce Usar O Anel Automaticamente ele Acrecentara Mana E Vida E Sua Outfit Sera Mudada Conforme O Sexo (Masculino = Amarelo , Feminino = Roxo)

Tbm Vc Podera Editar \/ Logo Acima Do Script

 

-- Small config section << --

 

local condition1 = createConditionObject(CONDITION_ATTRIBUTES)

setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)

setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 210)

setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 210)

setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 210)

setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 215)

setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 210)

 

Skill = Tipow Esses Dai O Distance,Shield,Axe ETC é O Tanto Que Adiciona Quando O Anel é Usado

Mana e Vida = Akele Ali Em Cima

CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT
é o tanto q o player ganha de vida e
CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT
é o Tanto Q Voce Ganha De Mana (Aperece 215 e 210 Mais é Muito + Que 3000 Ele Ganha Conforme O Seu Level)

 

Pronto!

Aproveitem!!! :party:

 

.:: Atençao ::. Os Cretidos Nao Sao Meus! Somente Editei Algumas Coisas O Devido Credito é Do "OTland.net".

Editado Outubro 28 por Gladiador Negro

\Mattheus ~*\
28 de outubro de 2009 às 14:39

Bem legal mais poderia explicar mais sobre as suas funções por exemplo:

 

Quando Voce Usar O Anel Automaticamente ele Acrecentara Mana E Vida

 

Você poderia explicar aonde você muda essa quantidade "x" para a quantidade que o player queira.

 

Porem scrip bem desenvolvido gostei muito das suas funções.

 

Abraços.

joaohdJ
28 de outubro de 2009 às 15:02

Muito bom, porém, acho que falta alguma coisa aí... Se voce pegou de outro lugar, tem que botar créditos hein...

 

Link original (outro fórum)

[spoil]http://otland.net/f81/transforming-ring-forgotten-server-beta-2-a-18251/[/spoil]

 

me parece que a unica coisa que voce fez foi o "return TRUE" no final...

 

flw

1 mês depois...
garepG
11 de novembro de 2009 às 23:33

bem criativo q pena q ñ é seu.

rockstar96R
11 de novembro de 2009 às 23:36

mas que pog loko

 

acho que quem fes nao sabe o que loops fazem

\Mattheus ~*\
13 de novembro de 2009 às 14:45

Você botou a função mais deixo tudo embolado, acho que você poderia melhorar a formatação do seu tópico.

 

Abraços.

BcssB
19 de novembro de 2009 às 20:17

queria esse vlws e do rpg ^^

Pereirinha1P
19 de novembro de 2009 às 20:24

é de outro forum mesmo ?

 

se for coloque os devidos creditos.

 

antes que seja REPORTADO

BcssB
19 de novembro de 2009 às 20:28

roxx esse anel eu jogo rpgforgetelement e queria esse script po meu ot vlwss :positive:

2 anos depois...
Luiiz1L
03 de dezembro de 2011 às 18:58

Aqui nao to conseguindo , eu fiz certin , fiz uma arquivo nos movements , colokei o script dps fui no moviemnts.xml escrevi akilo ai quando fui testa o bangle ta a mesma coisa , ajuda ae ?:s to qerendo mto esse script

1 ano depois...
juninhoo360J
08 de dezembro de 2012 às 17:44

 Aqui nao to conseguindo , eu fiz certin , fiz uma arquivo nos movements , colokei o script dps fui no moviemnts.xml escrevi akilo ai quando fui testa o bangle ta a mesma coisa , ajuda ae ?:s to qerendo mto esse script 

Aqui aconteceu a mesma coisa, eu fiz certo, usei ele, só que não adiantou de nada..

Pode ajudar?