Need some help with my OnSkillCast for warrior

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
User avatar
Rom Botter
Posts: 85
Joined: Wed Jul 21, 2010 11:05 am
Location: Holland

Need some help with my OnSkillCast for warrior

#1 Post by Rom Botter » Sun Feb 13, 2011 4:23 pm

So i started working with my onskillcast in my profile, and found some nice info on the wiki and forums.
now i have the following code in my onskillcast section, just cant figure out why the bot doesnt accept it when i start it...

i have following:

Code: Select all

   
<onSkillCast>
   local bool, count = target:hasDebuff("Disarmament IV");
   if bool == false then
      player:cast("KNIGHT_DISARMAMENT");
   end;
   local target = player:getTarget();
   local bool, count = target:hasDebuff("Disarmament IV");
   if bool == true then
      player:cast("WARRIOR_SLASH");
   end;
   local target = player:getTarget();
   local bool, count = target:hasDebuff("Bleed");
   if bool == true then
      player:cast("WARRIOR_PROBING_ATTACK");
   end;
   local target = player:getTarget();
   local bool, count = target:hasDebuff("Vulnerable");
   if bool == true then
      player:cast("WARRIOR_OPEN_FLANK");
   end;
   </onSkillCast>
the error i get is:

Code: Select all

...player.lua:669: onSkillCast error: [string "..."]:2: attempt to index global 'target' <a nuill value>
any help would be much appreciated ^^
I think people need to be educated on the fact the marijuana is NOT a drug... marijuana is a plant and an herb, GOD put it here... if GOD put it here, what gives the GOVERNMENT the right to say GOD is WRONG??? ~ Willie Nelson

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#2 Post by rock5 » Sun Feb 13, 2011 9:33 pm

The error message says it all, 'target is null value'. When does getTarget() return nil? When you don't have anything targeted. Just do a check to see if target is nil and continue from there. Hopefully that will work.

BTW. this will all become obsolete once I release the changes I'm making to get buff info from memory. Those sort of checks will be done automatically. I've already done the changes, I'm just updating the skills.xml database with all the buff data which is going to take me awhile.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#3 Post by lisa » Sun Feb 13, 2011 9:39 pm

Yup don't forgot onskillcast also occurs when you cast buffs and such, it's not just for when you attack.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
Rom Botter
Posts: 85
Joined: Wed Jul 21, 2010 11:05 am
Location: Holland

Re: Need some help with my OnSkillCast for warrior

#4 Post by Rom Botter » Mon Feb 14, 2011 6:26 am

