Page 6 of 7

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Dec 27, 2013 7:57 am
by Lamkefyned
hello, how are you?

I have a problem. on a mission to be talking and then sends you to "fix" "measure" "repair" and makes the mission. can be arranged.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Dec 27, 2013 8:24 am
by rock5
What? It does that quest.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed Jan 01, 2014 9:40 am
by gloover
ambolia wrote:hello, how are you?

I have a problem. on a mission to be talking and then sends you to "fix" "measure" "repair" and makes the mission. can be arranged.
Its working fine! The solution for your problem is listed ONLY some posts before, on the previous page:
Alkaiser wrote:
Never had that issue. It always works. The only thing I can think of is if you have any other buttons in the extraactionbar then the crafting skills will be added to the end and they wont work.
I finally figured out why the Craftsmen quest wasn't working for me... I mistakenly removed the date/time fix addon. Not having it prevents the monitoring function from working, correct?

http://www.curse.com/addons/rom/d303fix

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed Feb 05, 2014 3:25 pm
by Lamkefyned
thanks for the help

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 06, 2014 8:09 am
by silinky
i found 2 bugs(?)
1. error: "Cannot stop monitor "craftsmanSaid". No such monitor names exists."
FIX: install the d303FIX addon. http://www.curse.com/addons/rom/d303fix

2. on the teleporting quest (quest508571), after the 5th completed key objective, bot wants to go back to engineer for his quest, and gets stuck.
FIX: invaders_function. lua line: 635 replace with: __WPL:setWaypointIndex(19)

if i did it wrong or if there is other better fix, let me know :)

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 06, 2014 9:44 am
by rock5
1. d303fix is pretty much a requirement for running the bot because a lot of userfunctions require it to work properly. Even some addons require it.

2. Are you saying that it sets the wrong waypoint? I'm not sure how that's possible. That line only executes if it passes this line

Code: Select all

			until 5 > distance(player.X,player.Z,-7526,-4226) and not player:hasBuff(508623) -- Fresh Sample
So it should only execute after it has already confirmed that it successfully teleported. And there is only 1 waypoint at the location it teleports to. Are you sure you are using the latest version?

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 06, 2014 10:01 am
by silinky
yes, after the 5th key objective it just tries to reach waypoint 17. it did that reliably all the times. didn't do a full debug on why this happens, i was lazy and changed it to 19 :D

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 06, 2014 10:24 am
by rock5
There is definitely nothing there that would cause it to bug only after exactly 5 key objectives have been met. The only way I can see your problem happening is if it teleports successfully but then get pulled back before it does that findNearestWaypoint command. Is that what's happening? Is it being pulled back after teleporting? But there is no reason why that would only happen after 5 objectives.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 06, 2014 5:49 pm
by silinky
i know it is weird, but i can reproduce it every time. the cause is unknown to me though. and if the bot would calculate distance, 19 is still closer than 17.
i haven't found anything in the code that would cause it and it happens nonetheless. oh well as long as the static waypoint fixed it, i am a happy panda :)
i will test though if you want and post if i find anything. i had a 1 year pause from the game, just started again, and i did everything from scratch, bot, waypoints, custom userfunctions, multiboxing script, everything. 90% of the fun in this game for me are the bots/addons i write, so it wouldn't be a bother to further test things.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 20, 2014 7:20 pm
by Vengefulmilk
I'm also experiencing the "craftsmansaid" error, When the craftsman starts such as "Fix it" the bot previously untargets the NPC, and it fails and its stuck with the skill cast Wand mouse cursor.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 20, 2014 8:35 pm
by ZZZZZ
Vengefulmilk wrote:I'm also experiencing the "craftsmansaid" error, When the craftsman starts such as "Fix it" the bot previously untargets the NPC, and it fails and its stuck with the skill cast Wand mouse cursor.
I can confirm this too. Went to get elites only for it to fail on what I class to be the most annoying quest D: lol

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Tue May 20, 2014 8:44 pm
by rock5
I just tested both quests and they both worked perfectly.

@Silinky, I still think your error is impossible. Could you send me a copy of your invader scripts for me to have a look at?

@Vengefulmilk,ZZZZZ. Are you saying the bot clears target before doing it's action? Seeing as it's working fine for me, maybe you have some code in one of your profile events that is clearing the target.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed May 21, 2014 5:50 am
by ZZZZZ
I tried it again today....and it worked as it usually did since I downloaded it. No idea what happened that time.

