level 40 Daily, Another Drink in the Quodate Plains.

Additional botting resources. Addons may be either for the game itself or for the RoM bot.
Forum rules
Only post additional bot resources here. Please do not ask unrelated questions.
Post Reply
Message
Author
Golbez
Posts: 66
Joined: Sat Aug 02, 2008 8:27 pm

level 40 Daily, Another Drink in the Quodate Plains.

#1 Post by Golbez » Mon Jan 23, 2012 11:11 pm

Im not really sure how to go about doing this but i figured this would be a good start. :)

i took the top part from "CoastOfOpportunity_20-40_0.13" waypoint i had. i figure it has something i could use/edit to do what i want.

Code: Select all


<?xml version="1.0" encoding="utf-8"?><waypoints type="NORMAL">
<onLoad>
<!-- Version 0.4-->

		settings.profile.mobs = {
			"Death Bloom", "Todesblume",
			"Ruthless Ancient sub-human", "Skrupelloser steinalter Humanoid",
			"Ferocious Ancient sub-human", "Furchterregender steinalter Humanoid",
			"Restored Sub-Human", "Wiederhergestellter Humanoider",
			"Still-Weakened Sub-Human", "Geschw\132chter Humanoider",

		}

		function getDailyComplete()
			--[[
			local dailycomplete_ptr = 0x9CD1E0
			local dailycomplete_offset = 0xACF4
			return memoryReadBytePtr(getProc(),dailycomplete_ptr,dailycomplete_offset)
			--]]

			local dailyQuestCount, dailyQuestsPerDay;
			repeat dailyQuestCount, dailyQuestsPerDay = RoMScript("Daily_count()") until dailyQuestCount and dailyQuestsPerDay
			return dailyQuestCount;
		end

		function checkDQCount()
			local _tmpQC = getDailyComplete()
			cprintf(cli.lightblue,"%s quests completed.\n",tostring(_tmpQC))
			--[[
			if (_tmpQC == 10) then
				cprintf(cli.lightblue,"Sleepytime.\n")
				player:sleep()
			end
			--]]
		end

		function getXP()
			-- return memoryReadRepeat("intptr", getProc(), addresses.charExp_address, 0)

			local exp
			repeat exp = RoMScript("GetPlayerExp()") until exp
			return exp;
		end

		function COO_Merchant(p_npcNameOrId)
			if nil == p_npcNameOrId then p_npcNameOrId = 118102; end
			if type(p_npcNameOrId) == "number" then
				local tmp = p_npcNameOrId;
				repeat p_npcNameOrId = RoMScript("TEXT('Sys" .. tmp .. "_name')"); yrest(500) until p_npcNameOrId
			end
			printf("COO_Merchant(%s)\n", p_npcNameOrId);

			player:merchant(p_npcNameOrId)
		end

		-- macro to find SysNameId, DailyNotes must be installed:
		-- /script msQid, msE = DailyNotes.FindQuestByName("Heilige Erde"); DEFAULT_CHAT_FRAME:AddMessage("Qid:"..msQid);
		function COO_AcceptQuest(p_npcNameOrId, p_questNameOrId)
			if type(p_npcNameOrId) == "number" then
				local tmp = p_npcNameOrId;
				repeat p_npcNameOrId = RoMScript("TEXT('Sys" .. tmp .. "_name')"); yrest(500) until p_npcNameOrId
			end

			if type(p_questNameOrId) == "number" then
				local tmp = p_questNameOrId;
				repeat p_questNameOrId = RoMScript("TEXT('Sys" .. tmp .. "_name')"); yrest(500) until p_questNameOrId
			end

			printf("COO_AcceptQuest(%s, %s)\n", p_npcNameOrId, p_questNameOrId);

			player:target_NPC(p_npcNameOrId)
			yrest(400)
			if nil ~= AcceptQuestByName then
				AcceptQuestByName(p_questNameOrId)
			else
				sendMacro("OnClick_QuestListButton(1,1);");
				yrest(400);
				sendMacro("AcceptQuest()");
				yrest(400);
			end
		end

		function COO_CompleteQuest(p_npcNameOrId, p_questNameOrId)
			if type(p_npcNameOrId) == "number" then
				local tmp = p_npcNameOrId;
				repeat p_npcNameOrId = RoMScript("TEXT('Sys" .. tmp .. "_name')"); yrest(500) until p_npcNameOrId
			end

			if type(p_questNameOrId) == "number" then
				local tmp = p_questNameOrId;
				repeat p_questNameOrId = RoMScript("TEXT('Sys" .. tmp .. "_name')"); yrest(500) until p_questNameOrId
			end

			printf("COO_CompleteQuest(%s, %s)\n", p_npcNameOrId, p_questNameOrId);

			player:target_NPC(p_npcNameOrId)
			yrest(400)
			if nil ~= CompleteQuestByName then
				CompleteQuestByName(p_questNameOrId)
			else
				sendMacro("OnClick_QuestListButton(3,1);");
				yrest(400);
				sendMacro("CompleteQuest()");
				yrest(400);
			end
		end