removed buffs from profile, now it still gets an error, AFTER it killed a mob... so even when its not casting skills (or just done casting a skill) it still checks the onskillcast and since theres no mob (or atleast a dead mob...) i get nill error :(

tried putting:

Code: Select all

   local bool, count = player:getTarget();
   if bool == true then
before every check, but the bot wont accept that ...

is there maybe a page on the wiki that goes into more advanced details about what u can use or make checks on in the onskillcast section?
I think people need to be educated on the fact the marijuana is NOT a drug... marijuana is a plant and an herb, GOD put it here... if GOD put it here, what gives the GOVERNMENT the right to say GOD is WRONG??? ~ Willie Nelson

Germangold
Posts: 276
Joined: Thu Oct 22, 2009 3:58 am

Re: Need some help with my OnSkillCast for warrior

#5 Post by Germangold » Mon Feb 14, 2011 6:47 am

so we do have

onSkillCast
onDeath
onLevelUp
onLeaveCombat
onLoad

as event triggers

why dont use

Code: Select all

if( self.Battling ) then
your code

or is a event like
onCombat
more usefull?

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#6 Post by lisa » Mon Feb 14, 2011 6:50 am

rock5 posted some code a week or so again, wish I could remember it. It did code for if the skill was **. So basically the code checked if the skill would be
KNIGHT_DISARMAMENT and then it would do the code after that check and if the skill being used wasn't KNIGHT_DISARMAMENT then it wouldn't do the code, obviously.

It was very handy code, just wish I could remember lol

was something like

Code: Select all

if KNIGHT_DISARMAMENT = true then **** end
I doubt that is the actual code though
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#7 Post by rock5 » Mon Feb 14, 2011 8:50 am

I think this is all wrong. You're trying to totally control your attack sequence in the <onSkillCast> section. That will never work properly. The <onSkillCast> section is mostly used to follow 1 skill after another. What you are doing is checking buffs. You need to do that before the skill is used. What you really need to use is the <onPreSkillCast> section. Try something like this;

Code: Select all

<onPreSkillCast>
player:update()
local target = player:getTarget()
if arg1 == "KNIGHT_DISARMAMENT" and target:hasBuff("Disarmament IV") then
    return false
elseif arg1 == "WARRIOR_SLASH" and not target:hasBuff("Disarmament IV") then
    return false
elseif arg1 == "WARRIOR_PROBING_ATTACK" and not target:hasDebuff("Bleed") then
    return false
elseif arg1 == "WARRIOR_OPEN_FLANK" and not target:hasDebuff("Vulnerable") then
    return false
end
return true
</onPreSkillCast>
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#8 Post by lisa » Mon Feb 14, 2011 9:16 am

That looks like the code I was thinking of, I better add it to my file so I can "remember" it =)
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
Rom Botter
Posts: 85
Joined: Wed Jul 21, 2010 11:05 am
Location: Holland

Re: Need some help with my OnSkillCast for warrior

#9 Post by Rom Botter » Mon Feb 14, 2011 10:16 am

rock5 wrote:I think this is all wrong. You're trying to totally control your attack sequence in the <onSkillCast> section. That will never work properly. The <onSkillCast> section is mostly used to follow 1 skill after another. What you are doing is checking buffs. You need to do that before the skill is used. What you really need to use is the <onPreSkillCast> section. Try something like this;

Code: Select all

<onPreSkillCast>
player:update()
local target = player:getTarget()
if arg1 == "KNIGHT_DISARMAMENT" and target:hasBuff("Disarmament IV") then
    return false
elseif arg1 == "WARRIOR_SLASH" and not target:hasBuff("Disarmament IV") then
    return false
elseif arg1 == "WARRIOR_PROBING_ATTACK" and not target:hasDebuff("Bleed") then
    return false
elseif arg1 == "WARRIOR_OPEN_FLANK" and not target:hasDebuff("Vulnerable") then
    return false
end
return true
</onPreSkillCast>


yes i want total control over the skill casting of my warrior, i want it to make "combo's" with the skills thatfollow eachother up like:

Disarmament stacked 4 times to lower their defense
Slash to give them Bleed
Probing attack (target needs bleed) to make them vulnerable
Open flank ( target needs to be vulnerable)

and then repeat those skills in that way to gain best damage/DPS