Basically it targeted the Craftsman, used the 1st skill to start the event then when it went to cast the skill it just came up with the target icon thingo on the mouse rather than just casting like it should. Didn't seem to drop target, so no idea why it happened. But didn't do it this time so if I ever get it again i'll try and pinpoint what was causing it.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed May 21, 2014 10:54 am
by Vengefulmilk
Thanks rock. I changed to the default profile, and it worked again. It seems that if I'm getting bags for my alt classes, if i don't have skills set for them, the bot untargets the Craftsman. I didn't have any class skills set for my 5th and 6th so it apparently made the bot sad.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed May 21, 2014 8:01 pm
by rock5
Vengefulmilk wrote:Thanks rock. I changed to the default profile, and it worked again. It seems that if I'm getting bags for my alt classes, if i don't have skills set for them, the bot untargets the Craftsman. I didn't have any class skills set for my 5th and 6th so it apparently made the bot sad.
I'm bot sure how that is happening because it's not using the skills but I should be able to check it out.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed May 21, 2014 10:50 pm
by rock5
The problem is this bit of code in player:update()

Code: Select all

	if addressChanged or self.Class1 ~= oldClass1 or self.Class2 ~= oldClass2 or (#settings.profile.skills == 0 and next(settings.profile.skillsData) ~= nil) then
		settings.loadSkillSet(self.Class1)
		-- Reset editbox false flag on start up
		if memoryReadUInt(getProc(), addresses.editBoxHasFocus_address) == 0 then
			RoMCode("z = GetKeyboardFocus(); if z then z:ClearFocus() end")
		end
		addressChanged = false
		if self.TargetPtr ~= 0 then
			self:clearTarget()
		end
	end
Because #settings.profile.skills == 0 it thinks it hasn't loaded the skills yet so it tries to do it and then clears target.

I think to figure out what I'm going to do I need to break this down (this is just me thinking out loud).
  • 1. addressChanged happens when you zone.

    2. self.Class1 ~= oldClass1 or self.Class2 ~= oldClass happens when you change class at the npc. It also gets triggered when you first start the bot and player:update() runs for the first time.

    3. (#settings.profile.skills == 0 and next(settings.profile.skillsData) ~= nil) This means if no skills are loaded yet and the skills have been loaded into skillsData (via loadProfile) then it loads the skills. skillsData is where it holds all the skills from the profile so when you change class it can get the new skills from here without reloading the profile. This is the part causing the problem because #settings.profile.skills will always equal 0 if there are no skills in the profile for that class. So every time it runs player:update() it will try to load the skills.

    4. settings.loadSkillSet(self.Class1) loads the skills from settings.profile.skillsData for the current class.

    5.
    • if memoryReadUInt(getProc(), addresses.editBoxHasFocus_address) == 0 then
      • RoMCode("z = GetKeyboardFocus(); if z then z:ClearFocus() end")

      end
    The purpose of this is to reset the editbox flag because when the game first starts the editbox flag indicates that the editbox is open when in fact it isn't.

    6. addressChanged = false This just resets the addressChanged variable.

    7.
    • if self.TargetPtr ~= 0 then
      • self:clearTarget()

      end
    The purpose of this is when you change class at the npc you will have the npc targeted. So after you change class if you have buffs to apply if will immediately start buffing and ends up trying to buff the npc. This code is to avoid that.
Conclusions:
  • a. 4 should only ever be run if settings.profile.skillsData has already been loaded.

    b. Does 4 need to be run if only the address has changed?

    c. 5 only really needs to run when the bot is first loaded. 3 is meant to be when it first loads but doesn't work. Maybe I could change it so the initial value of settings.profile.skills is nil and becomes an empty table only after loadSkillSet is run.

    d. 7 only needs to run when the class changes.
Ok, thanks for listening. I'll get to work rewriting this.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri May 30, 2014 8:46 am
by silinky
i would send a copy, but i modified it already to make it work. for me it is also impossible, i could not narrow down why it did that. but it works with the previously said changes, so i won't bother with it anymore in the near future.
the script was exactly the one attached to the first post btw, but maybe it was something in my profile that caused it. i use a common profile based on fighting styles instead of character names, so that could be it.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri May 30, 2014 9:07 am
by rock5
I actually did everything I said above but I never posted a copy. I guess there's no point now. I'll just add it to my next commit.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Sep 04, 2015 5:37 pm
by Bill D Cat
I found a situation where NONE of the subquests will work at all. If you have picked up the quest "Kill Hydra" and have the buff "Samantha's Scroll" then the extra action bar gets an additional three skills in the first three slots. This causes the skills you get for the subquests for the bags to now start in position 4. So I think checking for that buff and offsetting the UseExtraAction commands by three would solve the problem. The other option is to clear the buff, but then you'd have to abandon the quest and pick it up again to get it back.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Sat Sep 05, 2015 11:06 pm
by rock5
I was aware that if you have existing extra action bar actions then that would interfere with the script. Ideally it would be good to be able to tell what skills are where and use them accordingly. I think at the time I couldn't find any obvious way of identifying the actions except for maybe the icons. I'll see if I can come up with a more general solution than the specific one you suggested. Maybe I could count the actions and if, for example, it expects 3 but there is 5 then it uses the last 3. That should be able to handle any number of existing actions.