profile option LOOT_ALL broken
profile option LOOT_ALL broken
Hi,
I just checked for a new revision and it updated to revision 754. Now the LOOT_ALL function in the profile is broken. I've tried to restart my game and the script but it just loots the mob it targets. So if I run ks with my mage it doesn't loot the other trash mobs
I don't know which update broke this but I'm using rev 750 now. Hopefully it will get fixed soon. Many thanks
AlterEgo95
I just checked for a new revision and it updated to revision 754. Now the LOOT_ALL function in the profile is broken. I've tried to restart my game and the script but it just loots the mob it targets. So if I run ks with my mage it doesn't loot the other trash mobs
I don't know which update broke this but I'm using rev 750 now. Hopefully it will get fixed soon. Many thanks
AlterEgo95
Re: profile option LOOT_ALL broken
Before I have a look at the thousands of lines of code to work out the issue can you double check it is using the profile you think it is using, just add a simple print to the onload section of the profile you think it should be using.
something like
something like
Code: Select all
<onLoad><![CDATA[
print("I am the right profile")
]]></onLoad>
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: profile option LOOT_ALL broken
Yes it is using the right profile. I noticed that the bot targets the mob it wants to attack, I mean, like it is shown when you do it manually. But I really don't know why it doesn't loot nearby mobs anymore. If you don't understand my problem, maybe try it yourself with one of your ks bots.
I am not using the new micromacro beta version.
AlterEgo95
I am not using the new micromacro beta version.
AlterEgo95
Re: profile option LOOT_ALL broken
k I'll test it out a bit later, lots of work to do today, first glance of the SVN log doesn't show any changes to the looting 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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: profile option LOOT_ALL broken
But the targeting has changed. I just tested it. Looting still works and so does loot all. I also tested it with the stable 1.02 beta 4 version. So I'm not sure what your issues is.
- 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
Re: profile option LOOT_ALL broken
One person of my server that I know has the same problem. My gold/hour went down to 50k because it targets the first mob in range, uses thunderstorm to get all mobs which stay around and then just loot the targetted mob. Like I said I reverted back to rev 750. Later I will try rev. 751-753 to look if the error is in one of those revisions.
AlterEgo95
AlterEgo95
Re: profile option LOOT_ALL broken
I'm running with R/S , K/S and S/Warden. All three chars have the problem with the looting. When I watch them running, they do not loot all the mobs. Most of the time the first killed mob will not looted (loot in battle -> false). I also realised, the wait after killing a mob is increased (almost 1second).
Re: profile option LOOT_ALL broken
seems to be working ok for me, 1 time it did kill the next group of frogs and then went back to loot the last group of frogs but it didn't miss any loot.
Maybe turn on debugging and see what the prints have to say about it?
Maybe turn on debugging and see what the prints have to say about 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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: profile option LOOT_ALL broken
Hi,
Here the micromacro output with debugging
So it says the target is no lootable, but it is a normal mob in ks. For some reason it is nor working :/
Also removed the whole bot, saved my waypoints, profiles and userfunctions and downloaded the bot files again.
Edit: Just tried the older revisions. Rev. 753 is still working, so the problem occured with rev. 754
AlterEgo95
Here the micromacro output with debugging
Code: Select all
Attempt to read playerAddress
[DEBUG] playerAddr: 0x29F5F00
[DEBUG] player classes: 4/5
[DEBUG] player pet: 0x0
[DEBUG] Player target: 0x29F5F00
[DEBUG] player target type: 0x1
[DEBUG] player target attackable: false
[DEBUG] player target aggressive: false
[DEBUG] player in battle: false
[DEBUG] mousePawn: 0x0
[DEBUG] mousePawn id: -1
[DEBUG] camAddress: 0xBDD800
[DEBUG] Cam X: -18831.61, Y: -762.04, Z: 12294.98
[DEBUG] Cam XU: 0.11, YU: 0.99, ZU: -0.04
Game Version is 5.0.8.2623
RoM windows size is 1920x1018, upper left corner at 0,22
Loading profile MyChar.xml
commandMacro set to 1.
resultMacro set to 2.
The macro hotkey is x.
The 'Attack' hotkey is set to 'macro'.
Testing 'ingamefunctions' macro. If it gets stuck here, please update the 'ingam
efunctions' by copying the 'ingamefunctions' folder from 'rom/devtools' to the g
ames 'interface/addons' folder.
MACRO Test: ok
Ranged skill found: MAGE_THUNDERSTORM
[DEBUG] CPU Frequency 2539.13
Client Language changed.
Getting item type names.
100% [********************]
Loaded waypoint path Speed_KS.xml
No return path with default naming Speed_KS_return.xml found.
We use the normal waypoint path Speed_KS.xml now.
Waypoint #2 is closer then #1. Hence we start with waypoint #2.
We changed the option 'INV_AUTOSELL_ENABLE' from 'true' to 'true'.
We changed the option 'INV_AUTOSELL_FROMSLOT' from '1' to '1'.
We changed the option 'INV_AUTOSELL_TOSLOT' from '180' to '180'.
We changed the option 'INV_AUTOSELL_QUALITY' from 'white,green,blue,purple' to '
white, green, blue, purple'.
[DEBUG] 43998976 Can't have self as target
Clearing target.
Moving to waypoint #1, (-18550, 12303)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Use MACRO: MAGE_ELECTROSTATIC_C=> <UNKNOWN> (0/1000)
Use MACRO: MAGE_ENERGY_INFLUX => MyChar (25023/25023)
Honour party ticket used!
Created party successfully!
Clearing target.
Moving to waypoint #2, (-18577, 12388)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Targeting portal 112072, range 121.22758363192
Player address changed: 0x39A56400
Ranged skill found: MAGE_THUNDERSTORM
Moving to waypoint #3, (4714, 824)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Moving to waypoint #4, (4704, 911)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Forced waypoint type 'NORMAL' set by user.
Moving to waypoint #5, (4464, 911)
Stopping waypoint: Target acquired.
Engaging enemy [Ousul Salamander] in combat.
Use MACRO: MAGE_THUNDERSTORM => Ousul Salamander (15683/15683)
[DEBUG] 967145472 target HP is less than 1
Fight finished. Killed 1 Ousul Salamander. (fight #1 / runtime 0 minutes)
[DEBUG] don't loot reason: target not lootable.
[DEBUG] don't loot reason: target not lootable.
[DEBUG] don't loot reason: target not lootable.
Clearing target.
[DEBUG] FightStartX 4654.2436523438 FightStartZ 917.5888671875
[DEBUG] dir_FS->WP rad -3.107 dir_FS->FE rad -3.007
[DEBUG] Line FS->WP / FS->FE: angleDif rad 0.100 grad 5
[DEBUG] We (would) pass(ed) wp #5 (dist 190.4) in a dist of 18 (skip at 100)
Moving to waypoint #5, (4464, 911)
[DEBUG] 967144192 target HP is less than 1
Stopping waypoint: Target acquired.
Engaging enemy [Ousul Poison Frog] in combat.
Use MACRO: MAGE_THUNDERSTORM => Ousul Poison Frog (15683/15683)
[DEBUG] 967151872 target HP is less than 1
Fight finished. Killed 1 Ousul Poison Frog. (fight #2 / runtime 0 minutes)
[DEBUG] don't loot reason: target not lootable.
[DEBUG] don't loot reason: target not lootable.
[DEBUG] don't loot reason: target not lootable.
Clearing target.
[DEBUG] FightStartX 4464.96875 FightStartZ 910.9912109375
[DEBUG] dir_FS->WP rad 3.133 dir_FS->FE rad 2.326
[DEBUG] Line FS->WP / FS->FE: angleDif rad 0.806 grad 46
[DEBUG] We (would) pass(ed) wp #5 (dist 1.0) in a dist of 0 (skip at 100)
[DEBUG] currentWp #5 4464 911, FE->WP rad -0.824
[DEBUG] nextWp #6 4328 910, FE->WP rad -2.556
[DEBUG] FE->wp#6 to FE->wp#5 is in a angle of 99 grad (skip at 90)
[DEBUG] We overrun waypoint #5, skip it and move on to #6
We overrun waypoint #5, skip it and move on to #6
Moving to waypoint #6, (4328, 910)
[DEBUG] 967149312 target HP is less than 1
Paused. (ENTF) to continue, (CTRL+L) exit to shell, (CTRL+C) quit
Also removed the whole bot, saved my waypoints, profiles and userfunctions and downloaded the bot files again.
Edit: Just tried the older revisions. Rev. 753 is still working, so the problem occured with rev. 754
AlterEgo95
Re: profile option LOOT_ALL broken
it goes through a lot of checks to determine if something is "lootable" or not, it's not simply a bit indicating it has loot on the mob.
Maybe have a look at your profile settings for
COMBAT_DISTANCE
and
LOOT_DISTANCE
Maybe have a look at your profile settings for
COMBAT_DISTANCE
and
LOOT_DISTANCE
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: profile option LOOT_ALL broken
try this player.lua and make sure you have debugging on and debug loot as true.
This file had been changed since the last commit, tell me if it errors because of missing functions/options.
rev 754
Or you can just edit your evaltarget function in player.lua
This file had been changed since the last commit, tell me if it errors because of missing functions/options.
rev 754
Or you can just edit your evaltarget function in player.lua
Code: Select all
function evalTargetLootable(address, target)
if not target or not target.HP then
target = CPawn.new(address)
end
-- Check if still valid target
if not target:exists() then
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "not exists")
end
return false
end
-- Check if lootable
target:updateLootable()
if not ( target.Lootable ) then
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "not lootable")
end
return false;
end
-- Check if in lootIgnoreList
for __, addr in pairs(lootIgnoreList) do
if target.Address == addr then
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "ignore list")
end
return false
end
end
-- Check height difference
target:updateXYZ()
if( math.abs(target.Y - player.Y) > 45 ) then
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "height angle difference")
end
return false;
end
-- check distance to target
local dist = distance(player.X, player.Z, player.Y, target.X, target.Z, target.Y);
local lootdist = 100;
-- Set to combat distance; update later if loot distance is set
if( settings.profile.options.COMBAT_TYPE == "ranged" ) then
lootdist = settings.profile.options.COMBAT_DISTANCE;
end
if( settings.profile.options.LOOT_DISTANCE ) then
lootdist = settings.profile.options.LOOT_DISTANCE;
end
if( dist > lootdist ) then -- only loot when close by
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "Distance")
end
return false
end
-- check target distance to path against MAX_TARGET_DIST
local wpl; -- this is the waypoint list we're using
local V; -- this is the point we will use for distance checking
if( player.Returning ) then
wpl = __RPL;
else
wpl = __WPL;
end
if (__WPL:getMode() == "waypoints") and #__WPL.Waypoints > 0 then
local pA = wpl.Waypoints[wpl.LastWaypoint]
local pB = wpl.Waypoints[wpl.CurrentWaypoint]
V = getNearestSegmentPoint(player.X, player.Z, pA.X, pA.Z, pB.X, pB.Z);
else
V = CWaypoint(player.X, player.Z); -- Distance check from player in wander mode
end
-- use a bounding box first to avoid sqrt when not needed (sqrt is expensive)
if( target.X > (V.X - lootdist) and
target.X < (V.X + lootdist) and
target.Z > (V.Z - lootdist) and
target.Z < (V.Z + lootdist) ) then
if( distance(V.X, V.Z, target.X, target.Z) > lootdist ) then
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "unlooted monster dist > lootdist")
end
return false; -- he is not a valid target
end;
else
-- must be too far away
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "unlooted monster dist > lootdist")
end
return false;
end
return true
end
- Attachments
-
- player.lua
- debugging Loot
- (127.67 KiB) Downloaded 112 times
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: profile option LOOT_ALL broken
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="50" />
<option name="MP_LOW_POTION" value="50" />
<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 -->
<option name="USE_PHIRIUS_POTION" value="false" /> <!-- false | true if you want to use the Phirus Potions -->
<option name="PHIRIUS_MP_LOW" value="40" />
<option name="PHIRIUS_HP_LOW" value="40" />
<!-- Rest if HP or Mana is below that level -->
<option name="HP_REST" value="10" />
<option name="MP_REST" value="10" />
<!-- 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="ranged" /> <!-- leave empty or choose ranged/melee if not using class default -->
<option name="COMBAT_RANGED_PULL" value="false" /> <!-- only important for melees -->
<option name="COMBAT_DISTANCE" value="100" /> <!-- Distance at which it starts using skills -->
<option name="MAX_FIGHT_TIME" value="99" /> <!-- Max time without damage before break -->
<option name="DOT_PERCENT" value="0" />
<option name="ANTI_KS" value="true" />
<option name="MAX_TARGET_DIST" value="110" />
<option name="PRIORITY_CASTING" value="false" /> <!-- 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 10 below your level -->
<option name="TARGET_LEVELDIF_ABOVE" value="5" />
<option name="TARGET_LEVELDIF_BELOW" value="100" />
<!-- Waypoint and movement settings -->
<option name="WAYPOINTS" value="Speed_KS" /> <!-- leave empty to show a list -->
<option name="RETURNPATH" value="" />
<option name="PATH_TYPE" value="waypoints" /> <!-- waypoints | wander -->
<option name="WANDER_RADIUS" value="0" />
<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="false" />
<option name="LOOT_DISTANCE" value="200" />
<option name="LOOT_PAUSE_AFTER" value="0" /> <!-- probability in % for a short rest -->
<option name="LOOT_SIGILS" value="false" /> <!-- Loot sigils or not. If ommitted, will depend on "LOOT" value -->
<option name="SIGILS_IGNORE_LIST" value="" /> <!-- 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="180" /> <!-- 30 = last slot bag 1 -->
<option name="INV_AUTOSELL_QUALITY" value="white,green,blue,purple" /> <!-- white,green,blue,purple -->
<option name="INV_AUTOSELL_IGNORE" value="III" />
<!-- 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="false" />
<option name="CLOSE_WHEN_STUCK" value="false" />
<option name="RES_AFTER_DEATH" value="true" />
<option name="MAX_DEATHS" value="999" /> <!-- 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="Eiserner" />
<friend name="Yusalien" />
<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_warrior>
<skill name="WARRIOR_SLASH" hotkey="MACRO" priority="90" />
<skill name="WARRIOR_TACTICAL_ATTACK" hotkey="MACRO" priority="70" />
<skill name="WARRIOR_PROBING_ATTACK" hotkey="MACRO" priority="80" />
<skill name="WARRIOR_OPEN_FLANK" hotkey="MACRO" priority="70" />
<skill name="WARRIOR_SURPRISE_ATTACK" hotkey="MACRO" priority="70" pullonly="true" />
<skill name="WARRIOR_FRENZY" hotkey="MACRO" priority="30" inbattle="true" />
<skill name="WARRIOR_THUNDER" hotkey="MACRO" priority="70" />
<skill name="WARRIOR_MOON_CLEAVE" hotkey="MACRO" priority="70" />
<skill name="WARRIOR_BLASTING_CYCLONE" hotkey="MACRO" priority="70" />
</skills_warrior>
<skills_scout>
<skill name="SCOUT_SHOT" hotkey="MACRO" priority="90" />
<skill name="SCOUT_AUTOSHOT" hotkey="MACRO" priority="80" />
<skill name="SCOUT_WIND_ARROWS" hotkey="MACRO" priority="70" />
<skill name="SCOUT_VAMPIRE_ARROWS" hotkey="MACRO" priority="70" />
<skill name="SCOUT_COMBO_SHOT" hotkey="MACRO" priority="95" />
<skill name="SCOUT_ARROW_OF_ESSENCE" hotkey="MACRO" priority="90" maxhpper="60" inbattle="true"/>
</skills_scout>
<skills_rogue>
<skill name="ROGUE_SHADOWSTAB" hotkey="MACRO" priority="90" />
<skill name="ROGUE_LOW_BLOW" hotkey="MACRO" priority="80" />
<skill name="ROGUE_HIDE" hotkey="MACRO" priority="10" autouse="false" />
<skill name="ROGUE_INFORMER" hotkey="MACRO" priority="80" />
<skill name="ROGUE_ASSASSINS_RAGE" hotkey="MACRO" priority="60" />
<skill name="ROGUE_WOUND_ATTACK" hotkey="MACRO" priority="80" />
</skills_rogue>
<skills_mage>
<skill name="MAGE_THUNDERSTORM" hotkey="MACRO" priority="100" />
<skill name="MAGE_PURGATORY_FIRE" hotkey="MACRO" priority="90" />
<skill name="MAGE_DISCHARGE" hotkey="MACRO" priority="10" autouse="false" />
<skill name="MAGE_ELECTROSTATIC_CHARGE" hotkey="MACRO" priority="30" />
<skill name="MAGE_ENERGY_INFLUX" hotkey="MACRO" priority="30" autouse="true" />
<skill name="MAGE_ESSENCE_OF_MAGIC" hotkey="MACRO" priority="30" autouse="true" inbattle="false" />
<skill name="PRIEST_MAGIC_BARRIER" hotkey="MACRO" priority="30" autouse="true" inbattle="false" />
<skill name="PRIEST_HOLY_AURA" hotkey="MACRO" priority="110" hpper="30" />
<skill name="PRIEST_URGENT_HEAL" hotkey="MACRO" priority="100" hpper="50" />
<skill name="PRIEST_REGENERATE" hotkey="MACRO" priority="70" hpper="90" />
</skills_mage>
<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_RESOLUTION" hotkey="MACRO" priority="60" />
<skill name="KNIGHT_DISARMAMENT" hotkey="MACRO" priority="70" />
</skills_knight>
<skills_warden>
<skill name="WARDEN_CHARGED_CHOP" hotkey="MACRO" priority="100" />
<skill name="WARDEN_ENERGY_ABSORB" hotkey="MACRO" priority="80" inbattle="true" hpper="25" />
<skill name="WARDEN_SUMMON_SPIRIT_OF_THE_OAK" hotkey="MACRO" priority="90" />
<skill name="WARDEN_SUMMON_NATURE_CRYSTAL" hotkey="MACRO" priority="90" autouse="false" />
<skill name="WARDEN_SUMMON_OAK_WALKER" hotkey="MACRO" priority="90" autouse="false" />
<skill name="WARDEN_BRIAR_SHIELD" hotkey="MACRO" priority="90" />
<skill name="WARDEN_POWER_OF_THE_WOOD_SPIRIT" hotkey="MACRO" priority="100" />
<skill name="WARDEN_SAVAGE_POWER" hotkey="MACRO" priority="90" />
<skill name="WARDEN_POWER_OF_THE_OAK" hotkey="MACRO" priority="90" />
<skill name="WARDEN_ELVEN_PRAYER" hotkey="MACRO" priority="90" />
</skills_warden>
<skills_druid>
<skill name="DRUID_RECOVER" hotkey="MACRO" priority="90" hpper="30" />
<skill name="DRUID_EARTH_ARROW" hotkey="MACRO" priority="80" />
</skills_druid>
<skills_warlock>
<skill name="WARLOCK_PERCEPTION_EXTRACTION" hotkey="MACRO" priority="90" />
<skill name="WARLOCK_WARP_CHARGE" hotkey="MACRO" priority="80" />
<skill name="WARLOCK_PSYCHIC_ARROWS" hotkey="MACRO" priority="70" />
</skills_warlock>
<skills_champion>
<skill name="CHAMPION_FORGE" hotkey="MACRO" priority="110" />
<skill name="CHAMPION_RUNE_PULSE" hotkey="MACRO" priority="100" pullonly="true" />
<skill name="CHAMPION_RUNE_DRAW" hotkey="MACRO" priority="90" pullonly="true" />
<skill name="CHAMPION_ELECTROCUTION" hotkey="MACRO" priority="80" />
<skill name="CHAMPION_ENERGY_INFLUX_STRIKE" hotkey="MACRO" priority="70" />
<skill name="CHAMPION_HEAVY_BASH" hotkey="MACRO" priority="60" />
</skills_champion>
<onLoad><![CDATA[
print("I am the right profile")
]]></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>
<preCodeOnElite><![CDATA[
-- code to use before a boss or tough mob
-- _arg1 is target pawn, _arg1.Name = target's name
]]></preCodeOnElite>
<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>
Just saw you posted something else, with /rom/bot debug it should debug everything, or doesn't it?
AlterEgo95
Re: profile option LOOT_ALL broken
NVM it isn't the eval function, it is this part.AlterEgo95 wrote:While waiting the looting error ([DEBUG] don't loot reason: target not lootable.) is printed for each mob in range which it would loot normally.
Code: Select all
target:updateLootable();
local lootStart = os.clock()
while target:exists() and (not target.Lootable) and os.clock() - lootStart < .2 do
yrest(20)
target:updateLootable()
end
if target.Lootable then
looten();
else
if( settings.profile.options.DEBUG_LOOT) then
cprintf(cli.yellow, "[DEBUG] don't loot reason: target not lootable.\n");
end;
end;
Without being able to test it as I don't have the issue I am purely guessing as to what is happening.
It seems to me though it is passing the eval loot function and then calling player:loot() but then the memory read of the pawn then says it doesn't have any loot, which is really weird as the eval loot function already said it does have loot.
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: profile option LOOT_ALL broken
Code: Select all
Attempt to read playerAddress
[DEBUG] playerAddr: 0x2EA7D00
[DEBUG] player classes: 4/5
[DEBUG] player pet: 0x0
[DEBUG] Player target: 0x0
[DEBUG] player in battle: false
[DEBUG] mousePawn: 0x0
[DEBUG] mousePawn id: -1
[DEBUG] camAddress: 0xB5D800
[DEBUG] Cam X: -18579.70, Y: -748.70, Z: 11981.93
[DEBUG] Cam XU: 0.06, YU: 0.97, ZU: 0.24
Game Version is 5.0.8.2623
RoM windows size is 1920x1018, upper left corner at 0,22
Loading profile MyChar.xml
commandMacro set to 1.
resultMacro set to 2.
The macro hotkey is x.
The 'Attack' hotkey is set to 'macro'.
Testing 'ingamefunctions' macro. If it gets stuck here, please update the 'ingam
efunctions' by copying the 'ingamefunctions' folder from 'rom/devtools' to the g
ames 'interface/addons' folder.
MACRO Test: ok
Ranged skill found: MAGE_THUNDERSTORM
[DEBUG] CPU Frequency 2539.13
Client Language changed.
Getting item type names.
100% [********************]
Loaded waypoint path Speed_KS.xml
No return path with default naming Speed_KS_return.xml found.
We use the normal waypoint path Speed_KS.xml now.
Waypoint #125 is closer then #1. Hence we start with waypoint #125.
We changed the option 'INV_AUTOSELL_ENABLE' from 'true' to 'true'.
We changed the option 'INV_AUTOSELL_FROMSLOT' from '1' to '1'.
We changed the option 'INV_AUTOSELL_TOSLOT' from '180' to '180'.
We changed the option 'INV_AUTOSELL_QUALITY' from 'white,green,blue,purple' to '
white, green, blue, purple'.
Moving to waypoint #125, (-18523, 12086)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Use MACRO: MAGE_ELECTROSTATIC_C=> <UNKNOWN> (0/1000)
Use MACRO: MAGE_ENERGY_INFLUX => MyChar (24688/25023)
Clearing target.
Moving to waypoint #1, (-18550, 12303)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Created party successfully!
Moving to waypoint #2, (-18577, 12388)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Targeting portal 112072, range 116.47204878721
Player address changed: 0x3FBD6400
Ranged skill found: MAGE_THUNDERSTORM
Moving to waypoint #3, (4714, 824)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Moving to waypoint #4, (4704, 911)
[DEBUG] waypoint type RUN or TRAVEL. We don't target mobs.
Forced waypoint type 'NORMAL' set by user.
Moving to waypoint #5, (4464, 911)
Stopping waypoint: Target acquired.
Engaging enemy [Ousul Poison Frog] in combat.
Use MACRO: MAGE_THUNDERSTORM => Ousul Poison Frog (16191/16191)
[DEBUG] 1069386752 target HP is less than 1
Fight finished. Killed 1 Ousul Poison Frog. (fight #1 / runtime 0 minutes)
not existsnot existsnot lootablenot lootablenot lootablenot lootablenot lootable
not lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot loot
ablenot lootablenot lootablenot lootablenot existsnot lootablenot lootablenot lo
otablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootableno
t lootablenot lootablenot lootable[DEBUG] 1069381632 target HP is less than 1
not existsnot lootablenot lootablenot lootablenot lootablenot lootablenot lootab
lenot lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lo
otablenot lootablenot lootablenot existsnot lootablenot lootablenot lootablenot
lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootable
not lootablenot lootable[DEBUG] 1069384192 target HP is less than 1
not lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot loot
ablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot
lootablenot existsnot lootablenot lootablenot lootablenot lootablenot lootableno
t lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootab
leClearing target.
[DEBUG] FightStartX 4670.1528320313 FightStartZ 920.15447998047
[DEBUG] dir_FS->WP rad -3.097 dir_FS->FE rad -3.123
[DEBUG] Line FS->WP / FS->FE: angleDif rad 0.025 grad 1
[DEBUG] We (would) pass(ed) wp #5 (dist 206.4) in a dist of 5 (skip at 100)
Moving to waypoint #5, (4464, 911)
[DEBUG] 1069384192 target HP is less than 1
Stopping waypoint: Target acquired.
Engaging enemy [Ousul Poison Frog] in combat.
Moving in | Suggested range: 100 | Distance: 101
Use MACRO: MAGE_THUNDERSTORM => Ousul Poison Frog (16191/16191)
[DEBUG] 794909184 target HP is less than 1
Fight finished. Killed 2 Ousul Poison Frog. (fight #2 / runtime 0 minutes)
not existsnot lootablenot existsnot existsnot lootablenot lootablenot lootableno
t lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootab
lenot lootablenot lootablenot lootablenot existsnot lootablenot lootablenot loot
ablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot
lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootable
not lootablenot lootablenot lootablenot lootable[DEBUG] 794906624 target HP is l
ess than 1
not lootablenot existsnot existsnot lootablenot lootablenot lootablenot lootable
not lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot loot
ablenot lootablenot lootablenot lootablenot existsnot lootablenot lootablenot lo
otablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootableno
t lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootab
lenot lootablenot lootablenot lootablenot lootable[DEBUG] 794907904 target HP is
less than 1
not lootablenot existsnot lootablenot lootablenot lootablenot lootablenot lootab
lenot lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lo
otablenot lootablenot existsnot lootablenot lootablenot lootablenot lootablenot
lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot lootable
not lootablenot lootablenot lootablenot lootablenot lootablenot lootablenot loot
ablenot lootablenot lootablePaused. (ENTF) to continue, (CTRL+L) exit to shell,
(CTRL+C) quit
AlterEgo95
Re: profile option LOOT_ALL broken
I think it has something to do with this change in function CPlayer:target
This code is new since 753
I changed it back to
and it's working now
Bubi
Code: Select all
function CPlayer:target(pawnOrAddress)
local address = nil;
if( type(pawnOrAddress) == "number" ) then
address = pawnOrAddress;
elseif( type(pawnOrAddress) == "table" ) then
address = pawnOrAddress.Address;
end
if( address == nil ) then return false; end;
local addressId = memoryReadRepeat("uint", getProc(), address + addresses.pawnId_offset) or 0;
if addressId == 0 or addressId > 999999 then -- The pawn or object no longer exists
self.TargetPtr = 0
return false
end
local flags = memoryReadUInt(getProc(),address + addresses.pawnAttackable_offset)
if bitAnd(flags,0x10) then -- Has bloodbar
local guid = memoryReadUInt(getProc(), address + addresses.pawnGUID_offset)
RoMScript("OBB_ChangeTraget("..tostring(guid)..")")
else -- Doesn't have bloodbar
memoryWriteInt(getProc(), self.Address + addresses.pawnTargetPtr_offset, address);
end
self.TargetPtr = address
return true
end
Code: Select all
local flags = memoryReadUInt(getProc(),address + addresses.pawnAttackable_offset)
if bitAnd(flags,0x10) then -- Has bloodbar
local guid = memoryReadUInt(getProc(), address + addresses.pawnGUID_offset)
RoMScript("OBB_ChangeTraget("..tostring(guid)..")")
else -- Doesn't have bloodbar
memoryWriteInt(getProc(), self.Address + addresses.pawnTargetPtr_offset, address);
end
Code: Select all
memoryWriteInt(getProc(), self.Address + addresses.pawnTargetPtr_offset, address);
Bubi
Re: profile option LOOT_ALL broken
maybe it needs to still target via memory even though it is targeting with the in game function.
try
try
Code: Select all
local flags = memoryReadUInt(getProc(),address + addresses.pawnAttackable_offset)
if bitAnd(flags,0x10) then -- Has bloodbar
local guid = memoryReadUInt(getProc(), address + addresses.pawnGUID_offset)
RoMScript("OBB_ChangeTraget("..tostring(guid)..")")
end
memoryWriteInt(getProc(), self.Address + addresses.pawnTargetPtr_offset, address);
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: profile option LOOT_ALL broken
I think the posters problem might be that the in-game function is disabled on his server. I think that is the only explanation that explains his behavior.
Well I know if you memory target first then the in-game command doesn't work properly but I don't think I ever tried the other way around. It should work because if the in-game function worked then the TargetPtr memory should already have the targets address and all you would be doing is rewriting it.lisa wrote:maybe it needs to still target via memory even though it is targeting with the in game function.
- 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
Re: profile option LOOT_ALL broken
What exactly do you mean with the ingame function to target mobs? Anything where I have to put a checkmark?
AlterEgo95
AlterEgo95
Re: profile option LOOT_ALL broken
In-game functions are called with RoMScripts so in the code above we are talking about "OBB_ChangeTraget".
- 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
Who is online
Users browsing this forum: Ahrefs [Bot] and 19 guests