here is my profile, i changed the onpreskillcast again to do it skill by skill and put the skills on autouse="false"... now the bot is not using any skills at all :P

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<profile>
	<options>
		<!-- Try the bot with a new char mage                   -->
		<!-- At the pioneer village. Use demo.xml waypoint file -->
		<option name="HP_LOW"			value="85" />
		<option name="MP_LOW_POTION"	value="60" />
		<option name="HP_LOW_POTION"	value="70" />
		<option name="USE_HP_POTION"	value="best" />	<!-- potion select strategy: best|minstack -->
		<option name="USE_MANA_POTION"	value="best" />	<!-- potion select strategy: best|minstack -->

		<!-- Rest if HP or Mana is below that level -->
		<option name="HP_REST" value="30" />
		<option name="MP_REST" value="35" />

		<!-- Shopping options, how many of what do you want to keep in your inventory -->
		<option name="HEALING_POTION" value="550" />
		<option name="MANA_POTION" value="550" />
		<option name="ARROW_QUIVER" value="0" />
		<option name="THROWN_BAG" value="0" />
		<option name="POISON" value="0" />

		<!-- either false or arrow or thrown -->
		<option name="RELOAD_AMMUNITION" value="false" />	<!-- false|arrow|thrown -->

		<!-- Combat options -->
		<option name="COMBAT_TYPE"        value="" />	<!-- leave empty or choose ranged/melee if not using class default -->
		<option name="COMBAT_RANGED_PULL" value="true" /> <!-- only important for melees -->
		<option name="COMBAT_DISTANCE"    value="50" />
		<option name="MAX_FIGHT_TIME"     value="8" />	<!-- Max time without damage before break -->
		<option name="DOT_PERCENT"        value="90" />
		<option name="ANTI_KS"            value="true" />
		<option name="MAX_TARGET_DIST"    value="150" />

		<!-- Attack monsters 3 levels above or 10 below your level -->
		<option name="TARGET_LEVELDIF_ABOVE" value="8" />
		<option name="TARGET_LEVELDIF_BELOW" value="5" />

		<!-- Waypoint and movement settings -->
		<option name="WAYPOINTS"		value="" />  <!-- leave empty to show a list -->
		<option name="RETURNPATH"		value="" />
		<option name="PATH_TYPE"		value="waypoints" />	<!-- waypoints | wander -->
		<option name="WANDER_RADIUS"		value="500" />
		<option name="WAYPOINT_DEVIATION"	value="0" />
		<option name="QUICK_TURN" 		value="true" />

		<!-- Loot settings -->
		<option name="LOOT"               value="true" />
		<option name="LOOT_IN_COMBAT"     value="true" />
		<option name="LOOT_DISTANCE"      value="150" />
		<option name="LOOT_PAUSE_AFTER"   value="0" />		<!-- probability in % for a short rest -->

		<!-- Harvest options -->
		<option name="HARVEST_DISTANCE"		value="120" />

		<!-- Log out and resurrect settings -->
		<option name="LOGOUT_TIME" 			value="0" />	<!-- in minutes, 0 = timer disabled -->
		<option name="LOGOUT_SHUTDOWN"		value="false" />
		<option name="LOGOUT_WHEN_STUCK"	value="true" />
		<option name="RES_AUTOMATIC_AFTER_DEATH" value="true" />
		<option name="MAX_DEATHS" value="20" /> <!-- Log out after this many deaths -->

		<!-- For more options and documentation see the RoM Bot Wiki:  -->
		<!-- http://www.solarstrike.net/wiki/index.php5?title=RoM_Bot  -->

	</options>

	<friends>
		<!-- names of friends we help fighting or enemys we don't want to attack -->
		<!-- for umlauts use \129 (ue),\132 (ae),\148 (oe) e.g. K\132fer         -->
		<friend name="Deadland Sand Scorpion Pupa" />
		<friend name="Neep" />
		<friend name="Red Skipper" />
		<friend name="Wild Pango" />
	</friends>

	<mobs>
		<!-- names of mobs we want to attack 				-->
		<!-- if no names defined we will attack all mobs	-->
		<mob name="" />
		<mob name="" />
		<mob name="" />
	</mobs>

	<hotkeys>
    	<!-- to communicate with the RoM API / define ingame dummy macro at place 1 -->
		<hotkey name="MACRO"        modifier="" key="VK_0" />
	</hotkeys>

	<!-- define your skills depending from your actual primary class -->
	<!-- see the example for a priest/mage                           -->
	<!-- delete skills you don't have or don't want to use.          -->
	<!-- For more skills to use see /database/skills.xml             -->
	<!-- demo skills for LvL 1 character for all classes             -->
	<skills_priest>
		<skill name="PRIEST_SOUL_SOURCE"   modifier="" hotkey="VK_4" priority="110" inbattle="true" hpper="15" />
		<skill name="PRIEST_HOLY_AURA"     modifier="" hotkey="VK_7" priority="100" inbattle="true" hpper="24" />
		<skill name="PRIEST_URGENT_HEAL"   modifier="" hotkey="VK_2" priority="100" hpper="30"  />
		<skill name="PRIEST_REGENERATE"    modifier="" hotkey="VK_6" priority="90" />
		<skill name="PRIEST_RISING_TIDE"   modifier="" hotkey="VK_3" priority="80" />
		<skill name="MAGE_FIREBALL"        modifier="" hotkey="VK_8" priority="70" />
		<skill name="PRIEST_WAVE_ARMOR"    modifier="" hotkey="VK_5" priority="40"  inbattle="true" />
		<!--skill name="PRIEST_SOUL_BOND"     hotkey="VK_T" priority="30" /> -->
		<!--skill name="PRIEST_MAGIC_BARRIER" hotkey="VK_F" priority="20" rebuffcut="60" inbattle="false" /> -->
	</skills_priest>

	<skills_warrior>
		<skill name="WARRIOR_OPEN_FLANK"   		modifier="" hotkey="VK_5" priority="85" autouse="false" />
		<skill name="WARRIOR_PROBING_ATTACK"    	modifier="" hotkey="VK_4" priority="90" autouse="false" />
		<skill name="WARRIOR_SLASH"            		modifier="" hotkey="VK_3" priority="100" autouse="false" />
		<skill name="KNIGHT_DISARMAMENT"     		modifier="" hotkey="VK_2" priority="110" autouse="false" />
	<!--	<skill name="WARRIOR_MOON_CLEAVE" 	   	modifier="" hotkey="VK_7" priority="80" /> -->
	<!-- 	<skill name="WARRIOR_BLASTING_CYCLONE"         	modifier="" hotkey="VK_6" priority="70" /> -->
	</skills_warrior>

	<skills_scout>
		<skill name="SCOUT_SHOT"       		 modifier="" hotkey="VK_2" priority="85" maxuse="3" />
		<skill name="SCOUT_VAMPIRE_ARROWS" 	 modifier="" hotkey="VK_3" priority="105" />
		<skill name="SCOUT_AUTOSHOT"   		 modifier="" hotkey="VK_4" priority="90" />
		<skill name="SCOUT_WIND_ARROWS"		 modifier="" hotkey="VK_5" priority="95" />
		<skill name="KNIGHT_ENHANCED_ARMOR"	 modifier="" hotkey="VK_9" priority="90" />
	</skills_scout>

	<skills_rogue>
		<skill name="ROGUE_SHADOWSTAB"  modifier="" hotkey="VK_2" priority="90" />
		<skill name="ROGUE_LOW_BLOW"    modifier="" hotkey="VK_4" priority="80" />
	</skills_rogue>

	<skills_mage>
		<skill name="MAGE_FLAME"              modifier="" hotkey="VK_3" priority="80" />
		<skill name="MAGE_ELEMENTAL_CATALYST" modifier="" hotkey="VK_2" priority="30" inbattle="true" />
	</skills_mage>

	<skills_knight>
		<skill name="KNIGHT_HOLY_STRIKE"     modifier="" hotkey="VK_2" priority="35" />
		<skill name="KNIGHT_DISARMAMENT"     modifier="" hotkey="VK_3" priority="100"  />
		<skill name="KNIGHT_MANA_RETURN"     modifier="" hotkey="VK_4" priority="105" autouse="false" />
		<skill name="KNIGHT_HOLY_SEAL"       modifier="" hotkey="VK_5" priority="95" />
		<skill name="KNIGHT_ENHANCED_ARMOR"  modifier="" hotkey="VK_6" priority="95" />
		<skill name="KNIGHT_RESOLUTION"      modifier="" hotkey="VK_7" priority="95" hpper="30" />
	</skills_knight>

	<skills_warden>
		<skill name="WARDEN_CHARGED_CHOP"	modifier="" hotkey="VK_2" priority="90" />
		<skill name="WARDEN_ENERGY_ABSORB"	modifier="" hotkey="VK_3" priority="80" inbattle="true" hpper="25" />
	</skills_warden>

	<skills_druid>
		<skill name="DRUID_RECOVER"        modifier="" hotkey="VK_2" priority="90" hpper="30" />
		<skill name="DRUID_EARTH_ARROW"    modifier="" hotkey="VK_3" priority="80" />
	</skills_druid>

	<onLoad><![CDATA[
		-- Additional Lua code to execute after loading the profile
		-- and before the bot starts. e.g. You could overwrite profile settings here
		-- like: changeProfileOption("HP_REST", 60);
	]]></onLoad>

	<onDeath><![CDATA[
		-- Additional Lua code to execute on death
		-- pauseOnDeath(); -- Stop the script
		-- player:logout();	-- logout
	]]></onDeath>

	<onLeaveCombat><![CDATA[
		-- Additional Lua code to execute after killing an enemy
	]]></onLeaveCombat>

	<onLevelup><![CDATA[
		-- Additional Lua code to execute after having a levelup
		-- and levelup the skills for a new character (mage or priest recommended)
		-- e.g. sendMacro("SetSpellPoint(_tabnr, _skillnr);"); would levelup a skill
	]]></onLevelup>

   <onPreSkillCast>
   local bool, count = target:hasDebuff("Disarmament IV");
   if bool == false then
      player:cast("KNIGHT_DISARMAMENT");
   elseif bool == true then
      player:cast("WARRIOR_SLASH");
   end;
   local bool2, count = target:hasDebuff("Bleed");
   if bool2 == false then
      player:cast("WARRIOR_SLASH");
   elseif bool2 == true then
      player:cast("WARRIOR_PROBING_ATTACK");
   end;
   local bool3, count = target:hasDebuff("Vulnerable");
   if bool3 == false then
      player:cast("WARRIOR_PROBING_ATTACK");
   elseif bool3 == true then
      player:cast("WARRIOR_OPEN_FLANK");
   end;
   </onPreSkillCast>

