Page 1 of 2
689 Changelog
Posted: Fri Jan 06, 2012 12:32 am
by rock5
-
Fixed bug in Object class where it didn't identify invalid objects. - Basically it was saying "value = readmemory or 0". Then saying "if value == nil". It will never = nil only a valid value or 0. So just changed them to "if value== 0."
-
If pawn or object is invalid it now resets Id, Type and Name to make sure you don't get matches.- I noticed some code doesn't check the Id but instead checks the Name or Type when searching. So to make sure it doesn't get a match with an invalid object or pawn it now also resets those values.
-
Changed "Error in memory reading" to a print message. No sense in it erroring if you enable debugging.
-
Added skilltab and skillnum to the CSkill class object creation.- So if you use "skill = CSkill(v)" it will include those 2 values. Before it was missing them.
-
Added Soldiers Attack skill to skills database.
-
Changed "igf_GetTooltip" to be able to get any tooltip. I have plans for it. It is backward compatible so doesn't affect the bot.- So RoMScript("igf_GetTooltip('Left',bagid)") still works but now you can specify the tooltip you want. New syntax is igf_GetTooltip(_side, _setcommand, _arg1, ...)
So lets say you want to get the left tooltip for the first action key, you can use
Code: Select all
RoMScript("igf_GetTooltip('Left','SetActionItem',1)")
For a list of all the 'set' commands you can use look here.
http://www.theromwiki.com/Widget_Element_GameTooltip
-
Added loadProfile(forcedProfile) function for users.- This is the best way now for users to load a new profile. It works similar to when starting the bot. If no profile is specified then it looks for and uses the profile that matches the character name. If thats not found then it looks for 'userdefault' profile. If that's not found then it errors. The main benefit of this function is the old way didn't run the onload section of the profile. This does.
Re: 689 Changelog
Posted: Fri Jan 06, 2012 2:14 am
by lisa
rock5 wrote:Added skilltab and skillnum to the CSkill class object creation.
Awesome, yeah it took me by surprise tab and num weren't included in the skills tables.
Re: 689 Changelog
Posted: Fri Jan 06, 2012 3:45 am
by rock5
I probably omitted them because they don't get updated with skill:update() and I didn't see the point back then.
Re: 689 Changelog
Posted: Fri Jan 06, 2012 8:07 am
by kkulesza
rock5 wrote:
- Added loadProfile(forcedProfile) function for users.
1.Do I have to use yrest(); after loadprofile() to wait for new profile to load?
Re: 689 Changelog
Posted: Fri Jan 06, 2012 8:12 am
by kkulesza
i had some problems with editing my post . sorry
Re: 689 Changelog
Posted: Fri Jan 06, 2012 9:45 am
by rock5
kkulesza wrote:1.Do I have to use yrest(); after loadprofile() to wait for new profile to load?
You shouldn't need to no, as it will only return control after it's completed.
kkulesza wrote:i had some problems with editing my post . sorry
You had "Disable BBCode" ticked.
Re: 689 Changelog
Posted: Sat Jan 07, 2012 9:54 pm
by cufRet8e
[code]Changed "Error in memory reading" to a print message. No sense in it erroring if you enable debugging.[/code]
Sounds great.
:)
Re: 689 Changelog
Posted: Tue Jan 10, 2012 2:50 pm
by kkulesza
Since last update i often get this error:
Did not find any crashed game clients.
8:42pm - ...gram Files/micromacro/scripts/rom/classes/player.lua:2735: attempt to perform arithmetic on field 'Level' (a nil value)
i've chcecked player.lua:2735 :
2734 local newExp = self.XP or 0;
2735 local maxExp = memoryReadRepeat("intptr", getProc(), addresses.charMaxExpTable_address, (self.Level-1) * 4) or 1;
is there a problem with wrong address or my pc has some memory problems?
Re: 689 Changelog
Posted: Tue Jan 10, 2012 10:58 pm
by rock5
We've been having a few people with memory read problems. I'm not sure why this is happening now. Basically "memoryReadRepeat" tries to read a memory address up to 10 times to make sure it gets a value but sometimes even 10 times is not enough and it returns nil. What we need is for it to 100% return a value. I'm not sure of the best way to do this. I don't know what would happen if we have it try to read the memory in an infinite loop until it gets the value. If the address is wrong then it would never exit the loop.
I know, we can do what we do in pawn.lua and make it fall back on it's old value. Eg.
Code: Select all
self.Level = memoryReadRepeat("int", getProc(), addresses.charClassInfoBase + (classInfoSize* self.Class1 ) + addresses.charClassInfoLevel_offset) or self.Level
We should probably do it with most of the other player values too.
Re: 689 Changelog
Posted: Wed Jan 11, 2012 6:12 pm
by Hetrix
Hey!
Hope this is the right section to ask this kind of question..
My bot is not attacking mobs anymore since I updated to 689.
Do I have to do some changes in profiles or run any command in micromacro to update some things?
Thx / :)
Re: 689 Changelog
Posted: Wed Jan 11, 2012 6:57 pm
by lisa
My guess is that your character has leveled.
Check your profile for this
Code: Select all
<option name="TARGET_LEVELDIF_ABOVE" value="3" />
<option name="TARGET_LEVELDIF_BELOW" value="10" />
Adjust the values accordingly.
So if your character is lvl 20 with the settings above bot will attack mobs lvl 10-23.
Re: 689 Changelog
Posted: Thu Jan 12, 2012 12:31 pm
by Hetrix
[quote="lisa"]My guess is that your character has leveled.
Check your profile for this
[code]
<option name="TARGET_LEVELDIF_ABOVE" value="3" />
<option name="TARGET_LEVELDIF_BELOW" value="10" />
[/code]
Adjust the values accordingly.
So if your character is lvl 20 with the settings above bot will attack mobs lvl 10-23.[/quote]
Hey!
Yes it was that, adjusted it now and it runs perfectly.
Thank you lisa :)
Re: 689 Changelog
Posted: Thu Jan 12, 2012 9:01 pm
by Hetrix
Hey!
I wonder if I can improve anything to stop this message coming, "aggro time wait out" and after that shortly comes the "Unsticking character etc". Heard something about the anti_ks. Does it help if I turn it to true?
And where do I change so the maximum of unsticking tries is greater than 10, cant find it in my chars profile.
Thx / H ;)
Re: 689 Changelog
Posted: Thu Jan 12, 2012 9:12 pm
by Hetrix
I wonder if I can improve anything to stop this message coming, "aggro time wait out" and after that shortly comes the "Unsticking character etc". Heard something about the anti_ks. Does it help if I turn it to false?
And where do I change so the maximum of unsticking tries is greater than 10, cant find it in my chars profile.
Also wondering if I can type in something or change something in the code so that my char runs to its waypoint imediately without going his own way to the waypoint. It is because of this my char gets "stuck" and the red text is appearing "Unsticking character".
Thanks once again / H
Re: 689 Changelog
Posted: Thu Jan 12, 2012 10:22 pm
by lisa
Hetrix wrote:And where do I change so the maximum of unsticking tries is greater than 10, cant find it in my chars profile.
use this in your profile
Code: Select all
<option name="MAX_UNSTICK_TRIALS" value="10" />
Just change the number to what you want.
Hetrix wrote:Heard something about the anti_ks. Does it help if I turn it to false?
Hmm I doubt it, anti_ks is for when bot looks for enemies to kill and if mob is attacking someone else then it attacks the mob regardless. Sounds more like your issue is something is attacking you but bot isn't defending itself.
Could be a few things really, could be a bugged mob which happens from time to time, can't do much about that.
Could be a mob is attacking you but bot ignores it for some reason, that reason could be 1 of 50 things and hard to say how to deal with it unless I have more info as to what is actually happening at the time.
Hetrix wrote:Also wondering if I can type in something or change something in the code so that my char runs to its waypoint imediately without going his own way to the waypoint
The bot should still be following the waypoint coords, so I don't understand what you mean.
Re: 689 Changelog
Posted: Fri Jan 13, 2012 5:35 am
by Hetrix
Hey Lisa,
Thanks for that piece of code, what I mean with the last sentence is that my bot is following his waypoints. But the mobs I attack give me "Fear" so I run around for like 2-4 secs and after that the bot sometimes dont run directly to his waypoint but kind of take its own way there accross mountains/trees and its usually here the bot getting stuck because of its going that way. Can I do something to kind of "stuck" my character on 1 spot so I cant run around when Feared?
Thx / H ;)
Re: 689 Changelog
Posted: Fri Jan 13, 2012 8:53 am
by lisa
yup
When you get feared if you do
/kneel in game then it will do the emoticon to kneel which stops you running round.
So to code that in to bot you would need to be constantly checking buffs for the fear debuff and then get it to do the slashcommand /kneel.
So probably in onskillcast profile section.
You will need to find out what the debuff is called or the Id for it.
Re: 689 Changelog
Posted: Fri Jan 13, 2012 8:23 pm
by Hetrix
Hey,
The debuff is called "Nightmare Attack" and is casted by the mob "Nightmare" in Redhill Mountains. I cant the ID on it im afraid.
How do I setup the code now with the slashcommand to kneel when I get this debuff?
Thx ;) / H
Re: 689 Changelog
Posted: Fri Jan 13, 2012 9:09 pm
by lisa
something like this will probably do the trick.
Code: Select all
<onSkillCast><![CDATA[
if player:hasBuff("Nightmare Attack") then -- the fear debuff
SlashCommand("/Kneel") --emote kneel to stop running around
yrest(800)
SlashCommand("/Kneel")
yrest(800)
keyboardPress( settings.hotkeys.MOVE_FORWARD.key ); -- to make sure you stand up after the last kneel
end
]]></onSkillCast>
I have no idea of the duration of the debuff so just guesses 2 kneels would be enough, it will give you something to play around with anyway.
Re: 689 Changelog
Posted: Sat Jan 14, 2012 9:10 am
by Hetrix
Okay, I guess I just need to insert it in the profile? Any specific row or that does not matter?
And the debuff lasts like 2-3 secs.
/ H