Changelog 745 (RC3)

For changelogs and discussion related to a specific revision.
Post Reply
Message
Author
User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Changelog 745 (RC3)

#1 Post by rock5 » Mon Sep 24, 2012 7:10 am

I'm changing this list to a changelog now that I'm committing seeing as the list is already here. I've been adding to this list as I made changes so it's easy for me to have missed some but these should be most of them.

----------------------------------------------------------------------------------------------------------------
I'm working on this massive update. It's so large that I'm loosing track of everything I'm doing. So I'm going to list them here to help me keep them straight in my head and to give you guys a heads up on what to expect.
  • - The first big thing I did was to add what I call mini updates for pawn and player class to avoid having to do full updates all the time. Full pawn and player updates do about 30-60 memory reads as well as a bunch of calculations. A classic example is waiting for casting to end

    Code: Select all

    repeat
        yrest(100)
        player:update()
    until player.Casting == false
    Now it will do something like

    Code: Select all

    repeat
        yrest(100)
        player:updateCasting()
    until player.Casting == false
    Which will only update 1 value. This wont make things go faster, it will still take about 100ms per loop, but it will make it use a lot less cpu. Tests show a reduction in cpu usage to about 1/3 to 1/2 of what it was using before. So expect a significant performance improvement.
    - The next big thing I'm doing is a total review and revamp of targeting and aggro detection. All weird targeting issues hopefully have been resolved.
    - For devs who have multiple rombot installations I've added support for a 'romglobal' folder in the scripts folder. In there you can place waypoint, userfunctions and a userfunction.lua file to make them available to all bot installations.
    - All energy types for skills are now gotten from memory, which means no longer needing to specify mana, rage, concentration, energy etc. in skills.xml, that includes the newly added warlock 'psi'. Also changed references to concentration to focus. Also means we don't need manainc anymore.
    - Added all warlock skills including the ones that need psi and added support for them. The 2 willpower states will only cast if you have 6 psi. Any other skills that require psi wont cast if you don't have one of the 2 willpower states enabled, although it doesn't check to see if it is the right willpower state. I'll leave it to the user to make sure they only add psi skills that match the willpower state they are using.
    - Added skill consumables support which it also gets from memory. If a skill needs arrows, projectiles or items to work, they wont cast if you don't have them.
    - Added evalfunction option to player:merchant("npcname", option, evalfunction) and inventory:autoSell(evalfunction). If not specified then will sell based on profile autosell options as before. If specified then it will over-ride the autosell options and sell what that function passes.
    - Added multi-page support for the guildbank class.
    - Added itemTotalCount() functions to the bank and guildbank class.

Other minor changes:
  • - Made changes to clicktocast handling to handle friendly clicktocast skills.
    - Added itemshop items to the giftbags database. Now when using openGiftbags1To10, it moves itemshop items to the itemshop bag.
    - Added some Warlock and Champion skills to levelupSkills1To10.
    - Added support for leveling up buffs that are not in the database by allowing levelupSkill() to accept the real name of the buff and using info from memory instead of the skills database.
    - I found that I usually levelup when completing quest and mounted. It would sometimes dismount when opening giftbags. So now, if you were mounted before opening giftbags then it will remount.
    - Movements are now done via memory, no keypresses, so should be more reliable.
    - Added my 1-10PioneersQuests waypoint folder. It does 1-10 by doing quests.
    - Tweaked a few values in the profile "l1-10.xml".
    - When pulled back when teleporting or going too fast to before your previous waypoint, it now winds back to a previous waypoint you were pulled back to.
    - If a client change has been detected the bot will now attempt to update the addresses automatically.
    - Added new macro function "RoMCode(script)". This is just to simplify when sending code to the client. Eg. Instead of RoMScript("} somevalue=10 a={") you can do RoMCode("somevalue=10").
    - The players skills set is updated when the class changes, not only when the address changes.
    - getpos, getid and rbassist are more robust to survive character changes and deaths.
    - Added pawn functions, pawn:isFriend(aggroonly), pawn:targetIsFriend(aggroonly) and pawn:getRemainingCastTime().
    - Added function player:waitTillStopMoving(maxtime)
    - In preparation of future work to get more skill info from memory, I've been able to update obsolete data of most of the skills in the skills database.
    - Added globalcooldown option to skills database. By default the bot assumes that instant cast skills trigger the global cooldown and that skills, with casttime, don't, which is most of them. If an instant skill doesn't trigger the global cooldown then it will need globalcooldown="false". If a casttime skill does trigger the global cooldown then it will need globalcooldown="true". All the skills should be correct as of now.
    - Added function skill:getRemailingCooldown()
    - changeProfileSkill now re-sorts the skills if you change a priority setting.
    - Added function GetGameTime(). Returns the same value as GetTime() would return ingame.
    - When using rbassist, if you want to run past some mobs while ignoring aggro, you used to have to pause the script first. Now you can run through mobs and, as long as you don't stop, it wont fight back.
    - update.lua should be backward compatible to 5.0.1
    - The initial waypoint list now lists folders and files. You select folders to view sub files. Use profile option WPL_SHOW_SUBFOLDER_FILES to revert to previous method that shows all files at once.
    - Added function 'getTEXT' that uses the ingame function 'TEXT' to return the local language of a string. The strings are the ones you get from using the 'ROM .db LanguageFile Converter/Viewer' program.
    - Wander mode now asks what distance you want to use so you don't have to keep changing the radius in your profile.
    - Made errors returned from RoMScript more detailed to help troubleshooting.
    - Made the mini functions more reliable by checking the address in each one.
    - Added some mounts for player:mount()

