Ir para conteúdo

[Creaturescripts] Walking Effect On Outfit


AnneMotta

Posts Recomendados

ai tem que aumentar o tempo do evento:

 

events[getPlayerGUID(cid)] = addEvent(WalkEffect, 100, cid, c, frompos)

 

o 100 é o tempo, tenta colocar 500, e vai vendo qual fica melhor pra vc

Link para o comentário
Compartilhar em outros sites

Esse walk interval, é só o delay do effect.

Queria que saisse atraz do player, na position atraz

 

Ex:

 

0,0,0,0,0

0,0,<,X,0

0,0,0,0,0

 

Player esta olhando pra <<<<, então o efeito sai atraz (X)

Link para o comentário
Compartilhar em outros sites

Esse walk interval, é só o delay do effect.

Queria que saisse atraz do player, na position atraz

 

Ex:

 

0,0,0,0,0

0,0,<,X,0

0,0,0,0,0

 

Player esta olhando pra <<<<, então o efeito sai atraz (X)

 

tenta usar assim:

 

function onLogin(cid)
registerCreatureEvent(cid, "EffectOutLogin")
registerCreatureEvent(cid, "OutfitEffects")
return doCreatureChangeOutfit(cid,{lookType = getCreatureOutfit(cid).lookType, lookHead =  getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons})
end
local events = {}
function onOutfit(cid, old, current)
local effect = {
[136] = 3, [128] = 3, -- citizen
[270] = 27,[273] = 27, -- jester
[156] = 61,[152] = 61, -- assassin
[147] = 44,[143] = 44, -- barbarian
[148] = 45,[144] = 45, -- druid
[157] = 68,[153] = 68, -- beggar
[149] = 36,[145] = 36, -- wizard
[279] = 17,[278] = 17, -- brotherwood
[137] = 39,[129] = 39, -- hunter
[141] = 66,[133] = 66, -- summoner
[142] = 34,[134] = 34, -- warrior
[155] = 31,[151] = 31, -- pirate
[158] = 46,[154] = 46, -- shaman
[288] = 6,[289] = 6 -- demonhunter
}
               local o,c= effect[old.lookType],effect[current.lookType]
               if getPlayerAccess(cid) > 2 then return true
               elseif (not o or not c or old.lookAddons == 3 and o) then stopEvent(events[getPlayerGUID(cid)]) end
          if current.lookAddons == 3 and c then
function WalkEffect(cid, c, pos)
if not isCreature(cid) then return LUA_ERROR end
if c then p = getThingPos(cid)
local x = {[0] = {x=p.x, y=p.y+1, z=p.z},[1] = {x=p.x-1, y=p.y, z=p.z},[2] = {x=p.x, y=p.y-1, z=p.z},[3] = {x=p.x+1, y=p.y, z=p.z}}
if p.x ~= pos.x or p.y ~= pos.y or p.z ~= pos.z then doSendMagicEffect(x[getCreatureLookDirection(cid)], c) end
events[getPlayerGUID(cid)] = addEvent(WalkEffect, 100, cid, c, p)
end return true end
WalkEffect(cid, c, {x=0, y=0, z=0}) end
return true
end

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

  • 7 months later...

na verdade, o que o lordbug falou é verdade, não precisa nem se preocupar com as escadas. pelo que eu fiz, ele manda efeito onde o jogador tá mesmo ele ter subido a escada (fora que dava pra por um addevent com 100ms que nao ia dar lag nenhum)

 

ficou tipo assim

function onStepIn(cid, item, position, fromPosition)
doSendMagicEffect(getThingPos(cid),10)
return true
end

 

com

<movevent type="StepIn" fromid="1" toid="30000" event="script" value="ps.lua"/>

 

mas nao fiz com os outfits e tal, acho q é isso msm, flw.

 

edit:

sem querer desmerecer seu trabalho, seu script ficou muito bom!

 

edit²

quando abri o sv nem deu erro mas dps q dei reload deu vários duplicated e parou de funfar, entao acho q nem ta valendo

 

edit³

funfa s mas dá varios duplicated move event found

 

edit4

é, nao funfa, ele faz todos os outros movements pararem de pegar

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

É, slicer, mas como eu disse dps de vários edits vai acabar acabando com seus outros movements

então o melhor mesmo seria adicionar o creaturescripts onmove nas sources pra deixar o negócio mais "profissional"

Link para o comentário
Compartilhar em outros sites

  • 8 months later...
  • 3 years later...
×
×
  • Criar Novo...