Page 48 of 111
Re: RoM bot
Posted: Tue May 05, 2009 9:48 pm
by kong790
Code: Select all
<profile>
<options>
<option name="HP_LOW" value="85" />
<option name="MP_LOW_POTION" value="50" />
<option name="HP_LOW_POTION" value="40" />
<option name="COMBAT_TYPE" value="melee" />
<option name="COMBAT_DISTANCE" value="10" />
<option name="ANTI_KS" value="true" />
<option name="WAYPOINTS" value="bandits.xml" />
<option name="RETURNPATH" value="bandits_return.xml" />
<option name="PATH_TYPE" value="wander" />
<option name="WANDER_RADIUS" value="200" />
<option name="WAYPOINT_DEVIATION" value="50" />
<option name="LOOT" value="true" />
<option name="LOOT_TIME" value="2000" />
<option name="LOOT_DISTANCE" value="100" />
<option name="ENERGY_STORAGE_1" value="energy" />
<option name="ENERGY_STORAGE_2" value="none" />
<option name="POTION_COOLDOWN" value="15" />
<option name="MAX_FIGHT_TIME" value="5" />
<option name="DOT_PERCENT" value="5" />
</options>
<friends>
<friend name="MyOtherCharacter1" />
<friend name="MyOtherCharacter2" />
</friends>s
<hotkeys>
<hotkey name="HP_POTION" key="VK_8" modifier="" />
<hotkey name="MP_POTION" key="VK_EQUAL" modifier="" />
<hotkey name="ATTACK" key="VK_9" modifier="" />
<hotkey name="RES_MACRO" key="VK_7" modifier="" />
</hotkeys>
<skills>
<skill name="ROGUE_SHADOWSTAB" hotkey="VK_2" modifier="" />
<skill name="ROGUE_LOW_BLOW" hotkey="VK_1" modifier="" />
<skill name="ROGUE_WOUND_ATTACK" hotkey="VK_3" modifier="" />
</skills>
<onDeath>
-- Additional Lua code to execute on death
pauseOnDeath(); -- Stop the script
</onDeath>
<onLeaveCombat>
-- Additional Lua code to execute after killing an enemy
</onLeaveCombat>
<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.
</onSkillCast>
and my settings
Code: Select all
settings_default = {
hotkeys = {
MOVE_FORWARD = {key = _G.key.VK_W, modifier = nil},
MOVE_BACKWARD = {key = _G.key.VK_S, modifier = nil},
ROTATE_LEFT = {key = _G.key.VK_A, modifier = nil},
ROTATE_RIGHT = {key = _G.key.VK_D, modifier = nil},
STRAFF_LEFT = {key = _G.key.VK_Q, modifier = nil},
STRAFF_RIGHT = {key = _G.key.VK_E, modifier = nil},
JUMP = {key = _G.key.VK_SPACE, modifier = nil},
TARGET = {key = _G.key.VK_TAB, modifier = nil},
},
options = {
MELEE_DISTANCE = 45,
LANGUAGE = "english",
},
profile = {
options = {
HP_LOW = 50,
MP_LOW_POTION = 50,
HP_LOW_POTION = 40,
COMBAT_TYPE = "melee",
COMBAT_DISTANCE = 200,
ANTI_KS = true,
WAYPOINTS = "myWaypoints.xml",
RETURNPATH = nil,
PATH_TYPE = "wander",
WANDER_RADIUS = 700,
WAYPOINT_DEVIATION = 0,
LOOT = false,
LOOT_TIME = 2000,
LOOT_DISTANCE = nil,
ENERGY_STORAGE_1 = "energy",
ENERGY_STORAGE_2 = "none",
POTION_COOLDOWN = 15,
MAX_FIGHT_TIME = 30,
DOT_PERCENT = 5,
}, hotkeys = {}, skills = {}, friends = {},
events = {
onDeath = function () pauseOnDeath(); end,
onLeaveCombat = nil,
onSkillCast = nil,
}
},
};
settings = settings_default;
function settings.load()
local filename = getExecutionPath() .. "/settings.xml";
local root = xml.open(filename);
local elements = root:getElements();
-- Specific to loading the hotkeys section of the file
local loadHotkeys = function (node)
local elements = node:getElements();
for i,v in pairs(elements) do
-- If the hotkey doesn't exist, create it.
settings.hotkeys[ v:getAttribute("description") ] = { };
settings.hotkeys[ v:getAttribute("description") ].key = key[v:getAttribute("key")];
settings.hotkeys[ v:getAttribute("description") ].modifier = key[v:getAttribute("modifier")];
if( key[v:getAttribute("key")] == nil ) then
local err = sprintf("settings.xml error: %s does not name a valid hotkey!", v:getAttribute("key"));
error(err, 0);
end
end
end
local loadOptions = function (node)
local elements = node:getElements();
for i,v in pairs(elements) do
settings.options[ v:getAttribute("name") ] = v:getAttribute("value");
end
end
for i,v in pairs(elements) do
local name = v:getName();
if( string.lower(name) == "hotkeys" ) then
loadHotkeys(v);
elseif( string.lower(name) == "options" ) then
loadOptions(v);
end
end
function checkHotkeys(name)
if( not settings.hotkeys[name] ) then
error("ERROR: Global hotkey not set: " .. name, 0);
end
end
-- Check to make sure everything important is set
checkHotkeys("MOVE_FORWARD");
checkHotkeys("MOVE_BACKWARD");
checkHotkeys("ROTATE_LEFT");
checkHotkeys("ROTATE_RIGHT");
checkHotkeys("STRAFF_LEFT");
checkHotkeys("STRAFF_RIGHT");
checkHotkeys("JUMP");
--checkHotkeys("CLEAR_TARGET");
checkHotkeys("TARGET");
end
function settings.loadProfile(name)
-- Delete old profile settings (if they even exist), restore defaults
settings.profile = settings_default.profile;
local filename = getExecutionPath() .. "/profiles/" .. name .. ".xml";
local root = xml.open(filename);
local elements = root:getElements();
local loadOptions = function(node)
local elements = node:getElements();
for i,v in pairs(elements) do
settings.profile.options[v:getAttribute("name")] = v:getAttribute("value");
end
end
local loadHotkeys = function(node)
local elements = node:getElements();
for i,v in pairs(elements) do
settings.profile.hotkeys[v:getAttribute("name")] = {};
settings.profile.hotkeys[v:getAttribute("name")].key = key[v:getAttribute("key")];
settings.profile.hotkeys[v:getAttribute("name")].modifier = key[v:getAttribute("modifier")];
if( key[v:getAttribute("key")] == nil ) then
local err = sprintf("profile error: %s does not name a valid hotkey!", v:getAttribute("key"));
error(err, 0);
end
end
end
local loadOnDeathEvent = function(node)
local luaCode = tostring(node:getValue());
if( string.len(luaCode) > 0 and string.find(luaCode, "%w") ) then
settings.profile.events.onDeath = loadstring(luaCode);
if( type(settings.profile.events.onDeath) ~= "function" ) then
settings.profile.events.onDeath = nil;
end;
end
end
local loadOnLeaveCombatEvent = function(node)
local luaCode = tostring(node:getValue());
if( string.len(luaCode) > 0 and string.find(luaCode, "%w") ) then
settings.profile.events.onLeaveCombat = loadstring(luaCode);
if( type(settings.profile.events.onLeaveCombat) ~= "function" ) then
settings.profile.events.onLeaveCombat = nil;
end;
end
end
local loadOnSkillCastEvent = function(node)
local luaCode = tostring(node:getValue());
if( string.len(luaCode) > 0 and string.find(luaCode, "%w") ) then
settings.profile.events.onSkillCast = loadstring(luaCode);
if( type(settings.profile.events.onSkillCast) ~= "function" ) then
settings.profile.events.onSkillCast = nil;
end;
end
end
local skillSort = function(tab1, tab2)
if( tab2.priority < tab1.priority ) then
return true;
end;
return false;
end
local loadSkills = function(node)
local elements = node:getElements();
for i,v in pairs(elements) do
local name, hotkey, modifier, level, priority;
name = v:getAttribute("name");
hotkey = key[v:getAttribute("hotkey")];
modifier = key[v:getAttribute("modifier")];
level = v:getAttribute("level");
priority = v:getAttribute("priority");
if( level == nil or level < 1 ) then
level = 1;
end
local baseskill = database.skills[name];
if( not baseskill ) then
local err = sprintf("ERROR: \'%s\' is not defined in the database!", name);
error(err, 0);
end
local tmp = CSkill(database.skills[name]);
tmp.hotkey = hotkey;
tmp.modifier = modifier;
tmp.Level = level;
if( priority ) then tmp.priority = priority; end
table.insert(settings.profile.skills, tmp);
end
table.sort(settings.profile.skills, skillSort);
end
local loadFriends = function(node)
local elements = node:getElements();
for i,v in pairs(elements) do
local name = v:getAttribute("name");
table.insert(settings.profile.friends, name);
end
end
for i,v in pairs(elements) do
local name = v:getName();
if( string.lower(name) == "options" ) then
loadOptions(v);
elseif( string.lower(name) == "hotkeys" ) then
loadHotkeys(v);
elseif( string.lower(name) == "skills" ) then
loadSkills(v);
elseif( string.lower(name) == "friends" ) then
loadFriends(v);
elseif( string.lower(name) == "ondeath" ) then
loadOnDeathEvent(v);
elseif( string.lower(name) == "onleavecombat" ) then
loadOnLeaveCombatEvent(v);
elseif( string.lower(name) == "onskillcast" ) then
loadOnSkillCastEvent(v);
end
end
function checkProfileHotkeys(name)
if( not settings.profile.hotkeys[name] ) then
error("ERROR: Hotkey not set for this profile: " ..name, 0);
end
end
-- Check to make sure everything important is set
checkProfileHotkeys("ATTACK");
if( settings.profile.options.COMBAT_TYPE ~= "ranged" and settings.profile.options.COMBAT_TYPE ~= "melee" ) then
error("COMBAT_TYPE must be \"ranged\" or \"melee\"", 0);
end
-- Make sure they didn't use the same type of energy storage for both (hence breaking it)
if( settings.profile.options.ENERGY_STORAGE_1 == settings.profile.options.ENERGY_STORAGE_2 ) then
error("Do not use the same energy storage for primary and secondary!\nEdit your profile to fix this.", 0);
end;
end
Is there any way it can walk to a certain coordinate for x seconds and if it doesnt find an enemy to attack it starts in a different coordinate. Thank you