</onLoad>

	-- Get quest: Another Drink (option 1, 423959)
	player:target_NPC(117590);yrest(1000); sendMacro("ChoiceOption(1)");
	-- From quest giver (Mishlor, 117590) to spot
	<!-- #  1 --><waypoint x="-78" z="4996" y="682">	</waypoint>
	<!-- #  2 --><waypoint x="-35" z="5000" y="682">	</waypoint>
	<!-- #  3 --><waypoint x="18" z="5005" y="682">		</waypoint>
	<!-- #  4 --><waypoint x="81" z="5011" y="664">		</waypoint>
	<!-- #  5 --><waypoint x="134" z="5026" y="664">	</waypoint>
	<!-- #  6 --><waypoint x="174" z="5052" y="664">	</waypoint>
	<!-- #  7 --><waypoint x="217" z="5049" y="664">	</waypoint>
	<!-- #  8 --><waypoint x="285" z="5044" y="664">	</waypoint>
	<!-- #  9 --><waypoint x="348" z="5048" y="668">	</waypoint>
	<!-- # 10 --><waypoint x="397" z="5068" y="675">	</waypoint>
	<!-- # 11 --><waypoint x="444" z="5083" y="679">	</waypoint>
	<!-- # 12 --><waypoint x="473" z="5081" y="679">	</waypoint>
	<!-- # 13 --><waypoint x="539" z="5062" y="679">	</waypoint>
	<!-- # 14 --><waypoint x="562" z="5060" y="679">	</waypoint>
	<!-- # 15 --><waypoint x="663" z="5070" y="679">	</waypoint>
	<!-- # 16 --><waypoint x="704" z="5075" y="680">	</waypoint>
	<!-- # 17 --><waypoint x="752" z="5079" y="686">	</waypoint>
	<!-- # 18 --><waypoint x="902" z="5082" y="708">	</waypoint>
	<!-- # 19 --><waypoint x="989" z="5074" y="725">	</waypoint>
	<!-- # 20 --><waypoint x="1063" z="5065" y="734">	</waypoint>
	yrest(150);
----------------------------------------------------------------------
	-- Circle to kill death blooms
	<!-- #  1 --><waypoint x="1288" z="4970" y="749">	</waypoint>
	<!-- #  2 --><waypoint x="1302" z="4842" y="746">	</waypoint>
	<!-- #  3 --><waypoint x="1312" z="4726" y="748">	</waypoint>
	<!-- #  4 --><waypoint x="1318" z="4651" y="752">	</waypoint>
	<!-- #  5 --><waypoint x="1379" z="4640" y="757">	</waypoint>
	<!-- #  6 --><waypoint x="1477" z="4650" y="762">	</waypoint>
	<!-- #  7 --><waypoint x="1556" z="4675" y="767">	</waypoint>
	<!-- #  8 --><waypoint x="1576" z="4744" y="760">	</waypoint>
	<!-- #  9 --><waypoint x="1601" z="4830" y="759">	</waypoint>
	<!-- # 10 --><waypoint x="1546" z="4885" y="754">	</waypoint>
	<!-- # 11 --><waypoint x="1406" z="4930" y="756">	</waypoint>
	if 100 >= inventory:getItemCount(208977) then
		PathBack()
	end
	-- Return to quest giver after 100 Death Flower Root(208977) have been obtained