Bug fixes:
  • - Fixed when using skills in the onload of a waypoint, the skill set wasn't loaded yet.
    - Fixed RoMScript would hang if the command send had an error that caused the game to error and not return any value. Now RoMScript will return an error if the game errors. This is the main issue that caused the system menu popup problem. Problem solved thanks to the patience and perseverance of Hetrix
    - Fixed the new move while casting feature. Now it doesn't move forward sometimes when casting buffs out of combat.
    - Fixed RoMscript returning negative whole numbers as a string.
    - Fixed small bug in the Accept/CompleteQuestByName functions that were detecting the wrong questgroup type.
    - createpath now correctly numbers the waypoints even when using all the options.
    - The waypoint list displayed when starting the bot no longer has duplicates.
    - Fixed wrong error message when getting an error in the onLevelUp section of the profile.
    - Fixed bug in bank class that didn't allow fast moving of items.
    - Fixed bug in autosell that could cause "Macro text too long" error.
    - Fixed bug that caused occasional "Id not found" errors.
    - Most skills can't be cast inside the house so now it wont attempt to anymore.
    - Added check to stop player.Address being set to nil. Might have been the cause of occasional bot becoming frozen.
    - Made changes that should improve stopping when an error or pause or exit happens.
    - Skills 'autouse' option in skills.xml was not enabled even though it was being used. Now it is enabled.
    - Fixed not seeing mobs engaged with npc, in certain situations.
I think that's everything.

Feel free to discuss or ask questions.
  • 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

Jandrana
Posts: 187
Joined: Thu Jul 05, 2012 5:53 am

Re: Heads up! Big update comming.

#2 Post by Jandrana » Mon Sep 24, 2012 7:56 am

Did you also include the fix for function CPlayer:target_Object(_objname, _waittime, _harvestall, _donotignore, evalFunc)

mentioned here: http://www.solarstrike.net/phpBB3/viewt ... 098#p41098 ?

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Heads up! Big update comming.

#3 Post by lisa » Mon Sep 24, 2012 8:56 am

I actually updated a client today, was like 4 patches worth lol
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

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

Re: Heads up! Big update comming.

#4 Post by rock5 » Mon Sep 24, 2012 9:00 am

Yes I did, thanks for asking. Although I fixed it differently than what I initially suggested and I may change it yet again before I commit.
  • 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

Bubi
Posts: 57
Joined: Tue May 04, 2010 3:51 pm

Re: Heads up! Big update comming.

#5 Post by Bubi » Mon Sep 24, 2012 11:35 am

If you need an beta tester, I would offer my help :D

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

Re: Heads up! Big update comming.

#6 Post by rock5 » Mon Sep 24, 2012 12:23 pm

That's ok. While there are bugs I can see, I'll fix them. When everything is the way I like it and I can't find any bugs, I'll commit and let everyone be my beta tester. :D That's the fastest way to fix bugs because everyone uses the bot differently, so pick up different bugs.
  • 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

BillDoorNZ
Posts: 446
Joined: Wed Aug 03, 2011 7:37 pm

Re: Heads up! Big update comming.

#7 Post by BillDoorNZ » Mon Sep 24, 2012 3:59 pm

Firstly! Keen to see how the new movement stuff works. I spam the game with my DIYCE macro key which has always caused issues with the keypress movement, in that it interferes with it. And I imagine, that if we are not sending keypresses, then opening chats etc won't be such a pain either?

Now.

I meant to suggest this a while ago for player updates, but think I may have gotten stuck on the string handling side. I assume that when updating the player object, that the name (and any other strings) are handled via pointers to the actual string...hmm...tho, that won't be an issue anyway now that I think about it more.

Anyway, I was going to suggest that instead of reading a few bits at a time, that you read all of the contiguous player info in 1 hit and then process the rest of the update out of that.

So something like:

Code: Select all

local playerData = memoryRead???(getProc(), self.Address, self.Address + pawnLootable_offset);
...
not sure what the memoryRead function is for that tho - it would just need to read from a start to end memory location and return a byte array or the like and then y'd just have to use the existing offset within that array. That way, you do 1 read for everything except the strings / references (which you still get the pointer values for anyway) and reduce the number of memory reads.

