AI para homunculus no jogo Ragnarok Online.

320 views
Skip to first unread message

danylo....@gmail.com

unread,
Dec 21, 2016, 10:13:54 PM12/21/16
to Lua BR
Boa noite galera..
estou estudando linguagem lua e estou no basico do basico..
mas o meu interesse pe o seguinte.
no jogo tem um pet do jogador que utiliza AI para controla-lo, e o mesmo tem habilidades.
porem ele tem uma habilidade que não tem conjuração e apos utilizala tem um delay (cooldown) de 15 minutos.
porem ao utilizar uma outra habilidade que tem alguns segundos de conjuração, ou seja era demora 5 segundos para o monstro solta-la, neste periodo de tempo que o monstro esta carregando a habilidade posso usar a primeira habilidade sem sobre o cooldown.
porem queria adicionar isto na AI do homunculu para que ele fizesse essa jogada automaticamente..
nao eu ficar fazendo manualmente.
segue link de um video onde o cara faz.
gostaria de umas dicas de pelo menos de como começar... oque focar.. e etc.. obrigado

danylo....@gmail.com

unread,
Dec 22, 2016, 9:02:41 AM12/22/16
to Lua BR
Tenho este código para uma skill que ele conjura:
 
elseif htype==DIETER and UseDieterLavaSlide==1 and LavaSlideMode==0 then
skill=MH_LAVA_SLIDE
if DieterLavaSlideLevel==nil then
level=5
else
level=DieterLavaSlideLevel
end
end 
if AutoSkillCooldown[skill]~=nil then
if GetTick() < AutoSkillCooldown[skill] then -- in cooldown
level=0
skill=0
end
end
end

e tenho este código para utilizar a skill que tem um delay de 15minutos:

function GetQuickenSkill(myid)
local level = 0
local skill = 0
if (IsHomun(myid)==1) then
htype=GetV(V_HOMUNTYPE,myid)
if htype < 17 then
homuntype=modulo(GetV(V_HOMUNTYPE,myid),4)
else
homuntype=modulo(OldHomunType,4)
end
if (homuntype==1) then -- It's a lif!
skill=HLIF_CHANGE
level=3
elseif (homuntype==3) then -- It's a filer!
skill=HFLI_FLEET
if (FilirFlitLevel==nil) then
level=5
else
level=FilirFlitLevel
end
elseif  (homuntype==2) then --it's an amistr
skill=HAMI_BLOODLUST
level=3
end
else
level=SkillList[MercType][MER_QUICKEN]
if level ~=nil then
skill=MER_QUICKEN
end
end
if AutoSkillCooldown[skill]~=nil then
if GetTick() < AutoSkillCooldown[skill] then -- in cooldown
level=0
skill=0
end
end
return skill,level
end

E como poderia colocar para ele usar a skill BloodLust logo depois de chamar a function para usar a skill LavaSlide?
Reply all
Reply to author
Forward
0 new messages