AzzyAI Question - Homunculus Headquarters - WarpPortal Community Forums

Jump to content


Photo
- - - - -

AzzyAI Question


  • Please log in to reply
11 replies to this topic

#1 hioray

hioray

    Amateur Blogger

  • Members
  • 129 posts
  • Playing:Nothing

Posted 30 October 2013 - 05:04 AM

1st, Pardon me... i modifed few thing in Azzy AI... actually my english is suck and my program language either... so i just use the logic for modif AzzyAI.. i already tested.. it worked but i want to ask something.. on AzzyAI configuration Utility..

on LavaSlideMode or PoisonMistMode...

 

see the picture below with purple box.. 

Spoiler

 

in H_Config.lua .. i didnt found the way to change the mode like that.. its only have 0 and 1.. when i try to make higher number the homun do nothing... when i make it to number 1.. my homun just do idle atk and keep spamming the skill instead at my feet.. 

so.. my question is...

is the mode ONLY can change the AzzyAI Utility??

or

Do i have another way to change the Mode WITHOUT AzzyAI Utility Configuration..?? if it has another way to change it may u tell me?

 

thanks for reply Azzy.. 
:D

 

Edit :
OPss.. its look like i got wrong section.. may  mod move this post to Homunculus Headquarters..?


Edited by hioray, 30 October 2013 - 05:14 AM.

  • 0

#2 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 30 October 2013 - 11:19 AM

AzzyAI config just edits the config files, everything can be hand-edited. 

 

Also, the options available are described in the documentation, which is included with AzzyAI: 

 

Options relating to use of buff skills 

 For each buff skill, you can set it to be used at different times depending on what 
you set the option to. The options are: 
 -2: When idle, if nothing else to do 
 -1: While chasing (so it won’t waste the skill when nothing else to kill) 
 0: Do not use this skill. 
 1: While idle 
 2: While chasing or attacking in berserk mode (see Berserk Mode options below) 
 3: As soon as possible, interrupting other actions. This will not result in the target 
being dropped EXCEPT in the case of Painkiller and Provoke.

 

PoisonMistMode – If set to 0, Poison Mist will be used as a normal AoE attack. 

Otherwise, it will be kept up centered on owner, in which case, this controls when to use 
it. Setting this to ASAP is not recommended. 
LavaSlideMode – If set to 0, Lava Slide will be used as a normal AoE attack. Otherwise, 
it will be kept up centered on owner, in which case, this controls when to use it. Setting 
this to ASAP is not recommended. 
 

 