Not sure if that would work with mm tho, as I'm not familiar with the memory functions.

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

Re: Heads up! Big update comming.

#8 Post by rock5 » Mon Sep 24, 2012 4:14 pm

Interesting idea. Maybe the new memoryReadString function could read a block of data like that, although I'm not sure.

I don't think it would help, though, for a number of reasons.

One, I'm not sure if reading a block of memory would be faster than reading separate bytes. You are still reading the memory after all. Maybe it would be just like doing multiple byte reads.
Two, the offsets we read represent only a small portion of the whole class memory area. Reading the whole block of data would require reading a lot more memory.

They're the main reasons. And I guess it would still be better to read one byte instead of a whole block of memory in situations like the casting example above.
  • 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

BillDoorNZ
Posts: 446
Joined: Wed Aug 03, 2011 7:37 pm

Re: Heads up! Big update comming.

#9 Post by BillDoorNZ » Mon Sep 24, 2012 5:41 pm

yeah, definitely agree for the 1 byte stuff.

for the larger contiguous blocks, it should be measurably faster as I imagine there is some overhead in getting to the point of being able to read from the memory of the game client. Thats me assuming things tho :)

Having said that, I don't think you can read a chunk of memory as that damnable Admin didn't expose any method to do so!!!! memoryReadString is the closest, but of course it stops at the first null :(

Ah well.

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

Re: Heads up! Big update comming.

#10 Post by rock5 » Sun Sep 30, 2012 12:58 pm

I can see the end coming. Everything is coming together nicely. I'm spending more time testing than fixing things.

I have to say I'm more worried than usual about releasing this. It's not because it's the biggest update I've ever done, although it might be, but it's so spread out. I have literally modified 26 files.

So Bupis idea of testing a bit first is looking like a good idea.

If I decide to do it, who out there wants to do a bit of beta testing? Preferably I'd like people who are well experienced with the game and bot and still do a lot of botting. Also they should be able to speak English well enough to be understood when explaining what problems they encounter.

The length of the beta test will depend on the responses I get. If it works well right away then I'll commit within a few days. If a lot of problems occur then it will take longer.

If you are interested please PM me as I don't want to flood this topic or forum. Please let me know roughly how much you still play and the sorts of waypoint files you use, eg. minigames, dailies, instances, party instances, item farming, regular questing and leveling script, etc. That will help me to know what sort of botting it has been tested in.

I'll probably be ready in a day or 2. I look forward to your PMs. I think it might be a good idea that I don't reply to PMs until I'm ready to test unless I need to ask you a question, so don't expect a response right away.
  • 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
Eggman1414
Posts: 111
Joined: Sun Jun 17, 2012 2:27 pm

Re: Heads up! Big update comming.

#11 Post by Eggman1414 » Mon Oct 01, 2012 2:06 am

Sweet cant wait to try all of this awesomeness, and start making waypoints.

vnmanga2000
Posts: 4
Joined: Mon Oct 01, 2012 2:01 am

Re: Heads up! Big update comming.

#12 Post by vnmanga2000 » Mon Oct 01, 2012 2:14 am

I'm sorry if this has posted else where but is everyone rombot still working with patch 5.0.3? Mine does not and I've tried run svn update.bat a few times and look around for solutions but I came up empty. It said i need to update the memory address but I do not know where to obtain new memory addresses.

Sorry for the trouble and thank you for yours update.

I included the picture of the error bellow.
rombot error.jpg
Edit: I'm an idiot....I've finally saw the fixaddresses.bat after clicking and check on every file in the rombot folder. Thanks you.

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

Re: Heads up! Big update comming.

#13 Post by rock5 » Mon Oct 01, 2012 4:59 am

Don't double post. I replied in your other post.

I don't understand why, when people get error messages, they never read them. And I spend so much effort wording them as clearly as I can so people will know what to do. :cry:
  • 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
grande
Posts: 261
Joined: Tue Jun 28, 2011 4:46 pm

Re: Heads up! Big update comming.

#14 Post by grande » Mon Oct 01, 2012 4:53 pm

Keep up the good work, Rock! Thanks for all your help

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

Re: Heads up! Big update comming.

#15 Post by rock5 » Tue Oct 02, 2012 12:48 pm

Beta 1 is ready. So no one else wants to help me test this update?
http://www.solarstrike.net/phpBB3/viewt ... 403#p42403
I was hoping for at least a couple more than I got. PM me if you're interested.
  • 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
grande
Posts: 261
Joined: Tue Jun 28, 2011 4:46 pm

Re: Heads up! Big update comming. Looking for testers.

#16 Post by grande » Thu Oct 04, 2012 10:54 am

I've had limited time to watch over this new rombot but so far it's GREAT. CPU usage is noticeably lower allowing more bot instances with fewer errors.

Not sure if it's my excitedness about something new... but it also seems like the rombot/logo/solarstrike intro loads a bit faster. May have just been comparibly faster while other instances of rombot are running with lesser CPU impact.

Haven't got to test the nice features such as automagically moving itemshop items to the IS backpack or the new 1-10 scripts. But that is very convenient... need to check it out!

Only issue I'm having so far is with Malatina Survival. Haven't gotten to watch it directly yet but it is consistently kicking me out at some point resulting in me hovering various places in varanas.

Wanted to bump this before it shoved off to page 2.

Come on guys. Lend a hand here if you're able to give some good feedback. Like I said, so far only issue I have seems to be something with Malatina survival... Will try to get some time to watch it closer.

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

Re: Heads up! Big update comming. Looking for testers.

#17 Post by rock5 » Thu Oct 04, 2012 11:08 am

I've gotten a few testers now, since changing the title of the topic, which is good.

I'll check out survival. Meanwhile you see if you can catch it in the act.

In regards to cpu usage, if you run multiple clients it would be nice to know some numbers. How many did you used to run and how did it perform vs how many you can run now and how it performs.

Ps. I didn't do anything to the intro as far as I know. :)
  • 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
grande
Posts: 261
Joined: Tue Jun 28, 2011 4:46 pm

Re: Heads up! Big update comming. Looking for testers.

#18 Post by grande » Thu Oct 04, 2012 11:22 am

I just watched it in Malatina Survival. Seems to be a targetting/range issue. Maybe it targets something close but then ports out of range? Here's the debug message

Code: Select all

Clearing trash...
Swimhack ACTIVATED!
Player Teleported to X: 2680    Z: 2913 Y: 18
Use 3: SCOUT_WIND_ARROWS   =>   Bizarre Mechanism (946/946)
Clearing target.
[DEBUG] 1030530304 target dist > MAX_TARGET_DIST
Stopping execution.
But I can manually shoot arrows and hit the mobs.

Also, when the timer runs out it doesn't seem to load the next WP. Just stands there outside instance/in varanas still in attack mode:

Code: Select all

Player Teleported to X: 2574    Z: 2864 Y: 18
Player Teleported to X: 2574    Z: 2864 Y: 18
Player address changed: 0x3B1D9B00
Ranged skill found: SCOUT_WIND_ARROWS
edit... just watched it on another bot (scout) that was killing random mobs in coast of opportunity and it was giving the same "target dist > MAX_TARGET_DIST" debug output.

I have to do more testing to give better data on number of bots that can run without error now. I know on my desktop I could safely run 3 rombots. Any more and I would get errors such as getting kicked out of AT and porting all over outside AT afterwards. My laptop was worse. Could run just one rombot but seems better now... yeah I'll get back to you with better data.

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

Re: Heads up! Big update comming. Looking for testers.

#19 Post by rock5 » Thu Oct 04, 2012 12:50 pm

Oh, good, the debug messages payed off. :)