</profile>
made 3 different bools which are checked separately with the target:hasDebuff with options for both true and false, bot is not using any attacks except for the auto attack (hotkey 1 xD)
I think people need to be educated on the fact the marijuana is NOT a drug... marijuana is a plant and an herb, GOD put it here... if GOD put it here, what gives the GOVERNMENT the right to say GOD is WRONG??? ~ Willie Nelson

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#10 Post by rock5 » Mon Feb 14, 2011 10:44 am

Nope, still looks wrong. Follow the logic. If it casts disarmament from the skills list it will go into <onSkillCast> and cast Disarmament again which will raise it to 'II' then it will cast Slash to apply Bleed. Then it will caste Probing Attack to apply Vulnerable. Then it will go back to the skill list. What do you have as your second skill? Slash? If so it will cast Slash then go into <onSkillCast> again. Disarmament is still not 'IV' so that casts again. Your target is bleeding so it casts Probing Attack.The target is Vulnerable so it does Open Flank.

So that's;
Disarmament -- from skill list
Disarmament
Slash
Probing Attack
Slash -- from skill list
Disarmament
Probing Attack
Open Flank

I don't think that's the order you wanted it to cast. Whereas my idea checks and stops skills from casting before it casts if the appropriate buff doesn't exist. Mine should go;
Disarmament
Disarmament
Disarmament
Disarmament
Slash
Probing Attack
Open Flank
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
Rom Botter
Posts: 85
Joined: Wed Jul 21, 2010 11:05 am
Location: Holland

