secondary class priest will not stop casting urgent heal

Talk about anything in Runes of Magic. This does not need to pertain to botting.
Post Reply
Message
Author
playstoomuch
Posts: 5
Joined: Sat Sep 08, 2012 11:39 am

secondary class priest will not stop casting urgent heal

#1 Post by playstoomuch » Thu Jun 20, 2013 6:15 am

hello

i hope you can help me. i do not know much about scripting but because of your wonderful forums i have been able to use rom\bot and have learned quite a bit by searching for similar problems and using the advice you give, but i cannot find this problem anywhere. i have scout/priest when he starts to cast urgent heal he will not stop casting even if he is being attacked or he runs out of mana (just keeps trying til he has enough mana). this happens most often when he falls off the cliff on the way to ks, it also has happened a couple of times inside ks when fighting locatha (he doesnt attack right away and loses a lot of health). here is his profile:

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="35" />
		<option name="MP_LOW_POTION"		value="35" />
		<option name="HP_LOW_POTION"		value="35" />
		<option name="USE_HP_POTION"		value="best" />			<!-- potion select strategy: best|minstack -->
		<option name="USE_MANA_POTION"		value="best" />			<!-- potion select strategy: best|minstack -->
		<option name="USE_PHIRIUS_POTION"	value="false" /> 		<!-- false | true if you want to use the Phirus Potions -->
		<option name="PHIRIUS_MP_LOW"		value="0" />
		<option name="PHIRIUS_HP_LOW"		value="0" />

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

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

		<!-- 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="150" />			<!-- Distance at which it starts using skills -->
		<option name="COMBAT_STOP_DISTANCE" value="150" />			<!-- Distance at which it stops moving towards the target -->
		<option name="MAX_FIGHT_TIME"     	value="15" />			<!-- 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" />
		<option name="PRIORITY_CASTING"		value="true" />		<!-- If you want to cast attack skills by 'priority' or 'sequencially' -->
		<option name="COUNT_AGGRO_ONLY"		value="false" />		<!-- If you want to count only aggro mobs within range of aoe skills  -->

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

		<!-- 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="50" />
		<option name="WAYPOINT_DEVIATION"	value="0" />
		<option name="QUICK_TURN" 			value="true" />

		<!-- Loot settings -->
		<option name="LOOT"               	value="true" />
		<option name="LOOT_ALL"			  	value="true" />  		<!-- Loot all nearby dead mobs after combat -->
		<option name="LOOT_IN_COMBAT"     	value="true" />
		<option name="LOOT_DISTANCE"      	value="300" />
		<option name="LOOT_PAUSE_AFTER"   	value="0" />			<!-- probability in % for a short rest -->
		<option name="LOOT_SIGILS"			value="" />				<!-- Loot sigils or not. If ommitted, will depend on "LOOT" value -->
		<option name="SIGILS_IGNORE_LIST"	value="experience" />				<!-- List of any sigils you wish to ignore, in language of client -->

		<!-- Auto selling options when used with player:merchant -->
		<option name="INV_AUTOSELL_ENABLE"	value="true" />		<!-- true | false -->
		<option name="INV_AUTOSELL_FROMSLOT" value="1" /> 			<!-- 1 = bag 1 slot 1 -->
		<option name="INV_AUTOSELL_TOSLOT"	value="150" /> 			<!-- 30 = last slot bag 1 -->
		<option name="INV_AUTOSELL_QUALITY"	value="white,green,blue,purple" /> 	<!-- white,green,blue,purple  -->

		<!-- Harvest options -->
		<option name="HARVEST_DISTANCE"		value="120" />
		<option name="HARVEST_WOOD"			value="true" /> 		<!-- Choose which types to harvest. -->
		<option name="HARVEST_HERB"			value="true" /> 		<!-- "true" = harvest, "false" = do not harvest -->
		<option name="HARVEST_ORE"			value="true" />

		<!-- Eggpet options -->
		<option name="EGGPET_ENABLE_CRAFT"	value="false" />		<!-- If using same slot for assist and craft, onlt 1 can be enabled. -->
		<option name="EGGPET_CRAFT_SLOT"	value="1" />
		<option name="EGGPET_ENABLE_ASSIST"	value="false" />
		<option name="EGGPET_ASSIST_SLOT"	value="1" />
		<option name="EGGPET_CRAFT_RATIO"	value="1:1:1" /> 		<!-- mining:woodworking:herbalism ratio to produce. -->
		<option name="EGGPET_CRAFT_INDEXES"	value="" /> 	 		<!-- override auto craft index for mining,woodworking,herbalism eg. "2,,"-->


		<!-- 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="CLOSE_WHEN_STUCK"		value="true" />
		<option name="RES_AFTER_DEATH" 		value="true" />
		<option name="MAX_DEATHS" 			value="10" /> 			<!-- Log out after this many deaths -->

		<!-- Party Bot options  -->
		<!-- <option name="PARTY"			value="true" /> -->
		<!-- <option name="PARTY_ICONS"		value="true" /> -->
		<!-- <option name="PARTY_INSTANCE"	value="true" /> -->

		<!-- Healing options -->
		<!-- <option name="HEALER_FIGHT"		value="true" /> --> 	<!-- For party bot if you want healer to also fight -->

		<!-- pvp -->
		<!--option name="PVP"			value="true" /> --> 		<!-- To enable PVP, with this set to true it will auto attack any players with red names -->

		<!-- 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="Cask" />
		<friend name="MyOtherCharacter2" />
		<friend name="Elite_Mob_Name1" />
		<friend name="Elite_Mob_Name2" />
	</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"          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             -->
	<!-- to use a specific key instead of MACRO then use hotkey="VK_1" this example is for hotkey 1 -->
	<skills_priest>
		<skill name="PRIEST_SOUL_SOURCE"     	hotkey="MACRO" priority="110" inbattle="true" hpper="15" />
		<skill name="PRIEST_URGENT_HEAL"     	hotkey="MACRO" priority="100" hpper="50"  />
		<skill name="PRIEST_REGENERATE"      	hotkey="MACRO" priority="90"  hpper="80" />
		<skill name="PRIEST_RISING_TIDE"     	hotkey="MACRO" priority="80" />
		<skill name="PRIEST_WAVE_ARMOR"      	hotkey="MACRO" priority="40"  inbattle="true" />
		<skill name="PRIEST_AMPLIFIED_ATTACK" 	hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" />
		<skill name="PRIEST_GRACE_OF_LIFE" 		hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" />
		<skill name="PRIEST_HOLY_AURA"       	hotkey="MACRO" priority="100" inbattle="true" hpper="24" />
		<!--skill name="PRIEST_SOUL_BOND"     	hotkey="MACRO" priority="30" /> -->
		<!--skill name="PRIEST_MAGIC_BARRIER" 	hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" /> -->
	</skills_priest>


	<skills_scout>
		<skill name="PRIEST_URGENT_HEAL"     	hotkey="MACRO" priority="100" hpper="50"  />
		<skill name="PRIEST_REGENERATE"      	hotkey="MACRO" priority="90"  hpper="80" />
		<skill name="SCOUT_SHOT"          		hotkey="MACRO" priority="80" />
		<skill name="SCOUT_WIND_ARROWS"   		hotkey="MACRO" priority="70" />
		<skill name="SCOUT_VAMPIRE_ARROWS" 		hotkey="MACRO" priority="90" />
        	<skill name="SCOUT_HEALING_SHOT" 		hotkey="MACRO" priority="80" />
		<skill name="KNIGHT_ENHANCED_ARMOR"   	hotkey="MACRO" priority="95" />
	</skills_scout>


	<skills_knight>
		<skill name="KNIGHT_HOLY_STRIKE"    	hotkey="MACRO" priority="90" />
		<skill name="KNIGHT_HOLY_SHIELD"    	hotkey="MACRO" priority="80" inbattle="true" hpper="15" />
		<skill name="KNIGHT_HOLY_SEAL"      	hotkey="MACRO" priority="70" />
		<skill name="KNIGHT_PUNISHMENT"     	hotkey="MACRO" priority="60" />
		<skill name="KNIGHT_ENHANCED_ARMOR"   	hotkey="MACRO" priority="90" />
		<skill name="KNIGHT_MANA_RETURN"   	  	hotkey="MACRO" priority="60" />
		<skill name="KNIGHT_DISARMAMENT"   	  	hotkey="MACRO" priority="70" />
	</skills_knight>



	<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
		if player:findNearestNameOrId("Mysterious Bag") then
 		    player:target_Object("Mysterious Bag")
		    yrest(500) -- If not enough time to pick up bag, increase it.
		    player:target_Object("Mysterious Bag")
		    yrest(500)
		end 
		useGoodie("speed");
                useGoodie("luck");
		if(player.Class1 == CLASS_SCOUT ) then
                  if 100 > inventory:getAmmunitionCount() then
                     if 100 > inventory:getItemCount(212754) then
                        sendMacro('CastSpellByName("Create Tendrils")')
                        yrest(6000)
                        inventory:update()
                     end
                  inventory:useItem(212754)
                  end
               end
	]]></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>

	<onSkillCast><![CDATA[
		-- Additional Lua code to execute when casting a skill
		-- Note: arg1 contains the skill being used.
		-- i.e. arg1.Name will be the name of the skill being cast
		-- e.g.:
		--if( 15 > player.HP/player.MaxHP*100 ) then
		--    player:cast("PRIEST_SOUL_SOURCE");
		--elseif( 25 > player.HP/player.MaxHP*100 ) then
		--    player:cast("PRIEST_HOLY_AURA");
		--    player:cast("PRIEST_URGENT_HEAL");
		--    player:cast("PRIEST_URGENT_HEAL");
	]]></onSkillCast>

	<onHarvest><![CDATA[
		-- Additional Lua code to execute directly before the actual harvesting takes place.
		-- Note: arg1 contains the object to be harvested.
		-- i.e. arg1.Name will be the name of the node you are about to harvest
		-- If this snippet returns 'false', the node will *not* be harvested.
		-- All other return values result in the player attempting to harvest the node.
		-- Note that returning 'false' here breaks out of harvesting completely;
		-- You will not attempt to harvest other nearby nodes instead.
	]]></onHarvest>

	<onUnstickFailure><![CDATA[
		-- Lua code to execute when MAX_UNSTICK_TRIALS is reached.
	]]></onUnstickFailure>
