Ir para conteúdo
  • 0

JeanCristian

Pergunta

Tipo do script:creaturescripts,items,globalevents?

Protocolo (versão do Tibia):8.60

Servidor utilizado:Proprio

Nível de experiência:Dificil

Adicionais/Informações:Pode usar qualquer id de exemplo.

 

 

Primeira mente agradeço ao adm que ativo minha conta hehe e venho postar varios pedidos meus vlw se estiver area errada me move.

 

 

Eu queria que alguem me ajudasse em alguns erros e scripts pro meu ot se eu estiver postando na area errada adm fala para mim e me move por favor.

no meu distro toda hora que algum player fica online aparece isso\/

 

[13/04/2012 13:46:07] [Error - CreatureScript Interface]

[13/04/2012 13:46:07] data/creaturescripts/scripts/idle.lua:onThink

[13/04/2012 13:46:07] Description:

[13/04/2012 13:46:07] data/creaturescripts/scripts/idle.lua:14: attempt to compare number with nil

[13/04/2012 13:46:07] stack traceback:

[13/04/2012 13:46:07] data/creaturescripts/scripts/idle.lua:14: in function <data/creaturescripts/scripts/idle.lua:6>

 

queria saber oque é ,como posso arrumar obrigado ,

queria um sistema de pet que eu clico no doll e ele sai eu clico denovo ele volta ,mais que preste porque eu olhei um ai que vc clica no addon doll ele vem para te mata vc clica denovo vem mais um ajudalo nao quero esse negocio de evoluir com o level tipo naruto para mim pode ser o normailzin mesmo que só sumona e volta.

 

 

queria tambem tipo tenho um ring qualquer dai como fasso para eu colokar ele no meu char e ele da tipo 20 % de life 40 % de life amais exemplo tenho 3000 de life coloko o ring vou para 4000 tiro o ring volto para 3000 se puder eu agradeço nao precisa ser ring tmb qualquer item ta bom.

 

queria tambem um aol tipo o do rozin que vc morre e nao perde level nem skills é infinito e pk black e red nao cai nada a igualzin o dela

 

queria aquela sword de atack em area ,que funcione de verdade tipo que aumenta o hit conforme o level nao aquela que parece uma wand que ranka o mesmo tanto toda hora ,uma normalzinha com 115 ou 150 de atack.

 

e arrow que muda de elemento tipo multi arrow ,vcs devem estar pensando que fazendo um mapa rozin kkkk mais nao é '-' tudo oque estou pedindo é para um mapa que depois vou postar na xtibia ^^ nao é só eu que queria esses scripts tem varios god adm hoster que tmb queria só que nao acharam ,se alguem conseguir alguma coisa disso dai todo mundo que esta atras vai agradecer tambem nao vai ser só eu ,explica direitinho tipo aonde ponho tal coisa e tal coisa nao cola só o script na tela achando que eu sei oque fazer :S muito obrigado.

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

O erro ali é alguma comparação invalida no arquivo idle.lua na pasta globalevents/scripts na linha 14.

É bom postar o script dae fica mais facil de arrumar.

-----------

O petsystem por item ali vc deve encontrar varios espalhados pelo xtibia.

Acabei de fazer um só que funciona por talkaction da uma olhada aew:

http://www.xtibia.co...__fromsearch__1

----------

ring, duplica um arquivo na pasta data/movements/scripts, nomeia para "bangle_ring" sem as aspas e cola isso:

obs: esse script não fui eu quem fez, eu tenho aqui + não lembro quem fez. acho que ele tem ae pelo xtibia. créditos pra quem fez.

 

 

local cointype = 2127 -- Id do tipo de moeda que sera usado na spell (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --
local tbcw = 2000 -- intervalo para remover as moedas (miliseconds) 1 segundo = 1000 --
local ncws = 0 -- número de moedas utilizadas durante intervalo de tempo
local ncni = 0 -- número de moedas necessárias para desencadear a transformação -
local stcn = 1 -- número de moedas necessárias para executar o script (deve ser superior ao valor ncni) -
local warn = 0 -- adverte jogador quando runing curto em moedas, 1 = sim -
local cwar = 0 -- número de moedas que desencadeia as advertências -
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}
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)

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)
doCreatureAddHealth(param.cid, -(getCreatureMaxHealth(param.cid)/2))
doPlayerAddMana(param.cid, dma)
doPlayerAddMana(param.cid, -(getPlayerMaxMana(param.cid)/2))
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 < ncws then
	param.crca = 0
	param.crcb = 0
	setPlayerStorageValue(param.cid, 50780, 0)
	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)

	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
	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}
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)
end
return TRUE
end

 

 

 

