Re: Version 7.4.0.2897 progress
Posted: Sat May 23, 2020 10:28 am
no one has yet thought of a rate a waypoint for the stomping ground? do the search, enter, wait for the end and redo the search etc? how was it a few years ago?
Ah! That might not actually be because of the update made, but rather just how RoM stores item information in memory. If there's items that your client hasn't had to worry about yet, it doesn't load any unnecessary information, therefore we can't read it out of RoM's memory space. While playing the game, it loads that information eventually and so that's why when you repeatedly launch MicroMacro it will start to find them. You may notice that if you were to open up your bank first that you would not then see those missing errors.Onche wrote: ↑Sat May 23, 2020 9:43 amNo, the range was from 200XXX to 5XXXXXX.Administrator wrote: ↑Sat May 23, 2020 8:28 amAre they all still in the 240000-250000 range as before?Onche wrote: ↑Sat May 23, 2020 4:56 am
I don't know if this is related to the "Wrong value returned in update of item id: XXXXXX" issue, but now I'm getting a lot more wrong values : around 250, which is equal to the 5 bank pages + the item shop bank page instead of the ~25 before. It seems to be faster but the fact that I have 250 errors instead of 25 makes it slower to load.
Also I just tried now to launch it several times, and the number of wrong values seems to decrease until a certain point. Here is a test I did:
- Start the client
1st MM launch : 154 wrong values
2nd MM launch : 22 wrong values
3rd MM launch : 22 wrong values (same ones as the 2nd launch)
Restarting Client
1st MM launch : 152 wrong values
2nd MM launch : 22 wrong values
3rd MM launch : 22 wrong values (same ones as the 2nd launch)
I might have a fix for all of your issues causing your files to always be out of date. First, you'll need to manually update the gitupdate.lua script. Go here:Sasuke wrote: ↑Sat May 23, 2020 3:08 amyou need to retry files another time cause player stop during the game after 1 or 2 round and sometimes when finish you don't receive any reward cause you don't have point for it like you set in xml.Administrator wrote: ↑Fri May 22, 2020 1:15 pmWould you be willing to post the files that you needed to get things working? I'll add them to versioning so that gitupdate keeps those up to date as well.
Are you able to determine which items that includes? Bonus points if it's something that is easily obtainable or purchasable for cheap.From my tests, wrong values ID issue seems to be from ID 240xxx to 244xxx (don't know much more about that).
2020-05-23 10:11:38 - [string "..."]:230: attempt to perform arithmetic on field 'pawnAttackable_offset' (a nil value)
Code: Select all
rom-bot/gitupdate --force
I'm still facing the same issue but with less numbers : 84 issues at the first MM launch, then 14. Tried by opening the bank before launching MM, still the same numbers/issues. Weird !Administrator wrote: ↑Sat May 23, 2020 11:10 amAh! That might not actually be because of the update made, but rather just how RoM stores item information in memory. If there's items that your client hasn't had to worry about yet, it doesn't load any unnecessary information, therefore we can't read it out of RoM's memory space. While playing the game, it loads that information eventually and so that's why when you repeatedly launch MicroMacro it will start to find them. You may notice that if you were to open up your bank first that you would not then see those missing errors.Onche wrote: ↑Sat May 23, 2020 9:43 amNo, the range was from 200XXX to 5XXXXXX.Administrator wrote: ↑Sat May 23, 2020 8:28 am Are they all still in the 240000-250000 range as before?
Also I just tried now to launch it several times, and the number of wrong values seems to decrease until a certain point. Here is a test I did:
- Start the client
1st MM launch : 154 wrong values
2nd MM launch : 22 wrong values
3rd MM launch : 22 wrong values (same ones as the 2nd launch)
Restarting Client
1st MM launch : 152 wrong values
2nd MM launch : 22 wrong values
3rd MM launch : 22 wrong values (same ones as the 2nd launch)
So, what I've done is made some changes to try and force the game to load the information on bank items before starting the normal bot code. Then, when the bot tries to read information about those items, they are loaded into memory so it should succeed. If you would please update your scripts again (run the gitupdate script), give it a try and see if that helps.
In bot.lua line 327, you should see this:
Code: Select all
--yrest(50);
Code: Select all
MicroMacro/scripts/rom/classes/item.lua:188: bad argument #1 to 'bitAnd' (number expected, got nil)
What are you trying to accomplish with that? I'm guessing in one of your waypoints you need to jump across a gap or over something? You could probably insert some code into the waypoint:
Code: Select all
player:setMovement(1); -- Move forward
keyboardPress(key.VK_SPACE); -- Jump
Ah, so the real problem is that the player was still walking while it was searching for skills. First, I would recommend making the player hold still once you enter the door (or whatever it is you're doing to switch between instances):Also is there a way to get the bot from reporting ..... Iam talking about all the
Found skill 0x36131660 ID(490312) Tab(4-9) "Hide"
Found skill 0x361316AC ID(490507) Tab(4-10) "Premeditation"
Found skill 0x361316F8 ID(491532) Tab(4-11) "Slit Throat"
Found skill 0x36131744 ID(490337) Tab(4-12) "Sneak Attack"
Found skill 0x36131790 ID(491528) Tab(4-13) "Energy Thief"
Found skill 0x361317DC ID(490316) Tab(4-14) "Treasure Hunter"
Found skill 0x36131828 ID(491525) Tab(4-15) "Combat Master"
Found skill 0x36131874 ID(490354) Tab(4-16) "Vanish"
Found skill 0x361318C0 ID(490143) Tab(4-17) "Off Hand Mastery"
Found skill 0x3613190C ID(490341) Tab(4-18) "Sprint"
Found skill 0x36131958 ID(492626) Tab(4-19) "Substitute"
Found skill 0x361319A4 ID(490355) Tab(4-20) "Evasion"
Found skill 0x361319F0 ID(490338) Tab(4-21) "Combo Throw"
Found skill 0x36131A3C ID(490346) Tab(4-22) "Shadow Prison"
Found skill 0x36131A88 ID(492922) Tab(4-23) "Tongue Poison"
Found skill 0x36131AD4 ID(490350) Tab(4-24) "Informer"
Found skill 0x36131B20 ID(490333) Tab(4-25) "Fervent Attack"
Found skill 0x36131B6C ID(493019) Tab(4-26) "Coerce"
Found skill 0x36131BB8 ID(493258) Tab(4-27) "Wraith Attack"
in the beginning when i jump between instance to map it refreshes player update and it sends that to bot but while it thinking and doing its thing the bot is still walking forward ...?? i dont want to remove the check just dont want to see it flash by ??
Code: Select all
player:setMovement(0); -- Stop moving
The items that are not being found, are you able to determine where they are stored? Are they in the bank, inventory, or somewhere else?Ok for both values (50ms & 500ms), sometimes it works with no difference (still get a lot of wrong values, then next launch only a few), sometimes I get an error with the bot crashing :
i update all files:Administrator wrote: ↑Sat May 23, 2020 11:17 amI might have a fix for all of your issues causing your files to always be out of date. First, you'll need to manually update the gitupdate.lua script. Go here:Sasuke wrote: ↑Sat May 23, 2020 3:08 amyou need to retry files another time cause player stop during the game after 1 or 2 round and sometimes when finish you don't receive any reward cause you don't have point for it like you set in xml.Administrator wrote: ↑Fri May 22, 2020 1:15 pm
Would you be willing to post the files that you needed to get things working? I'll add them to versioning so that gitupdate keeps those up to date as well.
Are you able to determine which items that includes? Bonus points if it's something that is easily obtainable or purchasable for cheap.
2020-05-23 10:11:38 - [string "..."]:230: attempt to perform arithmetic on field 'pawnAttackable_offset' (a nil value)
https://raw.githubusercontent.com/Solar ... update.lua
Copy that whole file. Now open up your copy of gitupdate.lua and replace all of it with what you just copied. Save the file.
Now run the script with the new option, --force. For example:Do you see the line that says this? [!]Forcing hard git reset; uncommitted changes will be lost.Code: Select all
rom-bot/gitupdate --force
If so, hopefully your files are actually fully updated. Check AndorTraining.xml and see if it even contains pawnAttackable_offset.
Yes absolutely, all those items comes from the bank, the 5 bank pages but also the "item shop" bank page.Administrator wrote: ↑Sat May 23, 2020 6:51 pm The items that are not being found, are you able to determine where they are stored? Are they in the bank, inventory, or somewhere else?
ok....gitupdate still not works for me ,also with --force command...i don't know why,,,so i download another zip of bot and i install manually ty for ood wrokAdministrator wrote: ↑Mon May 25, 2020 4:27 pm I just pushed up another quick update. Two things:
Onche: looks like that was because I only had the bot force-loading slots 1-200 (pages 1-5) and not taking item shop bank into account; it should now force-load that as well and seems to be working for me now.
Sasuke: I made a few small modifications in regards to d303fix. Looks like something in the game has changed since it was last maintained and therefore the itemshop stuff doesn't work right. I took the liberty of removing that part of d303fix. I also now have the bot check if it is installed and warn the user that they should consider installing/updating it.
For me it's still the same thing : a lot of errors first launch, then only a few (I have the latest files). Still the same items btw, one was from item shop page bank for example.Administrator wrote: ↑Mon May 25, 2020 4:27 pm I just pushed up another quick update. Two things:
Onche: looks like that was because I only had the bot force-loading slots 1-200 (pages 1-5) and not taking item shop bank into account; it should now force-load that as well and seems to be working for me now.
Code: Select all
function BankFrame_Update( frame )
--BankFrame_Update.IsPageOpen
--frame.IsPageOpen = IsBankPageOpen( frame.PageIndex );
--local PageLetTime = GetBankPageLetTime( frame.PageIndex );
local PageLetTime = TimeLet_GetLetTime( "BankBag" .. frame.PageIndex );
if( PageLetTime and PageLetTime < 5184000 )then
if ( IsEnableMerchant() ) then
BankStoreUpButton:Show();
end
if( PageLetTime < 0 )then
BankFramePageLetTime:SetText(BANK_LET_OVER_TIME);
frame.IsPageOpen = false;
else
local day = math.floor( PageLetTime / 60 / 24 );
local hour = math.floor( ( PageLetTime - ( day * 60 * 24 ) ) / 60 );
local minute = PageLetTime - ( day * 60 * 24 ) - ( hour * 60 );
local str = string.format( BANK_LETTIME_MSG , day , hour , minute );
BankFramePageLetTime:SetText( str );
frame.IsPageOpen = true;
end
else
BankFramePageLetTime:SetText("");
BankStoreUpButton:Hide();
frame.IsPageOpen = true;
end
local index = ( BankFrame.PageIndex - 1 ) * BANK_MAX_DISPLAY_ITEMS + 1;
index=index+BankFrame.ScrollIndex*BANK_MAX_LINE_ITEMS;
local numItems = GetBankNumItems();
if ( BankFrame.PageIndex ==6) then
numItems=300;
end
local itemButton, texture, name, count, locked;
for i = 1, BANK_MAX_DISPLAY_ITEMS do
itemButton = getglobal("BankItemButton"..i);
itemButton.index = index;
if ( index <= numItems ) then
texture, name, count, locked = GetBankItemInfo(index);
SetItemButtonTexture( itemButton, texture);
SetItemButtonCount( itemButton, count);
SetItemButtonLuminance( itemButton, locked);
itemButton:Show();
if( BankFrame.IsPageOpen )then
itemButton:Enable();
getglobal( "BankItemButton"..i.."Invalid" ):Hide();
else
itemButton:Disable();
getglobal( "BankItemButton"..i.."Invalid" ):Show();
end
else
itemButton:Hide();
end
index = index + 1;
end
end
Code: Select all
RoMScript(sprintf('/script for i=1,3000 do GetBankItemInfo(i) end'));
Code: Select all
if SlotNumber >= 1 and 300 >= SlotNumber then
Try increasing INITIALIZE_ITEM_DELAY to 1 in classes/memdatabase.lua, that will probably fix all the errors.Onche wrote: ↑Tue May 26, 2020 11:43 amFor me it's still the same thing : a lot of errors first launch, then only a few (I have the latest files). Still the same items btw, one was from item shop page bank for example.Administrator wrote: ↑Mon May 25, 2020 4:27 pm I just pushed up another quick update. Two things:
Onche: looks like that was because I only had the bot force-loading slots 1-200 (pages 1-5) and not taking item shop bank into account; it should now force-load that as well and seems to be working for me now.
Can't do many tests for now (busy days) I'll try to give more details later !
Thanks
EDIT :
Bank items number can reach up to 300 and not 240. If this can help, here is one of the functions extracted from the game :
I was wondering if then line 327 in bot.lua should beCode: Select all
function BankFrame_Update( frame ) --BankFrame_Update.IsPageOpen --frame.IsPageOpen = IsBankPageOpen( frame.PageIndex ); --local PageLetTime = GetBankPageLetTime( frame.PageIndex ); local PageLetTime = TimeLet_GetLetTime( "BankBag" .. frame.PageIndex ); if( PageLetTime and PageLetTime < 5184000 )then if ( IsEnableMerchant() ) then BankStoreUpButton:Show(); end if( PageLetTime < 0 )then BankFramePageLetTime:SetText(BANK_LET_OVER_TIME); frame.IsPageOpen = false; else local day = math.floor( PageLetTime / 60 / 24 ); local hour = math.floor( ( PageLetTime - ( day * 60 * 24 ) ) / 60 ); local minute = PageLetTime - ( day * 60 * 24 ) - ( hour * 60 ); local str = string.format( BANK_LETTIME_MSG , day , hour , minute ); BankFramePageLetTime:SetText( str ); frame.IsPageOpen = true; end else BankFramePageLetTime:SetText(""); BankStoreUpButton:Hide(); frame.IsPageOpen = true; end local index = ( BankFrame.PageIndex - 1 ) * BANK_MAX_DISPLAY_ITEMS + 1; index=index+BankFrame.ScrollIndex*BANK_MAX_LINE_ITEMS; local numItems = GetBankNumItems(); if ( BankFrame.PageIndex ==6) then numItems=300; end local itemButton, texture, name, count, locked; for i = 1, BANK_MAX_DISPLAY_ITEMS do itemButton = getglobal("BankItemButton"..i); itemButton.index = index; if ( index <= numItems ) then texture, name, count, locked = GetBankItemInfo(index); SetItemButtonTexture( itemButton, texture); SetItemButtonCount( itemButton, count); SetItemButtonLuminance( itemButton, locked); itemButton:Show(); if( BankFrame.IsPageOpen )then itemButton:Enable(); getglobal( "BankItemButton"..i.."Invalid" ):Hide(); else itemButton:Disable(); getglobal( "BankItemButton"..i.."Invalid" ):Show(); end else itemButton:Hide(); end index = index + 1; end end
But also if line 1902 in functions.lua should be 300 and not 40Code: Select all
RoMScript(sprintf('/script for i=1,3000 do GetBankItemInfo(i) end'));
However I tried and still get some error messages : Wrong value returned in update of CItem id: xxxxxxCode: Select all
if SlotNumber >= 1 and 300 >= SlotNumber then
Still, I don't understand (for now) which function gives that error message because I can't find that specific sentence in bot.lua or functions.lua (ok its from item.lua)
Keeping my research (but I don't really know what I'm doing to be fair) !
maybe for maintenance but bot not works..i have this error:Administrator wrote: ↑Mon May 25, 2020 4:27 pm I just pushed up another quick update. Two things:
Onche: looks like that was because I only had the bot force-loading slots 1-200 (pages 1-5) and not taking item shop bank into account; it should now force-load that as well and seems to be working for me now.
Sasuke: I made a few small modifications in regards to d303fix. Looks like something in the game has changed since it was last maintained and therefore the itemshop stuff doesn't work right. I took the liberty of removing that part of d303fix. I also now have the bot check if it is installed and warn the user that they should consider installing/updating it.
To me it works fine except some id errors at the beggining. I would recommand you to delete everything (except profiles / waypoints / userfunction folders) and redownload micromacro + the new rombot and put your 3 old folders inside
Works fine!
Code: Select all
<option name="EGGPET_ENABLE_ASSIST" value="true" />
Code: Select all
<skill name="MAGE_THUNDERSTORM" id="490244" range="180" type="damage" casttime="2" cooldown="0" target="enemy" clicktocast="true" globalcooldown="true" />