I know exactly what's causing the > MAX_TARGET_DIST errors. The bot no longer continuously does player:update()s. Instead it only updates values that it needs as it needs them. Obviously somewhere it expected a player:update() to have been run and the x, z, y values to be up to date but they weren't. I'm not sure if it's something that needs to be fixed in the survival script or the bot itself. I've yet to look. I ran a couple of characters through. My mage had no issues. My scout had similar errors but only at opposite sides of the room to the entrance but still managed to complete ok with the occasional tap of the Wind Arrow action key. I don't know why you had issues at the first tile. Did you have MAX_TARGET_DIST set to a short distance for that character?

I don't understand the "Stopping execution." error. That's a micromacro error. It has something to do with the coreroutine. We probably need Administrators help on that.
grande wrote:Also, when the timer runs out it doesn't seem to load the next WP. Just stands there outside instance/in varanas still in attack mode:
That could just be an existing bug in the script. I don't think it was ever foolproof or it could just be another value that is not updating, eg. player.Battling. I'll look into that possibility.
grande wrote:. just watched it on another bot (scout) that was killing random mobs in coast of opportunity and it was giving the same "target dist > MAX_TARGET_DIST" debug output.
While testing the party functions I did notice a missing coordinates update in the evaltargetdefault function. It was causing a different issue but probably is causing this issue too, so I've probably already fixed it. I don't think it fixes the survival problem.
  • 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
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Heads up! Big update comming. Looking for testers.

#20 Post by rock5 » Thu Oct 04, 2012 1:32 pm

Initial look and I don't understand the problem with survival. It has player:update()s in all the right places. It's almost as if they aren't working. This will take longer than I thought to figure out. It's too late to do serious debugging right now. I'll do it tomorrow.
  • 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

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests