Repair based on... Problem.
Posted: Sat Feb 06, 2010 5:32 pm
Hello, new to this so go easy please.
Trying to have my bot train, and then after a certain time/durability/fight counter check return to vender.
All my paths work, except it ignores time/dura/fight check and keeps training forever.
Here is what i used for time test 60 seconds:
Profile:
Any help is appreciated,
ideally i would like to return when bags are full, is there a way to check if all bags are full and then load path?
Thanks.
Trying to have my bot train, and then after a certain time/durability/fight counter check return to vender.
All my paths work, except it ignores time/dura/fight check and keeps training forever.
Here is what i used for time test 60 seconds:
Here is what i tried for durability check:<waypoints>
<!-- # 1 --><waypoint x="3457" z="5657"> </waypoint>
<!-- # 2 --><waypoint x="3749" z="5641"> </waypoint>
<!-- # 3 --><waypoint x="3638" z="5559"> </waypoint>
<!-- # 4 --><waypoint x="3624" z="5480"> </waypoint>
<!-- # 5 --><waypoint x="3730" z="5402"> </waypoint>
<!-- # 6 --><waypoint x="3453" z="5476">__WPL:reverse();
if(player.free_counter1 == 0) then player.free_counter1 = os.time(); end;
if( os.difftime(os.time(), player.free_counter1) > 60 ) then
player.free_counter1 = os.time();
load_paths("Dorian_Sell.xml");
end
</waypoint>
</waypoints>
And here is what i tried for fight based:<waypoints>
<!-- # 1 --><waypoint x="3457" z="5657"> </waypoint>
<!-- # 2 --><waypoint x="3749" z="5641"> </waypoint>
<!-- # 3 --><waypoint x="3638" z="5559"> </waypoint>
<!-- # 4 --><waypoint x="3624" z="5480"> </waypoint>
<!-- # 5 --><waypoint x="3730" z="5402"> </waypoint>
<!-- # 6 --><waypoint x="3453" z="5476">__WPL:reverse();
if( player.free_flag1 == true ) then
player.free_flag1 = false;
loadPaths("5-7_bugs_repair.xml");
end
</waypoint>
</waypoints>
I don't understand why it appears to keep training, ignoring the checks to load the other path to repair/buy/sell.<waypoints>
<!-- # 1 --><waypoint x="3457" z="5657"> </waypoint>
<!-- # 2 --><waypoint x="3749" z="5641"> </waypoint>
<!-- # 3 --><waypoint x="3638" z="5559"> </waypoint>
<!-- # 4 --><waypoint x="3624" z="5480"> </waypoint>
<!-- # 5 --><waypoint x="3730" z="5402"> </waypoint>
<!-- # 6 --><waypoint x="3453" z="5476">__WPL:reverse();
if( player.Fights-player.free_counter1 > 5 ) then
player.free_counter1 = player.Fights;
load_paths("5-7_bugs_repair.xml");
end
</waypoint>
</waypoints>
Profile:
Code: Select all
<profile>
<options>
<!-- Try the bot with a new char mage -->
<!-- At the pioneer village. Use demo.xml waypoint file -->
<option name="HP_LOW" value="60" />
<option name="MP_LOW_POTION" value="30" />
<option name="HP_LOW_POTION" value="50" />
<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="30" />
<!-- Shopping options, how many of what do you want to keep in your inventory -->
<option name="HEALING_POTION" value="99" />
<option name="MANA_POTION" value="99" />
<option name="ARROW_QUIVER" value="1" />
<option name="THROWN_BAG" value="0" />
<!-- either false or arrow or thrown -->
<option name="RELOAD_AMMUNITION" value="arrow" />
<!-- 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="200" />
<option name="MAX_FIGHT_TIME" value="15" /> <!-- Max time without damage before break -->
<option name="DOT_PERCENT" value="80" />
<option name="ANTI_KS" value="true" />
<!-- Attack monsters 3 levels above or 10 below your level -->
<option name="TARGET_LEVELDIF_ABOVE" value="1" />
<option name="TARGET_LEVELDIF_BELOW" value="7" />
<!-- 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="100" />
<option name="QUICK_TURN" value="true" />
<!-- Loot settings -->
<option name="LOOT" value="true" />
<option name="LOOT_IN_COMBAT" value="false" />
<option name="LOOT_DISTANCE" value="100" />
<option name="LOOT_PAUSE_AFTER" value="15" /> <!-- probability in % for a short rest -->
<!-- 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="INV_AUTOSELL_ENABLE" value="true" />
<option name="INV_AUTOSELL_FROMSLOT" value="9" />
<option name="INV_AUTOSELL_TOSLOT" value="60" />
<option name="INV_AUTOSELL_QUALITY" value="white,green" />
<option name="INV_AUTOSELL_NOSELL_DURA" value="110" />
<!-- 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="MyOtherCharacter1" />
<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 -->
<skills_scout>
<skill name="SCOUT_SHOT" modifier="" hotkey="VK_4" priority="110" />
<skill name="SCOUT_VAMPIRE_ARROWS" modifier="" hotkey="VK_2" priority="85" />
<skill name="SCOUT_AUTOSHOT" modifier="" hotkey="VK_5" priority="90" />
<skill name="SCOUT_WIND_ARROWS" modifier="" hotkey="VK_3" priority="70" />
</skills_scout>
<skills_knight>
<skill name="KNIGHT_HOLY_STRIKE" modifier="" hotkey="VK_6" priority="60" />
</skills_knight>
<onLoad>
-- 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>
-- Additional Lua code to execute on death
-- pauseOnDeath(); -- Stop the script
-- player:logout(); -- logout
</onDeath>
<onLeaveCombat>
local dura = inventory:getMainHandDurability();
printf("Durability:%s\n", dura);
if( dura < 0.95 ) then
player.free_flag1 = true;
end
</onLeaveCombat>
<onLevelup>
</onLevelup>
<onSkillCast>
-- 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>
</profile>
ideally i would like to return when bags are full, is there a way to check if all bags are full and then load path?
Thanks.