</profile>


i am sure it is probably something really simple and i will feel pretty stupid when i see what i have missed but i have gone over his settings several times. tried changing some stuff but just can't figure it out. thanks for any help you can give me.

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

Re: secondary class priest will not stop casting urgent heal

#2 Post by rock5 » Thu Jun 20, 2013 7:30 am

Please remember to put code in [ code] tags. It makes it more legible because it maintains the tabbing.

I can't see anything wrong with the settings, unless the party options have something to do with it. I don't know too much about it so maybe Lisa can tell if it is. In the mean time you can test it by disabling PARTY and seeing if it work.
  • 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

McGuffin
Posts: 46
Joined: Sat Mar 16, 2013 6:14 am

Re: secondary class priest will not stop casting urgent heal

#3 Post by McGuffin » Thu Jun 20, 2013 7:54 am

playstoomuch wrote:hello

i hope you can help me. i do not know much about scripting but because of your wonderful forums i have been able to use rom\bot and have learned quite a bit by searching for similar problems and using the advice you give, but i cannot find this problem anywhere. i have scout/priest when he starts to cast urgent heal he will not stop casting even if he is being attacked or he runs out of mana (just keeps trying til he has enough mana). this happens most often when he falls off the cliff on the way to ks, it also has happened a couple of times inside ks when fighting locatha (he doesnt attack right away and loses a lot of health). here is his profile:
I had this problem when using one of the KS scipts on the forums. Can't remember which. Basically there was a section in the WP file that said something like...