And my guy ALWAYS end up swimming into the wall of varanas in the middle of the moat. And most of the time when my character agroes more than 1 enemy he sometimes doesnt target the second guy after killing the first and just keeps targeting new enemies without killling the other guy attacking him.
And one last thing when i try to make a waypoint i cant save it it just doesnt let me type anything in or anything after i press num3

Re: RoM bot
Posted: Tue May 05, 2009 10:51 pm
by haura
fender wrote:i did notice a couple things. i also use UberFlex Auto Combat System (you can find this on Curse). I noticed that mixing both RoM Bot and ACS makes for a great combo. I use ACS to manage my buffs and RoM Bot for combat.
i wondered if there was a way to call ACS from RoM Bot or Micro Macro though and essentially use RoM Bot for pathfinding/waypoints and targeting? ACS is basically a "/engage" command. I am actually curious as to more of micro macro's capabilities so i will hunt down some docs if they are available.
the micromacro manual can be found in the micromacro v0.99 zip file.
unzip and look for a subfolder labeled "Manual"
that HTML format manual is not included in the MM1.0-beta releases.
wrt your desire to call ACS - examine the way in which any basic attack (or the Res macro) is called by this bot. That should give you an idea.
If you take a look at skills.xml file you will realize that you can add any macro call that you like so long as you make that macro accessible from this bot by assigning it to a hotkey.
Re: RoM bot
Posted: Wed May 06, 2009 1:54 am
by Zilvermoon
kong790 wrote:
And one last thing when i try to make a waypoint i cant save it it just doesnt let me type anything in or anything after i press num3
... Num Lock ...
I did this a few times too, but realized it within 5 sec ... you need to turn Num Lock "ON", the problem is due to Keyboard sending wrong key when it's "OFF"..
Zilvermoon
Re: RoM bot
Posted: Wed May 06, 2009 7:22 am
by xbohz
Zilvermoon wrote:A 2 sec test, and the bot seem fine (just need to run the update.lua)...
Zilvermoon
Edit, kept the bot running a bit, while doing something in another client, this is what happened when the "bot" died ...
i run 3 bots on my pc the one of the bot will stop when kept the 3bots running a little time and the console show the same message as Zilvemoon post
Re: RoM bot
Posted: Wed May 06, 2009 8:08 am
by fender
haura wrote:fender wrote:i did notice a couple things. i also use UberFlex Auto Combat System (you can find this on Curse). I noticed that mixing both RoM Bot and ACS makes for a great combo. I use ACS to manage my buffs and RoM Bot for combat.
i wondered if there was a way to call ACS from RoM Bot or Micro Macro though and essentially use RoM Bot for pathfinding/waypoints and targeting? ACS is basically a "/engage" command. I am actually curious as to more of micro macro's capabilities so i will hunt down some docs if they are available.
the micromacro manual can be found in the micromacro v0.99 zip file.
unzip and look for a subfolder labeled "Manual"
that HTML format manual is not included in the MM1.0-beta releases.
wrt your desire to call ACS - examine the way in which any basic attack (or the Res macro) is called by this bot. That should give you an idea.
If you take a look at skills.xml file you will realize that you can add any macro call that you like so long as you make that macro accessible from this bot by assigning it to a hotkey.
excellent. i will look into this. thank you!
Re: RoM bot
Posted: Wed May 06, 2009 8:10 am
by Izebize
I think inBattle_offset is not the good one. When you attack something, this offset doesn't changes at all. I don't know exactly what for this offset, but you can check "0x55E".
It changes only when you are in battle (Enter Combat), if you attack, or you have been attacked by an aggro mob, and turns back to 0 when you Leave Combat.
Re: RoM bot
Posted: Wed May 06, 2009 2:00 pm
by Administrator
Izebize wrote:I think inBattle_offset is not the good one. When you attack something, this offset doesn't changes at all. I don't know exactly what for this offset, but you can check "0x55E".
It changes only when you are in battle (Enter Combat), if you attack, or you have been attacked by an aggro mob, and turns back to 0 when you Leave Combat.
That's what it is used for. Some skills require that your character be in combat to use, so that is why this is required.
i run 3 bots on my pc the one of the bot will stop when kept the 3bots running a little time and the console show the same message as Zilvemoon post
Did you download version 2.37? Does this only happen after the character dies?
haura: The manual can also be found online
here. This will always be the latest version available, and the old manual that came with the MicroMacro package has been deprecated. That manual also only contains information for up to version 0.99. The changes for 1.0 (although few) will be made available once 1.0 is released properly.
Re: RoM bot
Posted: Wed May 06, 2009 2:20 pm
by frank
2.37 bot crashes after a few minutes:
Code: Select all
Casting 'WARRIOR_TACTICAL_ATTACK'
Target HP changed
Casting 'WARRIOR_SLASH'
WARNING: Failure reading memory from 0xD9FDC0 at 0x210 in memoryReadByte(). Erro
r code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was c
ompleted.)
WARNING: Failure reading memory from 0xD9FDC0 at 0x344 in memoryReadInt(). Error
code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was co
mpleted.)
WARNING: Failure reading memory from 0xD9FDC0 at 0x34c in memoryReadInt(). Error
code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was co
mpleted.)
My bot just finished killing a monster but had not yet looted it when it crashed. I was watching it go when it happened and nothing happened out of the ordinary, it just crashed.
Re: RoM bot
Posted: Wed May 06, 2009 3:48 pm
by reloxx
Hey
i got the same problem like frank, but its not after some minuits, i get it also after 30 or more.
and thx for the SVN update support dudes
-ReloxX
Re: RoM bot
Posted: Wed May 06, 2009 4:15 pm
by darthjiggles
I have the same problem as Frank, not sure what it is. I have the 2.37 version.
Re: RoM bot
Posted: Wed May 06, 2009 4:24 pm
by Zilvermoon
Administrator wrote:Does this only happen after the character dies?
An Update:
Seem to happen randomly, even with just one bot/client running ... bot seem to crash in midt combat.
(note: I'm running the bot right now testing, it might be a client error of some kind ... the bot seem to run smoth, and all of a sudden just crash)
Zilvermoon
Re: RoM bot
Posted: Wed May 06, 2009 4:50 pm
by Administrator
Based on what you guys have posted, my best guess is that this error occurs when trying to read information from your target, which (for some unknown reason) either instantly disappears or changes addresses. Due to the fact that it happens randomly based on long periods of time, it will be difficult to debug.
Re: RoM bot
Posted: Wed May 06, 2009 5:25 pm
by CrazyGuy
Administrator wrote:
Yeah when i die the character dosent res just lays there trying to move to the next wp, occasionally casting spells. Ive got both the RES_MACRO hotkey set and the RETURNPATH set.
Did MicroMacro's console window mention anything about your character dieing? Has this happened to you before?
Nope
In the window it reads (from last death)
Casting 'Mage_Flame'
Finished Casting
Casting 'Mage_Fireball'
Using HP potion
Casting 'Mage_Flame'
Finished casting
Target dead/lost
Moving to waypoint #x, (#, #)
Using HP potion.
Using HP potion
Waypoint movement failed!
*edit - i redownloaded the newest version of RoM bot on the first post and re-copied my profile from the default, still happens.
Re: RoM bot
Posted: Wed May 06, 2009 5:27 pm
by Zilvermoon
Administrator wrote:Based on what you guys have posted, my best guess is that this error occurs when trying to read information from your target, which (for some unknown reason) either instantly disappears or changes addresses. Due to the fact that it happens randomly based on long periods of time, it will be difficult to debug.
Yeah, my bot crashed, then I just restarted it, and now it's been running for more than 1 hour with no problems ... so my guess is that it's a rare bug happening in client ...
edit: Lol 5 sec after writing this msg, the bot crashed again .... it crashed right as it killed a mob.
Zilvermoon
Re: RoM bot
Posted: Wed May 06, 2009 5:30 pm
by Administrator
Zilvermoon wrote:Administrator wrote:Based on what you guys have posted, my best guess is that this error occurs when trying to read information from your target, which (for some unknown reason) either instantly disappears or changes addresses. Due to the fact that it happens randomly based on long periods of time, it will be difficult to debug.
Yeah, my bot crashed, then I just restarted it, and now it's been running for more than 1 hour with no problems ... so my guess is that it's a rare bug happening in client ...
Zilvermoon
So is it the client that is crashing? Or is it memory read errors causing the bot to crash while the client is still running?
Re: RoM bot
Posted: Wed May 06, 2009 6:37 pm
by Zilvermoon
Administrator wrote:So is it the client that is crashing? Or is it memory read errors causing the bot to crash while the client is still running?
It's memory read errors causing the bot to crash, but I suspect the client to be the source of the problem ... since I can run the bot without any problem for very long periods of time, and then all of a sudden it just crash with memory read errors.
Zilvermoon
Re: RoM bot
Posted: Wed May 06, 2009 7:42 pm
by kong790
Image removed to protect user (contained player name)
Thats my failure to read memory message if that helps.
Re: RoM bot
Posted: Wed May 06, 2009 8:17 pm
by Administrator
Thanks for the reports. Kong, I think you're running an older version. Try updating to the latest version of the bot. I'm also unsure if you're running MicroMacro 0.99 or 1.0, but I would have to assume 1.0.
I have been able to reproduce this error so far with over an hour straight of botting. Please include a short description of what was happening seconds prior to when the error occurred (which tends to be "just killed an enemy" -- only if you were watching when the error happened), and a copy of your log.txt file from the micromacro folder. This will greatly help narrow down the problem.
Re: RoM bot
Posted: Wed May 06, 2009 8:44 pm
by kong790
i am running 1.0
Code: Select all
Wed May 06 21:31:31 2009 : MicroMacro v1.0
Wed May 06 21:31:31 2009 : Processor Type: 4X 586, OS: Windows XP Service Pack 2
Wed May 06 21:31:31 2009 : LuaCoco is available.
Wed May 06 21:31:31 2009 : Lua glues exported.
Wed May 06 21:31:31 2009 : Keyboard layout: US English
Wed May 06 21:31:38 2009 : Executing script 'bot.lua'
==================================================
Wed May 06 21:31:41 2009 : RoM Bot Version 2.37
Wed May 06 21:31:41 2009 : Using static base address 0x88AF28, player address 0x23D90500
Wed May 06 21:31:41 2009 : Language: english
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x210 in memoryReadByte(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x344 in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x34c in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x350 in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x354 in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x358 in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x35c in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFD38 at 0x278 in memoryReadString(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x37c in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x384 in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x260 in memoryReadInt(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x2c in memoryReadFloat(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x30 in memoryReadFloat(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x34 in memoryReadFloat(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Wed May 06 21:40:46 2009 : WARNING: Failure reading memory from 0x31CFDC4 at 0x3f6 in memoryReadByte(). Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
stack traceback:
C:\Users\kong\Desktop\micromacro\lib\lib.lua:513: in function 'startMacro'
scripts\rom/bot.lua:276: in main chunk
----------TRACEBACK END----------
Wed May 06 21:40:46 2009 : ...kong/Desktop/micromacro/scripts/rom/classes/pawn.lua:82: Error reading memory in CPawn:update()
Wed May 06 21:40:46 2009 : Execution error: Runtime error
My guy was just running to the next coordinate. He wasnt attacking or healing or anything.
Re: RoM bot
Posted: Wed May 06, 2009 9:01 pm
by Administrator
I'm still unable to reproduce it. Try this.... open up rom/bot.lua and go to line 13. Change:
Code: Select all
DEBUG_ASSERT = false; -- Change to 'true' to debug memory reading problems.
to true, and then run the bot. This may give better clues to the location of the error.