pra finalizar o ring poem no movements.xml

<movevent type="Equip" itemid="iddoring" slot="ring" event="script" value="bangle_ring.lua"/>
<movevent type="DeEquip" itemid="iddoring" slot="ring" event="script" value="bangle_ring.lua"/>

--------

Amulet, créditos pro @VodKart:

Em data/creaturescripts/scripts, duplique um arquivo e nomeie para "amulet_protection" sem as aspas e nele cole:

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
local config = {
onlypremium = true, -- se precisa ser premium para não perder nada
exp = true, -- se ao morrer o jogador irá perder exp
skills = false, -- se ao morrer vai perder skills
magic = false, -- se vai perder magic level
loot = false, -- se ao morrer o jogador irá perder o loot
iddoamulet = 1234 -- id do amuleto
}
if isPlayer(cid) and getPlayerSlotItem(cid, 2).itemid == config.iddoamulet then
if config.onlypremium == true and not isPremium(cid) then return TRUE end
if config.loot == false then doCreatureSetDropLoot(cid, false) end
if config.magic == false then doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0) end
if config.skills == false then doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0) end
if config.exp == false then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) end
return TRUE end return TRUE end

 

Agora em creaturescripts.xml cole a tag:

<event type="preparedeath" name="ProtectionDeath" event="script" value="amulet_protection.lua"/>

 

E no arquivo login.lua na pasta scripts, antes do último "return true" cole a tag:

registerCreatureEvent(cid, "ProtectionDeath")

------

script de sword attack em area, achei esse:

http://www.xtibia.co...de-attack-area/

+ nem sei se é funcional.

 

------

O último pedido não entendi muito bem.

Tu é novo no forum tão vou dar uma dica, antes de fazer pedido vasculhe o xtibia a procura dos scripts que deseja. Ao fazer pedidos não peça tudo de uma vez que tem menas possibilidade de alguem te ajudar, faça um pedido espere os usuarios responderem e depois faça outro.

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

  • 0

ahhh achei o erro da sua primeira resposta é pq nao tem esse script aki lol tem como vc me manda?

o resto eu vou testar agora deixa eu ver se pega é rep +

 

esse aol ai eu li ele e nao apareceu nada de red skull ou black skull ,se estiver red skull ou black eu perco itens?

 

esse bangle ring ele parece que cobra coins por usar mais eu quero que tipo o player vai termina a quest que vou deixa esse ring dai ele coloka no char dele e a vida dele aumenta sem cobrar nada pdoe aumentar qualquer coisa só que tem que aumentar a vida 20% como falei

Link para o comentário
Compartilhar em outros sites

  • 0

a primeira resposta eu que me confundi o a pasta certa é data/creaturescripts/scripts

 

o amulet vai funcionar pra qualquer player n se preocupa.

 

o ring jah configurei pra não cobrar nada é sóh no lugar do "local cointype = 2127" < vc poem o id do ring.

Link para o comentário
Compartilhar em outros sites

  • 0

e esse erro ake?

[13/04/2012 16:30:14] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/amulet_protection.lua:8: '}' expected (to close '{' at line 2) near 'iddoamuleto'

[13/04/2012 16:30:14] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/amulet_protection.lua)

[13/04/2012 16:30:14] data/creaturescripts/scripts/amulet_protection.lua:8: '}' expected (to close '{' at line 2) near 'iddoamuleto'

Link para o comentário
Compartilhar em outros sites

  • 0

to meio desatento hj, esqueci uma virgula nessa linha:

loot = false, -- se ao morrer o jogador irá perder o loot

 

É a linha de numero 7 no arquivo amulet_protection.lua, só adicionar a virgula depois do false.

Link para o comentário
Compartilhar em outros sites

  • 0

ring nao pego mais nao deu erro tmb '-'

 

esse é o bug do meu distro quando o player loga esse é o script qual é o problema msm?

 

 

local config = {

idleWarning = getConfigValue('idleWarningTime'),

idleKick = getConfigValue('idleKickTime')

}

 

function onThink(cid, interval)

if(getTileInfo(getCreaturePosition(cid)).nologout or getCreatureNoMove(cid) or

getPlayerCustomFlagValue(cid, PlayerCustomFlag_AllowIdle)) then

return true

end

 

local idleTime = getPlayerIdleTime(cid) + interval

doPlayerSetIdleTime(cid, idleTime)

if(config.idleKick > 0 and idleTime > config.idleKick) then

doRemoveCreature(cid)

elseif(config.idleWarning > 0 and idleTime == config.idleWarning) then