----------------------------------------------------------------------
	-- Path back to quest giver (Mishlor, 117590)
	function PathBack()
			<!-- #  1 --><waypoint x="1103" z="5070" y="741">	</waypoint>
			<!-- #  2 --><waypoint x="1033" z="5071" y="730">	</waypoint>
			<!-- #  3 --><waypoint x="947" z="5072" y="717">	</waypoint>
			<!-- #  4 --><waypoint x="862" z="5073" y="701">	</waypoint>
			<!-- #  5 --><waypoint x="779" z="5074" y="689">	</waypoint>
			<!-- #  6 --><waypoint x="691" z="5075" y="680">	</waypoint>
			<!-- #  7 --><waypoint x="610" z="5076" y="679">	</waypoint>
			<!-- #  8 --><waypoint x="517" z="5078" y="679">	</waypoint>
			<!-- #  9 --><waypoint x="438" z="5079" y="679">	</waypoint>
			<!-- # 10 --><waypoint x="374" z="5069" y="673">	</waypoint>
			<!-- # 11 --><waypoint x="329" z="5036" y="665">	</waypoint>
			<!-- # 12 --><waypoint x="189" z="4920" y="664">	</waypoint>
			<!-- # 13 --><waypoint x="129" z="4870" y="665">	</waypoint>
			<!-- # 14 --><waypoint x="92" z="4781" y="675">		</waypoint>
			<!-- # 15 --><waypoint x="25" z="4831" y="682">		</waypoint>
			<!-- # 16 --><waypoint x="-37" z="4878" y="682">	</waypoint>
			<!-- # 17 --><waypoint x="-54" z="4939" y="682">	</waypoint>
			<!-- # 18 --><waypoint x="-71" z="5005" y="682">	</waypoint>
			<!-- # 19 --><waypoint x="-83" z="5048" y="682">	</waypoint>
	end

----------------------------------------------------------------------
	-- Return quest: Another Drink (option 3)
	player:target_NPC(117590); sendMacro("ChoiceOption(1)")
EDIT: getting somewhere xD

Tamyra
Posts: 133
Joined: Tue Feb 01, 2011 6:09 pm

Re: level 40 Daily, Another Drink in the Quodate Plains.

#2 Post by Tamyra » Tue Mar 27, 2012 10:03 am

I have been reading through the code of a LOT of waypoints and this is the first that I find that might answer a question for me. In the section of code:

Code: Select all

if 100 >= inventory:getItemCount(208977) then
      PathBack()
   end
Where the number before the >= and the number in after getItemCount(_) can be for just about any item/quantity you want, my question is in the created function "PathBack()". Can that be a variable? Suppose I'm trying to create a waypoint with multiple quests that require killing and collecting items that are bound for specific quests only. I do not want the bot to return to the NPC for the previous path so can each function be named something new, for example:

PathPlant()
PathFrog()
PathMud()
PathSap()


...etc for each new quest or is there any way to be sure that it chooses the proper "PathBack()" for the quest it happens to be working on?

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

Re: level 40 Daily, Another Drink in the Quodate Plains.

#3 Post by rock5 » Tue Mar 27, 2012 10:24 am

Well in

Code: Select all

if 100 >= inventory:getItemCount(208977) then
      PathBack()
end
PathBack() is for item 208977, whatever that is. So you can have multiple statements for differnt items and different paths. eg.

Code: Select all

if 100 >= inventory:getItemCount(item1) then
      Path1()
end
if 50 >= inventory:getItemCount(item2) then
      Path2()
end
if 1 >= inventory:getItemCount(item3) then
      Path3()
end
  • 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

Tamyra
Posts: 133
Joined: Tue Feb 01, 2011 6:09 pm

Re: level 40 Daily, Another Drink in the Quodate Plains.

#4 Post by Tamyra » Tue Mar 27, 2012 4:34 pm

:D :D Awesome thanks!! That helps a LOT!!

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

Re: level 40 Daily, Another Drink in the Quodate Plains.

#5 Post by lisa » Tue Mar 27, 2012 7:12 pm

isn't the "Restored Sub-Human", "Wiederhergestellter Humanoider", the elite mobs? I would avoid them with a low level =)

If you just want to have it all in 1 function you can use an argument to tell it which path to use.

Code: Select all

if 100 >= inventory:getItemCount(208977) then
      PathBack(208977)
end

Code: Select all

function PathBack(itemid)

if itemid == 208977 then
--do this code
end
if itemid == 208779 then
--do this code
end
if itemid == 208879 then
--do this code
end
if itemid == 207979 then
--do this code
end
if itemid == 208929 then
-- do this code
end
end
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

Tamyra
Posts: 133
Joined: Tue Feb 01, 2011 6:09 pm

Re: level 40 Daily, Another Drink in the Quodate Plains.

#6 Post by Tamyra » Wed Mar 28, 2012 9:44 am

After looking at it again last night, I think I'll just have the waypoint redirect to a new waypoint after conditions are met. Unless of course I can get the method in this thread to actually work. Then I'll just be pausing, making noise and printing info at key places to micromacro so that I can equip character gear that the bot has lvl'd into but that I do not want to risk it selling by using the "take all" functions of UMM and the merchant functions. That much at least I can do manually. Cannot wait until spring break next week so I can finally path it all and begin fine tuning, as I have been slowly gathering the quest sequence info on a spreadsheet using a manual alt to complete them all. This new info tho opens quite a few more quests that I would have previously ignored. *happy sigh* lvl 1-50 waypoint here I come!!