(that is to say, it is behaving correctly when you have it set to 1 - many players want their homun to keep it's AoE skill up centered on owner so it kills monsters that are attracted to the owner - if you want it to cast it on mobs, the mode must be set to 0 ("attack" in the gui configuration tool))

 

If you  have PoisonMistMode or LavaSlideMode set to 0 (I think this is attack in the GUI), then the skill will be used as a normal AoE attack. Check that you have the other relevant options set correctly:

 

UseSeraPoisonMist

UseDieterLavaSlide

AutoMobMode (missing from documentation, apparently, but it is in the GUI. Will fix docs in 1.53)

AutoMobCount (see also Weight tactic)

 

 


Edited by DrAzzy, 30 October 2013 - 11:21 AM.

  • 0

#3 hioray

hioray

    Amateur Blogger

  • Members
  • 129 posts
  • Playing:Nothing

Posted 30 October 2013 - 09:52 PM

AzzyAI config just edits the config files, everything can be hand-edited. 

 

Also, the options available are described in the documentation, which is included with AzzyAI: 

 

(that is to say, it is behaving correctly when you have it set to 1 - many players want their homun to keep it's AoE skill up centered on owner so it kills monsters that are attracted to the owner - if you want it to cast it on mobs, the mode must be set to 0 ("attack" in the gui configuration tool))

 

 

If you  have PoisonMistMode or LavaSlideMode set to 0 (I think this is attack in the GUI), then the skill will be used as a normal AoE attack. Check that you have the other relevant options set correctly:

 

UseSeraPoisonMist

UseDieterLavaSlide

AutoMobMode (missing from documentation, apparently, but it is in the GUI. Will fix docs in 1.53)

AutoMobCount (see also Weight tactic)

 

so thats mean... when i wanna cast it on mob the mode must to set to 0.. but  can i make it "attack" without using the GUI configuration tool??

that what i need to know...

uhmm.. ok i'll tell u this.. actually i add some skill.. it was volcanic ash on AzzyAI.. so
 i made it basicly with the Logic and H.SkillList.lua..then i added VolcanicAshSkill on | AzzyUtil.lua | Ai_main.lua | H.Config.lua | and i wanna make Volcanic Ash to be pretended like AOE skill.. 

 

yeah, finally i made it...VolcanicAsh can be cast normaly, but my dieter only cast it on my feet,i wanted to make it cast on the enemy.. then figure it out it was something wrong with the Mode..
Example :on your GUI Configuration tool.. it has LavaSlideMode option "Idle_low", "Chase", "attack", "Idle","Berserk"... so i wanna make VolcanicAshMode option "Attack" after that i can config H_Tactics.lua to only use it on MVP (adding some MVP list  and i can switch my mode to MVP or for Leveling homun).. so this AI will keep spaming VolcanicAsh While I attack-ing the MVP...i guess it can be work even i didnt add with SkillGround(MyID,level,skill,x,y) or something like that...

 

so i repeat my question.. can i make it "attack" without using the GUI configuration tool??

or did i do something wrong ?? sorry if my english is bad..
:c


Edited by hioray, 30 October 2013 - 10:01 PM.

  • 0

#4 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 31 October 2013 - 09:42 AM

"Attack" in the GUI is the same as 0 when hand editing the files. 

 

However, that alone will not do what you want. 

 

If it's casting it on your feet, you've hijacked completely the wrong set of logic - the "cast an AoE skill on owner's feet" is the auto-buff handling (we treat that as a buff, since it's a skill that needs to be cast on the owner periodically) - that's a totally different part of the code than the part where we're using attack skills on monsters. 

 

If you want it to use Volcanic Ash on monsters it's attacking, you need a totally different approach! 

 

The first thing you should do is start with a clean copy of AzzyAI 1.52, and DO NOT MODIFY ANY FILES other than the config files and H_Extra, that way you can upgrade to 1.53 when it comes out and not lose all your work. If you need to replace a function, just put your new function definition in H_Extra - it's loaded last, and will replace the original functoin. 

 

As i see it, there are three ways you could do this (all of these start with a CLEAN 1.52 install):

 

Method 1:

Replace Lava Slide with Volcanic Ash by overriding GetMobSkill(); you would put this into H_Extra of clean install. Differences from stock are highlighted:

 

 

function GetMobSkill(myid)

local skill = 0
local level = 0
if (IsHomun(myid)==1) then
 
htype=GetV(V_HOMUNTYPE,MyID)
if htype <17 then
skill=0
else -- it's a homun s
if htype==EIRA and UseEiraXenoSlasher==1 then
skill=MH_XENO_SLASHER
if EiraXenoSlasherLevel==nil then
level=4
else
level=EiraXenoSlasherLevel
end
elseif htype==BAYERI and UseBayeriHailegeStar==1 then
skill=MH_HEILIGE_STANGE
if BayeriHailegeStarLevel==nil then
level=5
else
level=BayeriHailegeStarLevel
end
elseif htype==SERA and UseSeraPoisonMist==1 and PoisonMistMode==0 then
skill=MH_POISON_MIST
if SeraPoisonMistLevel==nil then
level=5
else
level=SeraPoisonMistLevel
end
elseif htype==DIETER and (UseDieterVolcanicAsh==1 or (UseDieterLavaSlide==1 and LavaSlideMode==0)) then
if UseDieterVolcanicAsh==1 then
skill=MH_VOLCANIC_ASH
level=5
else
skill=MH_LAVA_SLIDE
if DieterLavaSlideLevel==nil then
level=5
else
level=DieterLavaSlideLevel
end
end
end 
if AutoSkillCooldown[skill]~=nil then
if GetTick() < AutoSkillCooldown[skill] then -- in cooldown
level=0
skill=0
end
end
end
return skill,level
else -- SO MUCH EASIER WHEN LEVEL ISN'T SELECTABLE!!!!
for i,v in ipairs(MobSkillList) do
level = SkillList[MercType][v]
if level ~= nil then
skill=v
return skill,level
end
end
end
return 0,0
end
 
UseDieterVolcanicAsh=1
SkillInfo[MH_VOLCANIC_ASH ]={"Volcanic Ash",{7,7,7,7,7},{60,65,70,75,80},{1000,1000,1000,1000,1000},{4000,3500,3000,2500,2000},{700,700,700,700,700},2,{6000,7000,8000,9000,10000}}

 

I shortened the listed cooldown on volcanic ash so it will keep two of them up at any given time. It will use it as an AoE skill, and never use lava slide to attack (unless you turn off UseDieterVolcanicAsh), though it will still be able to use lava slide on owner's feet if set to do so via LavaSlideMode

 

 

Method 2: Make it a debuff by overriding GetDebuffSkill, and set tactics to use "any" debuff on the monster in question (I'm not sure if this will keep ash up, or just cast it once):

 

 

function GetDebuffSkill(myid)

if (IsHomun(myid)==1) then
if GetV(V_HOMUNTYPE,MyID)==EIRA and UseEiraSilentBreeze==1 then
skill=MH_SILENT_BREEZE
if EiraSilentBreezeLevel==nil then
level=5
else
level=EiraSilentBreezeLevel
end
return skill,level
elseif GetV(V_HOMUNTYPE,MyID)==DIETER and UseDieterVolcanicAsh==1 then
skill=MH_VOLCANIC_ASH
if DieterVolcanicAshLevel==nil then
level=5
else
level=DieterVolcanicAshLevel
end
return skill,level
end
else
for i,v in ipairs(DebuffSkillList) do
level = SkillList[MercType][v]
if level ~= nil then
skill=v
return skill,level
end
end
end
return 0,0
end
 
 
UseDieterVolcanicAsh=1
SkillInfo[MH_VOLCANIC_ASH ]={"Volcanic Ash",{7,7,7,7,7},{60,65,70,75,80},{1000,1000,1000,1000,1000},{4000,3500,3000,2500,2000},{700,700,700,700,700},2,{6000,7000,8000,9000,10000}}

 

Pretty self-explainatory - tactics must be set to use debuffs. 

 

 

Method 3 - which i think is what you want:

This is the messiest - but it will work even if homun is set SuperPassive. Here, we define a new buff for casting volcanic ash on the owner's target's feet by overriding the OnAutoBuffs() callback (note that we back up the current one and then call it at the end; that way it will be compatible with another plugin that also adds a buff. My new OnAutoBuffs function is based on the section of DoAutoBuffs() that handles casting mist/slide on the owner, only here, we're first checking that the owner currently has a target, and then make sure it's a monster and it's actually there (can't trust GetV(V_TARGET) to not return targets that are dead or off screen). Then we use the same code as we do for casting slide/VA, only on the enemy. 

function OnAutoBuffs(buffmode)
	if AshTimeout ~=-1 then
		TraceAI("tick:"..GetTick().."AshTimeout"..AshTimeout)
		if (GetTick() > AshTimeout) then
			local skill,level,opt = GetVolcanicAsh(MyID)
			if (skill <= 0) then
				AshTimeout = -1
			elseif level==0 or opt~=buffmode then
				-- skill in cooldown
			elseif (GetSkillInfo(skill,3,level) <= GetV(V_SP,MyID)) then
				local t = GetV(V_TARGET,GetV(V_OWNER,MyID) --Get owner's target
				if IsMonster(t)==1 and IsOutOfSight(t,MyID)==0 then --Make sure it's a monster and on screen
					if MyASAPBuffs[3]==skill and buffmode==3 then
						AshTimeout = GetTick()+20000 --We're stuck in an ASAP loop!
						logappend("AAI_ERROR","ASAP buff attempt canceled, we were just trying to do this and it didnt work, delaying 20 seconds "..FormatSkill(skill,level))
					else
						MyPState = MyState
						MyState = PROVOKE_ST
						MyPEnemy = t
						MyPSkill = skill
						MyPSkillLevel = level
						MyPMode = 7
						TraceAI("Using AoE skill as buff"..MyPState.." "..MyState.." "..MyPEnemy.." "..MyPSkill.." "..MyPSkillLevel)
					return OnPROVOKE_ST()
				end
			end
		end
	end	
	return 1
end

function GetVolcanicAsh(myid)
	local level = 0
	local skill = 0
	local skillopt = 0
	if (IsHomun(myid)==1) then
		htype=GetV(V_HOMUNTYPE,myid)
		if	(htype==DIETER and UseDieterVolcanicAsh==1 and VolcanicAshMode~=0) then
			skill=MH_VOLCANIC_ASH
			level = 5
			skillopt=VolcanicAshMode
		end
	end
	if AutoSkillCooldown[skill]~=nil then
		if GetTick() < AutoSkillCooldown[skill] then -- in cooldown
			level=0
			skill=skill
		end
	end
	return skill,level,skillopt
end


UseDieterVolcanicAsh=1
VolcanicAshMode=1
SkillInfo[MH_VOLCANIC_ASH ]={"Volcanic Ash",{7,7,7,7,7},{60,65,70,75,80},{1000,1000,1000,1000,1000},{4000,3500,3000,2500,2000},{700,700,700,700,700},2,{6000,7000,8000,9000,10000}}
--Some globals we'll need:
AshTimeout=0
AutoSkillCooldown[MH_VOLCANIC_ASH]=0

Use only one of these three methods. 

 

In all cases, this code goes into H_Extra (or into it's own .lua file, called from H_Extra with dofile() )

 

This code hasn't been tested, and will probably need a few fixes to work correctly.

 

Sorry they look so awful - the forums mangle formatting.


Edited by DrAzzy, 31 October 2013 - 09:45 AM.

  • 1

#5 hioray

hioray

    Amateur Blogger

  • Members
  • 129 posts
  • Playing:Nothing

Posted 01 November 2013 - 03:01 AM

wow.. wow.. easy azzy... i never learn about programing language before...  ok i'll put the code on your AI.. i'll tell u how this gonna be work later...
anyway thanks for your respond.. 
:thx:


  • 0

#6 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 01 November 2013 - 06:43 AM

wow.. wow.. easy azzy... i never learn about programing language before...  

Well, you're the one who was modifying my AI!


  • 0

#7 hioray

hioray

    Amateur Blogger

  • Members
  • 129 posts
  • Playing:Nothing

Posted 01 November 2013 - 10:30 AM

Well, you're the one who was modifying my AI!

 

sorry bout that... i'm just trying and learning how the AI is work.. (kinda curious)   :heh:

hmmmm... i realize what wrong with the AI.. coz i add on this phrase..

 

AzzyUtil.lua

function GetSightOrAoE(myid)

local level = 0
local skill = 0
local skillopt = 0
if (IsHomun(myid)==1) then
htype=GetV(V_HOMUNTYPE,myid)
if (htype==DIETER and UseDieterLavaSlide==1 and LavaSlideMode~=0) then
skill=MH_LAVA_SLIDE
level = 5
skillopt=LavaSlideMode
elseif (htype==SERA and PoisonMistMode~=0 and UseSeraPoisonMist==1) then
skill=MH_POISON_MIST
level = 5
skillopt=PoisonMistMode
elseif (htype==DIETER and UseDieterVolcanicAsh==1 and VolcanicAshMode~=0) then
skill=MH_VOLCANIC_ASH
level = 5
skillopt=VolcanicAshMode
end
else
if MercType==2 then
skill=MER_SIGHT
level=1
skillopt=UseAutoSight
end
end
if AutoSkillCooldown[skill]~=nil then
if GetTick() < AutoSkillCooldown[skill] then -- in cooldown
level=0
skill=skill
end
end
return skill,level,skillopt
end

 

i used the logic with dieter lava slide.. so i add volcanic ash just like that... lol  :heh: 

 

and with ur 2nd Method.. i ever tried with my logic.. i saw code with Silent Breeze and i tried to input that code and the result is "NOPE".. dieter didnt use his VolcanicAsh.. i was realize DieterVolcanicAsh not for An Enemy but need to cast On The ground just like AOE Skill... 

 

for your 3rd Method.. i dont know bout that... i cant use my logic on there... but i've try it.. i put the code in H_Extra.lua and it got some error.. it said something wrong with "if" pharse at line 65 or something like that... :/

 

and the result is only 1st method what can be use right now.. (Tested Today)

 

so for another question :

is that possible if  i switch the code from | function GetMobSkill(myid) |  to be | function GetSightOrAoE(myid) | ?? i mean i use my above code... and i remove ur GetMobSkill Code from AzzyUtil.lua

 

Reason :
Coz MVP rarely get mobbed..  so i need ASAP cast or Spaming more often then using getmobskill code..

(is my question and reason stupid?? :heh: )

 


Edited by hioray, 01 November 2013 - 11:08 AM.

  • 0

#8 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 01 November 2013 - 11:07 AM

 

sorry bout that... i'm just trying and learning how the AI is work.. (kinda curious)   :heh:

hmmmm... i realize what wrong with the AI.. coz i add on this phrase..

 

AzzyUtil.lua

 

i used the logic with dieter lava slide.. so i add volcanic ash just like that... lol  :heh: 

 

and with ur 2nd Method.. i ever tried with my logic.. i saw code with Silent Breeze and i tried to input that code and the result is "NOPE".. dieter didnt use his VolcanicAsh.. i was realize DieterVolcanicAsh not for An Enemy but need to cast On The ground just like AOE Skill... 

 

for your 3rd Method.. i dont know bout that... i cant use my logic on there... but i've try it.. i put the code in H_Extra.lua and it got some error.. it said something wrong with "if" pharse at line 65 or something like that... :/

 

and the result is only 1st method what can be use right now.. (Tested Today)

 

so for another question :

is that possible if  i switch the code from | function GetMobSkill(myid) |  to be | function GetSightOrAoE(myid) | ?? i mean i use my above code... and i remove ur GetMobSkill Code from AzzyUtil.lua

 

Reason :
Coz MVP rarely get mobbed..  so i need ASAP cast or Spaming more often then using getmobskill code..

(is my question and reason stupid?? :heh: )

 

Never modify AzzyUtil.lua, AImain.lua, AI.lua or AI_M.lua. 

 

If you need to modify a function, just copy-paste the function definition into H_Extra, and hack it up there. The new version of that function in H_Extra.lua will override the version in the original file. 

 

 

After doing what I did in Option 2, you also need to set the Debuff Tactic for the monsters you want it to cast Volcanic Ash on to "All" (or Any, or whatever I called it). Did you do that? The default tactics say not to use debuffs - and that was one of the advantages of option 2 - you can control which monsters it does it on using tactics!

 

 

There is no problem with Ash being ground targeted. None of the code anywhere in the AI care whether the skill is targeted on the enemy or on the ground under his feat - except DoSkill(). No matter what skill is being used, I just call DoSkill(), and DoSkill sorts out how to target it.

 

 

 

Regarding third one throwing error - well, fix the error! It's almost certainly just a typo.

Like I said, I haven't tested the code - I was just writing that off the top of my head. If you told me what the error actually was, I could tell you what I got wrong. The third one is almost certainly what you want, though you might want to add an extra check to it, so it'd only use it on MVPs; there are a few ways to do this. 

 

 

Regarding the mob bit - A bit of a primer on how these functions are used...

 

GetAtkSkill()

GetMobSkill()

GetDebuffSkill()

GetMinionSkill()

GetSAtkSkill() 

 

are all called in OnCHASE_ST() and OnATTACK_ST(), when the AI asks what skills are available for the homun to use while fighting an enemy. 

It checks tactics, and also checks the number of monsters it's fighting against AutoMobMode and AutoMobCount to determine whether a mob skill is appropriate (This is why it doesn't cast it on the MVP when there's no mob - AutoMobCount is higher than the number of monsters. You could either crank that back to 1 (to use on all) or define a tactic for the MVPs you're hunting to specify a higher TACT_WEIGHT so they'll be counted as more than one monster)

 

 

The other GetSkill functions define buff skills, which are not cast on enemies:

 

GetOffensiveBuff()

GetDefensiveBuff()

...

GetSightorAoE() 

 

These are all called in DoAutoBuffs(). The ones in GetSightorAoE get handled in the last section of DoAutoBuffs, where we tell it to go into PROVOKE_ST (named that because the first skill I coded it for was merc provoke - it's used for all ranged targeted buff skills), and target the owner with the skill returned by GetSightOrAoE() 

 

The code that does that is very much like the code in option 3 that I override OnAutoBuffs() (a callback function called at the end of DoAutoBuffs, to allow addons that do different buffs). I copy/pasted the code for using those skills on the owner, but instead of targeting the owner, I target the owner's target, verify that it's on screen and a monster, and then set out to cast volcanic ash on it :-P


Edited by DrAzzy, 01 November 2013 - 11:25 AM.

  • 1

#9 hioray

hioray

    Amateur Blogger

  • Members
  • 129 posts
  • Playing:Nothing

Posted 01 November 2013 - 11:23 AM

Never modify AzzyUtil.lua, AImain.lua, AI.lua or AI_M.lua. 

 

If you need to modify a function, just copy-paste the function definition into H_Extra, and hack it up there. The new version of that function in H_Extra.lua will override the version in the original file. 

 

 

After doing what I did in Option 2, you also need to set the Debuff Tactic for the monsters you want it to cast Volcanic Ash on to "All" (or Any, or whatever I called it). Did you do that? The default tactics say not to use debuffs - and that was one of the advantages of option 2 - you can control which monsters it does it on using tactics!

 

 

There is no problem with Ash being ground targeted. None of the skills anywhere in the AI care whether the skill is targeted on the enemy or on the ground under his feat. No matter what, I just call DoSkill(), and DoSkill sorts it out.

 

 

 

Regarding third one throwing error - well, fix the error! It's almost certainly just a typo.

Like I said, I haven't tested the code - I was just writing that off the top of my head. If you told me what the error actually was, I could tell you what I got wrong

 

ohh.. sorry i didnt know if you forbid to modif ur AI... i only read ur AzzyAI 1.52 not allowed to modif default.lua..   :(

so nvm for my last question...

 

uhmm.. for Option 2... i did.. but still my dieter didnt do Volcanic Ash.. :/

 

3rd option.. eeh... i'm just trying all of your methode and your code.. i'm not complaining... :(

if ur methode wrong is okay... i just help you to test ur code too... and

i'm asking ur AI coz i'm just curious with AI work thats all..

 

well,anyway thanks for the code... i can use volcanic ash now...  :rice:


Edited by hioray, 01 November 2013 - 11:25 AM.

  • 0

#10 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 01 November 2013 - 11:28 AM

ohh.. sorry i didnt know if you forbid to modif ur AI... i only read ur AzzyAI 1.52 not allowed to modif default.lua..    :(

so nvm for my last question...

 

uhmm.. for Option 2... i did.. but still my dieter didnt do Volcanic Ash.. :/

 

3rd option.. eeh... i'm just trying all of your methode and your code.. i'm not complaining...  :(

if ur methode wrong is okay... i just help you to test ur code too... and

i'm asking ur AI coz i'm just curious with AI work thats all..

 

well,anyway thanks for the code... i can use volcanic ash now...   :rice:

I'm not saying "Don't modify it because I said so", I'm saying "Don't modify it, because if you modify those files, you'll have trouble upgrading to new versions of AzzyAI" - And there's no reason to modify them either. Just put the modified code into H_Extra, and it will replace what's in the other file when the game loads, and that way you can upgrade to new versions of AzzyAI without losing your modifications (just save H_Extra). 

 

Also - re-read my last post. I edited in a ton of stuff like 2 minutes after you posted that. 

 

 

3rd option.. eeh... i'm just trying all of your methode and your code.. i'm not complaining...  :(

No no, it's fine - I'm happy to tell you what's wrong and fix it or tell you how to fix it - but I can't do that if I don't know the error. 


Edited by DrAzzy, 01 November 2013 - 11:30 AM.

  • 1

#11 hioray

hioray

    Amateur Blogger

  • Members
  • 129 posts
  • Playing:Nothing

Posted 01 November 2013 - 11:56 AM

I'm not saying "Don't modify it because I said so", I'm saying "Don't modify it, because if you modify those files, you'll have trouble upgrading to new versions of AzzyAI" - And there's no reason to modify them either. Just put the modified code into H_Extra, and it will replace what's in the other file when the game loads, and that way you can upgrade to new versions of AzzyAI without losing your modifications (just save H_Extra). 

 

Also - re-read my last post. I edited in a ton of stuff like 2 minutes after you posted that. 

No no, it's fine - I'm happy to tell you what's wrong and fix it or tell you how to fix it - but I can't do that if I don't know the error. 

 

Ohh... i though u got mad coz i modifed your AI... actually, i dunno how to use H_Extra.lua.. i've told you i only use my logic on making the AI... that's why i modifed your another .lua file like AzzyUtil,AI_Main, H_SkillList, etc... beside it makes me more easy to implement my logic there coz it has the sample what i need to make the code... copy and paste change the code with the right name of skill i need.. kinda fun make some experiment tho... lol

 

uhmm.. for the code.. i'll try it again tomorrow.. i need to sleep now.. 4:00 AM here..

i'll tell you later if i get something better to cast Volcanic Ash or another skill...

oh about MUTATION_BASEJOB = 8017.. i guess that code only Passive Skill to make your Pre-S homun to be S...

ok, nite azzy and thanks for the code... that was fun..
:no1:


  • 0

#12 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 01 November 2013 - 12:11 PM

oh about MUTATION_BASEJOB = 8017

 

Man, I have tried to figure out what that skill does ever since homun S came. 

 

The skill name and number was pulled out of the game client (not official documentation). 

 

I've tried interacting with it every way I can think of...

GetV(V_SKILLATTACKRANGE)

SkillObject on self

SkillObject on owner

SkillGround

 

None of these have any visible effect or give any useful info. 

 

As far as I know, it doesn't do anything. 


  • 0




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users