Re: Need some help with my OnSkillCast for warrior

#11 Post by Rom Botter » Mon Feb 14, 2011 11:03 am

wow... guess i wasnt thinking logical, but now u said it i see what u mean.

from

Code: Select all

<onPreSkillCast>
player:update()
local target = player:getTarget()
if arg1 == "KNIGHT_DISARMAMENT" and target:hasBuff("Disarmament IV") then
    return false
elseif arg1 == "WARRIOR_SLASH" and not target:hasBuff("Disarmament IV") then
    return false
elseif arg1 == "WARRIOR_PROBING_ATTACK" and not target:hasDebuff("Bleed") then
    return false
elseif arg1 == "WARRIOR_OPEN_FLANK" and not target:hasDebuff("Vulnerable") then
    return false
end
return true
</onPreSkillCast>
i just dont understand where the bot will get the info where states what arg1 is...
shouldnt there be a place that says something like:

Code: Select all

local arg1 = Casted.Skill
or something like that?


btw did u see my old post, or the one where i edited my profile in? cuz the codes were different...
I think people need to be educated on the fact the marijuana is NOT a drug... marijuana is a plant and an herb, GOD put it here... if GOD put it here, what gives the GOVERNMENT the right to say GOD is WRONG??? ~ Willie Nelson

JackBlonder
Posts: 99
Joined: Sat Dec 18, 2010 6:55 am