Tamyra
Posts: 133
Joined: Tue Feb 01, 2011 6:09 pm

Re: level 40 Daily, Another Drink in the Quodate Plains.

#7 Post by Tamyra » Tue Apr 03, 2012 8:52 am

I hate replying to my own post but I reached a snag that I want to fix early, and it requires an understanding of the bot's capabilities. So, when doing quite a few of these quests, the same waypoint is being crossed over and over again, which means if I ever crash/lag out of the game and re-start the bot where it was standing, even tho it is at lvl 17, it may go back to the path for lvl 11 and try to re-complete the whole series of quests. Now, I know I can do the whole path sequence as listed in this thread that I asked about before, but my question is if I should have the bot do a path search based on quests complete or character lvl, and where would I place that? Is that supposed to go in the onload? If I put the search/argument in the waypoint itself like this thread has it, my question would be...does the bot skip past every path argument in the waypoint one at a time before moving to one that's true?

Golbez
Posts: 66
Joined: Sat Aug 02, 2008 8:27 pm

Re: level 40 Daily, Another Drink in the Quodate Plains.

#8 Post by Golbez » Tue Apr 03, 2012 11:37 am

Tamyra wrote:I hate replying to my own post but I reached a snag that I want to fix early, and it requires an understanding of the bot's capabilities. So, when doing quite a few of these quests, the same waypoint is being crossed over and over again, which means if I ever crash/lag out of the game and re-start the bot where it was standing, even tho it is at lvl 17, it may go back to the path for lvl 11 and try to re-complete the whole series of quests. Now, I know I can do the whole path sequence as listed in this thread that I asked about before, but my question is if I should have the bot do a path search based on quests complete or character lvl, and where would I place that? Is that supposed to go in the onload? If I put the search/argument in the waypoint itself like this thread has it, my question would be...does the bot skip past every path argument in the waypoint one at a time before moving to one that's true?

i would put the level search on the onload then point the bot in the direction of where it should be.

if level >15 then
__WPL:setForcedWaypointType("NORMAL");
__WPL:setWaypointIndex(__WPL:findWaypointTag("start"))
elseif level > 20 then
do something else here
endif

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

Re: level 40 Daily, Another Drink in the Quodate Plains.

#9 Post by rock5 » Tue Apr 03, 2012 12:02 pm

Golbez wrote:i would put the level search on the onload then point the bot in the direction of where it should be.

if level >15 then
__WPL:setForcedWaypointType("NORMAL");
__WPL:setWaypointIndex(__WPL:findWaypointTag("start"))
elseif level > 20 then
do something else here
endif
The problem with that is if it crashed then you could be anywhere, not necessarily anywhere near "start".

Maybe instead you could have a number of waypoint files and do something like

Code: Select all

if level > 15 then
  loadPaths("pathname")
elseif level > 20 then
  loadPaths("otherpath")
etc..
That way when it loads the correct waypoint file it will go to the nearest waypoint. I'm not sure how you would deal with missed values that weren't changed because they where missed.
  • 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

Tamyra
Posts: 133
Joined: Tue Feb 01, 2011 6:09 pm

Re: level 40 Daily, Another Drink in the Quodate Plains.

#10 Post by Tamyra » Tue Apr 03, 2012 3:48 pm

rock5 wrote: I'm not sure how you would deal with missed values that weren't changed because they where missed.
Yeah, that's the issue I'm dealing with right now because one NPC does a lvl 7 quest and also does a lvl 18 quest...it's kinda a crap shoot as to where in the chain of quests it is going to pick up based on where it happens to be standing. The only thing I can think of is to assign a new path the moment it does a lvl changing quest turn-in. That way it looks for the nearest waypoint in that path and hopefully will pick up right where it left off.

On another subject, is there any way to have the bot accept a quest off an item? For example the bear in the mailbox, at a certain lvl it can right click it and accept it's quest.

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

Re: level 40 Daily, Another Drink in the Quodate Plains.

#11 Post by rock5 » Tue Apr 03, 2012 11:11 pm

Tamyra wrote:The only thing I can think of is to assign a new path the moment it does a lvl changing quest turn-in. That way it looks for the nearest waypoint in that path and hopefully will pick up right where it left off.
Sounds like a plan.
Tamyra wrote:On another subject, is there any way to have the bot accept a quest off an item? For example the bear in the mailbox, at a certain lvl it can right click it and accept it's quest.
Thay are called border quests. You would accept the quest by using the item as normal then executing

Code: Select all

RoMScript("AcceptBorderQuest()")
  • 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