Ir para conteúdo

[ Resolvido ] [Script]Efeitos


druidkean

Posts Recomendados

Olá Galera..To Precisando de 1 script..

 

O script eh o seguinte..

quando o player upar lvl 350 no meu ot, vai surgir uns efeitos em volta do player ( Efeito Da Explosion e Do Exori Mas ) os 2 efeitos no mesmo sqm..de 2 em 2 segundos..eu tenho um script quasi igual ao que eu quero..soque quando o player desloga da o seguinte erro :

 

[Error - CreatureScript Interface]

In a timer event called from:

data/creaturescripts/scripts/efeitos.lua:onLogin

Description:

(luaGetThingPosition) Thing not found

 

[Error - CreatureScript Interface]

In a timer event called from:

data/creaturescripts/scripts/efeitos.lua:onLogin

Description:

data/creaturescripts/scripts/efeitos.lua:10: attempt to index local 'pos' (a boolean value)

stack traceback:

data/creaturescripts/scripts/efeitos.lua:10: in function <data/creaturescripts/scripts/efeitos.lua:8>

 

 

Ai Vai O Meu Script:

 

function onLogin(cid)

if getPlayerLevel(cid) >= 350 then

sendEffect(cid)

end

return TRUE

end

 

function sendEffect(cid)

local pos = getCreaturePosition(cid)

local x = math.random(pos.x-1,pos.x+1)

local y = math.random(pos.y-1,pos.y+1)

local effects = {4,34} --Efeitos.

return doSendMagicEffect({x=x,y=y,z=pos.z},effects[math.random(1,#effects)]),addEvent(sendEffect,1000,cid)

end

 

Vlws..

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

creaturescripts.xml:

<event type="login" name="LoginEffect" event="script" value="LvlEffect.lua"/>
<event type="advance" name="AdvEffect" event="script" value="LvlEffect.lua"/>

LvlEffect.lua:

function sendEffect(cid)
if isCreature(cid) then
	local pos = getCreaturePosition(cid)
	local x = math.random(pos.x-1,pos.x+1)
	local y = math.random(pos.y-1,pos.y+1)
	local effects = {4,34} --Efeitos.
	doSendMagicEffect({x=x,y=y,z=pos.z}, effects[math.random(1,#effects)])
	addEvent(sendEffect,1000,cid)
end
end

function onLogin(cid)
if getPlayerLevel(cid) >= 350 then
	sendEffect(cid)
end
registerCreatureEvent(cid, "AdvEffect")
return TRUE
end

function onAdvance(cid, skill, oldLevel, newLevel)
if skill == SKILL__LEVEL and newLevel == 350 then
	sendEffect(cid)
end
return TRUE
end

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

@druidkean

A parte responsável pelos efeitos é essa:

local effects = {4,34} --Efeitos.
doSendMagicEffect({x=x,y=y,z=pos.z}, effects[math.random(1,#effects)])

Só mudar pra:

doSendMagicEffect({x=x,y=y,z=pos.z}, 4)
doSendMagicEffect({x=x,y=y,z=pos.z}, 34)

 

Ja a posição ta sendo sorteada:

local x = math.random(pos.x-1,pos.x+1)
local y = math.random(pos.y-1,pos.y+1)

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

×
×
  • Criar Novo...