CO
dúvida

Ajuda Stop Event

Por coyotestark, 13 de jun. de 2012 em Scripts

stop event
6
1.6k
coyotestarkC
13 de junho de 2012 às 00:50

Alguem saberia como fazer este evento parar?

é um item que ao ser adicionado da sul ao player, mas quando o player loga o evento nao encontra o jogador.

queria algo para quando o player der logout ou retirar o item o evento parar.

 

function onEquip(cid, item, position, fromPosition)
local i = 1
while i <= 61 do
addEvent(doPlayerAddSoul, i*2000, cid, 3)
addEvent(doPlayerAddMana, i*2000, cid, -10150)
i = i+1
doPlayerSendTextMessage(cid,25,"Regenerando soul.")
doSendMagicEffect(getPlayerPosition(cid), 14)
end
return false
end

jhon992J
13 de junho de 2012 às 16:28
function onEquip(cid, item, position, fromPosition)
local i = 1
while i <= 61 do
	addEvent(addSoulMana, i*2000, cid)
	i = i+1
	doPlayerSendTextMessage(cid,25,"Regenerando soul.")
	doSendMagicEffect(getPlayerPosition(cid), 14)
end
return true
end

function addSoulMana(cid)
if isPlayer(cid) then
doPlayerAddSoul(cid, 3)
doPlayerAddMana(cid, -10150)
end
end

Editado Junho 14 por Jhon992

coyotestarkC
13 de junho de 2012 às 23:59

lek funciou mas nao estou conseguindo equipar o item

jhon992J
14 de junho de 2012 às 12:15

arrumei la em cima, tenta agora.

VincV
14 de junho de 2012 às 13:49

@jhon

cara isso que se fez n vai para o event se tira o item,nem se o player loga,isso so diminui o tanto de erros que da se o player loga.

acho que tu viajo ali.

 

@topic

so presisa substitui seu script por esse abaixo, e no moveements.xml se duplica a tag desse script e troca a key de "Equip" para "DeEquip"(so na segunda tag,mantenha a tag original lá tbm)

event = {}

function onEquip(cid, item, position, fromPosition)
event[cid] = addEvent(addSoulMana, 2000, cid,1)
return true
end

function onDeEquip(cid, item, position, fromPosition)
stopEvent(event[cid])
table.remove (event,cid)
return true
end

function addSoulMana(cid,i)
if isPlayer(cid) and i <= 61 then
    doPlayerAddSoul(cid, 3)
    doPlayerAddMana(cid, -10150)
    doPlayerSendTextMessage(cid,25,"Regenerando soul.")
    doSendMagicEffect(getPlayerPosition(cid), 14)
event[cid] = addEvent(addSoulMana, 2000, cid,i+1)
else
table.remove (event,cid)
end
end

jhon992J
14 de junho de 2012 às 14:06

É mesmo, só resolvi os erros caso o player deslogase, nem me liguei em remover os eventos com o onDeEquip. To viajando, acho que é o ferrugem happy.png