local message = "You have been idle for " .. math.ceil(config.idleWarning / 60000) .. " minutes"

if(config.idleKick > 0) then

message = message .. ", you will be disconnected in "

local diff = math.ceil((config.idleWarning - config.idleKick) / 60000)

if(diff > 1) then

message = message .. diff .. " minutes"

else

message = message .. "one minute"

end

 

message = message .. " if you are still idle"

end

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, message .. ".")

end

 

return true

end

 

o aol de red tambem nao pego lol kkk nada pego só a sword kkkkkk

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que esse problema é de configuração no config.lua, procure por idleWarningTime e idleKickTime no meu otserv esta assim:

idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000

 

O ring funciona perfeitamente aqui, você que deve ter errado algo na configuração.

 

O amuleto, vai no amuleto que você escolheu no seu arquivo itens.xml e poem essa tag nele:

<attribute key="preventDrop" value="1" />

 

O PetSystem tbm funciona perfeitamente.

Link para o comentário
Compartilhar em outros sites

  • 0

o ultimo pedido foi uma arrow de gelo que vira de fogo de terra e de energia vc clica nela ela muda de elemento

 

colar deu certo ja ganho 1 rep + e vou te dar outro dps da meia noite vai ficar com 2 rep + ja ein :D

 

só nao sei pq ele nao esta infinito :s

Link para o comentário
Compartilhar em outros sites

  • 0

A arrows faiz assim oh,

Vai em data/actions/scripts, duplica um arquivo e nomeia para "arrow_change" sem as aspas e nele cole:

function onUse(cid, item, fromPosition, itemEx, toPosition)

local arrow_ids = {7838,7839,7840} -- coloque os ids da arrows aqui.

doTransformItem(item.uid, arrow_ids[math.random(1,#arrow_ids)])
doSendMagicEffect(getThingPos(cid), 28) -- troque o 28 pelo efeito desejado

return TRUE
end

 

Agora em actions.xml a tag:

<action itemid="7838;7839;7840" event="script" value="arrow_change.lua"/>

 

Pra editar, sóh adicionar novas arrow_ids no script e na tag.

Link para o comentário
Compartilhar em outros sites

  • 0

tipo tem como ser sem randomicamente esse esquema da arrow?

e o esquema do ring la taligado que eu nao cnsegui? tem como vc me da um exemplo sei la o id do ring é 2123 é ring of the sky

se vc conseguir esse dai que te disse que me deixa com 140% de life eu queria pergunta se vc consegue tmb um que heala life por segundo acho impossivel kkk mais se conseguir eu agradeço tmb :D vlw lek vc esta me ajudand muito

Link para o comentário
Compartilhar em outros sites

  • 0

Pra arrumar a arrow, troca aquilo por isso:

function onUse(cid, item, fromPosition, itemEx, toPosition)

local arrow_ids = {7838,7839,7840} -- coloque os ids da arrows aqui.

if item.itemid == arrow_ids[#arrow_ids] then
doTransformItem(item.uid, item.itemid+1)
doSendMagicEffect(getThingPos(cid), 28) -- troque o 28 pelo efeito desejado
else
doTransformItem(item.uid, arrow_ids[1])

return TRUE
end

 

 

-------------------------

No ring o esquema é o que eu te falei, aqui funciona certinho. Configurei pro Ring of the Sky.

Verifica se o nome do arquivo ta "bangle_ring" certinho, e cola:

local cointype = 2123
local tbcw = 2000
local ncws = 0
local ncni = 0
local stcn = 1
local warn = 0
local cwar = 0
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}
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)

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)
doCreatureAddHealth(param.cid, -(getCreatureMaxHealth(param.cid)/2))
doPlayerAddMana(param.cid, dma)
doPlayerAddMana(param.cid, -(getPlayerMaxMana(param.cid)/2))
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 < ncws then
		    param.crca = 0
		    param.crcb = 0
		    setPlayerStorageValue(param.cid, 50780, 0)
		    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)

		    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
		    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}
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)
end
return TRUE
end

 

Nas tags no movements.xml cola:

<movevent type="Equip" itemid="2123" slot="ring" event="script" value="bangle_ring.lua"/>
<movevent type="DeEquip" itemid="2123" slot="ring" event="script" value="bangle_ring.lua"/>

 

E verifica se não tem mais nada do ring of the sky executando no movements.xml, basta procura pelo itemid 2123, se tiver outras tags, apague-as.

Obs: esse ring não deixa tu com esses 140%, ele aumenta o life um tanto. Depois que tu testar tu vê se gosta ou não.

 

--------------------------

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...