Re: Need some help with my OnSkillCast for warrior

#12 Post by JackBlonder » Mon Feb 14, 2011 11:17 am

onPreSkillCast delivers an argument arg1 which is the actual skill to be casted.

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#13 Post by rock5 » Mon Feb 14, 2011 8:06 pm

[quote=Rom Botter]now the bot is not using any skills at all[/quote]That's because you set all the skills to autouse=false. The onSkillCast and onPreSkillCast code are only executed when the bot uses a skill from the list(that does not include when you use the skill yourself using the player:cast() command). If no skill is used then those codes don't go off.

You are not using <onPreSkillCast> section properly. It is executed before the skill so that you can do some extra checks before casting the skill. If it returns true, it will cast the skill otherwise it wont cast the skill. Consider it like a filter. In my examples, the bot will still try to cast all the skills but the onpreskillcast section will only allow Disarmament through until it reaches 'IV'. Then it will only let Slash through until there is a bleed affect. Then it will only let Probing Attack through until the target is Vulnerable. Then it will only let open flank through while all those debuffs are active.

Have you tried my example?
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Need some help with my OnSkillCast for warrior

#14 Post by rock5 » Wed Feb 16, 2011 2:52 am

As promised, buffs have been added.
http://www.solarstrike.net/phpBB3/viewt ... uff#p18941
You can now pretty much do all this with just the skill settings.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
Rom Botter
Posts: 85
Joined: Wed Jul 21, 2010 11:05 am
Location: Holland

Re: Need some help with my OnSkillCast for warrior

#15 Post by Rom Botter » Wed Feb 16, 2011 7:34 am

rock5 wrote:
Rom Botter wrote:now the bot is not using any skills at all
That's because you set all the skills to autouse=false. The onSkillCast and onPreSkillCast code are only executed when the bot uses a skill from the list(that does not include when you use the skill yourself using the player:cast() command). If no skill is used then those codes don't go off.

You are not using <onPreSkillCast> section properly. It is executed before the skill so that you can do some extra checks before casting the skill. If it returns true, it will cast the skill otherwise it wont cast the skill. Consider it like a filter. In my examples, the bot will still try to cast all the skills but the onpreskillcast section will only allow Disarmament through until it reaches 'IV'. Then it will only let Slash through until there is a bleed affect. Then it will only let Probing Attack through until the target is Vulnerable. Then it will only let open flank through while all those debuffs are active.

Have you tried my example?
yes i tried (to understand it) but i just could not comprehend the code... how to implement it..

im stopping trying to understand this.... its giving me a major headache...

thanks for all ur info and trying to help me with this, its just not for me...
(btw i want to understand it, not being spoon fed everything...)
thanks again tho for all the help!!!
I think people need to be educated on the fact the marijuana is NOT a drug... marijuana is a plant and an herb, GOD put it here... if GOD put it here, what gives the GOVERNMENT the right to say GOD is WRONG??? ~ Willie Nelson

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 41 guests