Code: Select all

        if( player.HP/player.MaxHP*100 < 60 ) then
            player:cast("PRIEST_URGENT_HEAL")
        end
I removed this and it went on without incident. I am just going from memory so it may not be exact, but check your WP file to see if you are looking to heal right after the fall, try removing that and it should be fine. The bot will start healing normally after it enters KS.

playstoomuch
Posts: 5
Joined: Sat Sep 08, 2012 11:39 am

Re: secondary class priest will not stop casting urgent heal

#4 Post by playstoomuch » Fri Jun 21, 2013 10:24 am

sorry rock, i don't know how to do that code thing, if you have a link to how to do that i will check it out, i love to learn new stuff:-)

mcguffin i tried removing that and it did not work, but i found this:

if player.Class1 == 5 or player.Class2 == 5 then -- priest
while (80 > player.HP/player.MaxHP*100) do
player:cast("PRIEST_URGENT_HEAL");
yrest(2300);

in the ks waypoint i changed the 80 to 5 and it works now, he doesnt cast urgent heal anymore but i dont really need it with my vamp arrow anyway

thank you both for the replies :-)

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

Re: secondary class priest will not stop casting urgent heal

#5 Post by rock5 » Fri Jun 21, 2013 2:24 pm

To mark text as code just select the text with the mouse and then click the 'Code' button at the top of the edit box. You'll notice there are other useful buttons up there too. :D

That loop that you found, does it have a player:update() in it? It may just be that the hp values aren't being updated as you heal.
  • 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: secondary class priest will not stop casting urgent heal

#6 Post by lisa » Fri Jun 21, 2013 8:18 pm

playstoomuch wrote:in the ks waypoint i changed the 80 to 5 and it works now
That is just because it doesn't start to heal, if it did start to heal it would heal for ever because
rock5 wrote:That loop that you found, does it have a player:update() in it?
it needs am update for the players HP, previously the code would work because the bot was constantly updating everything for player (using more PC resources), Rock did a lot of work to fix that but what it means now is you need to update the player values yourself in any code like that heal code.

Code: Select all

if player.Class1 == 5 or player.Class2 == 5 then -- priest
 while (80 > player.HP/player.MaxHP*100) do
 player:cast("PRIEST_URGENT_HEAL");
 yrest(2300);
--update the HP values here
player:updateHP()
end
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

playstoomuch
Posts: 5
Joined: Sat Sep 08, 2012 11:39 am

Re: secondary class priest will not stop casting urgent heal

#7 Post by playstoomuch » Fri Jun 28, 2013 10:45 pm

thank you for taking the time to help me out, this is what i have now

Code: Select all

	if player.Class1 == 5 or player.Class2 == 5 then -- priest
		while (70 > player.HP/player.MaxHP*100) do
			player:cast("PRIEST_URGENT_HEAL");
			yrest(2300);
			player:update();
		end
i will test it out later tonight:-)

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests