DR

[ Resolvido ] [Script]Efeitos

Por druidkean, 30 de mai. de 2010 em Archived

script
8
2.2k
druidkeanD
30 de maio de 2010 às 15:17

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 Maio 30 por druidkean

KydraiK
30 de maio de 2010 às 20:11

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 Maio 30 por kydrai

druidkeanD
30 de maio de 2010 às 23:50

kydrai, perfeito cara..soh que tem como em ves de ser os 2 efeitos aleatorio .. sair os 2 efeitos junto..no mesmo sqm..

KydraiK
31 de maio de 2010 às 12:31

@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 Maio 31 por kydrai

druidkeanD
31 de maio de 2010 às 13:46

funcionou perfeitamente kydrai..vlw mano..te amo (s2) :)

joaohdJ
31 de maio de 2010 às 14:02

Quando sua duvida for resolvida, reporte o tópico para que o mesmo seja fechado.

 

flw

Editado Maio 31 por apocarai

LorDzL
31 de maio de 2010 às 19:54

Galera só para deixar claro, as dúvidas sanadas ficaram abertas para ajudar mais pessoas, pois dúvida sanada também é conteúdo,

 

Abraços

VodkartV
31 de maio de 2010 às 21:36

dessa eu não sabia,achava que era pedido e duvidas

então no caso só pedido os topicos são fechados

boa

abraços