Wanting to write a waypoint for GC easy 1st boss farm
Re: Wanting to write a waypoint for GC easy 1st boss farm
Ok.. very last kink in this:
It sometimes uses a pot during stealth and the mobs attack.
Is there a code along the lines of: if not player:hasBuff("Stealth") then dont use potions
That i can put somewhere to stop this from happening?
It sometimes uses a pot during stealth and the mobs attack.
Is there a code along the lines of: if not player:hasBuff("Stealth") then dont use potions
That i can put somewhere to stop this from happening?
Re: Wanting to write a waypoint for GC easy 1st boss farm
Okay. besides what woahh just said. This waypoint is complete! I have zero problems. runs flawlessly.
Id like to thank rock5 and Lisa for all of your help with this waypoint. and my buddy woahh as well
For this waypoint, you need:
Swimhack Userfunction
partycheck userfunction
Id like to thank rock5 and Lisa for all of your help with this waypoint. and my buddy woahh as well

For this waypoint, you need:
Swimhack Userfunction
partycheck userfunction
Code: Select all
<?xml version="1.0" encoding="utf-8"?><waypoints>
<!-- # 1 --><waypoint x="-8499" z="45505" y="758">
repeat
yrest(1000)
until checkparty() == true
yrest(1000) </waypoint>
<!-- # 2 --><waypoint x="-8463" z="45460" y="758" tag="try again"> </waypoint>
<!-- # 3 --><waypoint x="-8459" z="45555" y="758"> yrest(7000)
if not waitForLoadingScreen(10) then
__WPL:setWaypointIndex(__WPL:findWaypointTag("try again"))
end </waypoint>
<!-- # 4 --><waypoint x="343" z="-1456" y="1269"> player:cast("ROGUE_HIDE") fly() </waypoint>
<!-- # 5 --><waypoint x="332" z="-999" y="1286"> </waypoint>
<!-- # 6 --><waypoint x="19" z="-996" y="1255"> flyoff()
repeat
yrest(1000)
until checkparty() == true
yrest(10000)
player:cast("ROGUE_INFORMER")
player:cast("ROGUE_FERVENT_ATTACK")
player:cast("ROGUE_ASSASSINS_RAGE")
player:cast("ROGUE_ENERGY_THIEF")
player:cast("ROGUE_PREMEDITATION") </waypoint>
<!-- # 7 --><waypoint x="-234" z="-995" y="1254"> </waypoint>
<!-- # 8 --><waypoint x="19" z="-1013" y="1256"> fly() player:cast("ROGUE_HIDE") </waypoint>
<!-- # 9 --><waypoint x="332" z="-999" y="1286"> </waypoint>
<!-- # 10 --><waypoint x="316" z="-1396" y="1269" tag="again2"> flyoff()
repeat
yrest(1000)
until checkparty() == true
yrest(1000)
player:cast("ROGUE_HIDE") </waypoint>
<!-- # 11 --><waypoint x="440" z="-1455" y="1269">
if not waitForLoadingScreen(10) then
__WPL:setWaypointIndex(__WPL:findWaypointTag("again2"))
end </waypoint>
<!-- # 12 --><waypoint x="-8472" z="45468" y="758"> yrest(2000)
repeat
yrest(1000)
until checkparty() == true
yrest(3000)
SlashCommand("ILG destroy");
yrest(2000)
SlashCommand("ILG inv");
yrest(2000)
if not player:hasBuff("Combat Master") then
player:cast("ROGUE_COMBAT_MASTER")
end
if not player:hasBuff("Poisonous") then
player:cast("ROGUE_POISON")
end
if not player:hasBuff("Yawakas Blessing") then
player:cast("ROGUE_YAWAKAS_BLESSING")
end
if not player:hasBuff("Unbridled Enthusiasm") then
inventory:useItem("UNBRIDLED_ENTHUSIASM")
end
if not player:hasBuff("Unimaginable Salad") then
inventory:useItem("HOUSEKEEPER_SPECIAL_UNIMAGINABLE_SALAD")
end </waypoint>
</waypoints>
Last edited by klassik1 on Sun Dec 18, 2011 3:59 am, edited 1 time in total.
Re: Wanting to write a waypoint for GC easy 1st boss farm
player.lua line 813 add this
So it looks like this
I have some other things I am updating so I won't commit it just yet but yeah you are right it should be in there.
Should probably have the buff id in the skill aswell, not sure why it isn't in the database.
Does hide work properly? or do you just cast it with player:cast()
Code: Select all
if player.Class1 == 3 and player:hasBuff(500675) then return false end
Code: Select all
-- Check if you need to use any potions, and use them.
function CPlayer:checkPotions()
-- only one potion type could be used, so we return after using one type
if player.Class1 == 3 and player:hasBuff(500675) then return false end
if settings.profile.options.USE_PHIRIUS_POTION == true then
Should probably have the buff id in the skill aswell, not sure why it isn't in the database.
Does hide work properly? or do you just cast it with player:cast()
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

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Wanting to write a waypoint for GC easy 1st boss farm
Nice, ill try that. And yeah, hide works. Were using player:cast("ROGUE_HIDE").
Thanks for your help rock and lisa
We have it up and running, 120 mems/hour
Oh and on a side note to everyone else: This script is specifically made for our two chars, so if you want to use this your'e going to have do some customizing for it to work. But feel free to use it
Thanks for your help rock and lisa

We have it up and running, 120 mems/hour

Oh and on a side note to everyone else: This script is specifically made for our two chars, so if you want to use this your'e going to have do some customizing for it to work. But feel free to use it

Re: Wanting to write a waypoint for GC easy 1st boss farm
Little off topic but was already brought up here.
ROGUE_HIDE doesn't work if being cast by bot itself, even with buff id in the skills database. I did however find the issue and fixed it so you can now add hide to normal skill usage if you want.
Since it only works when not in combat it means it will cast Hide when you are out of combat. Which still isn't ideal, I would suguest having it set in profile as autouse false and just cast it with player:cast() as mentioned.
I haven't commited the fix as yet, getting a few more things I wanted to update together before hand.
If you are interested issue was that the buff has no duration and the bot is set to check for buff duration. So fix was to also check for duration to == -1 which means the buff has no duration.
looks like this
ROGUE_HIDE doesn't work if being cast by bot itself, even with buff id in the skills database. I did however find the issue and fixed it so you can now add hide to normal skill usage if you want.
Since it only works when not in combat it means it will cast Hide when you are out of combat. Which still isn't ideal, I would suguest having it set in profile as autouse false and just cast it with player:cast() as mentioned.
I haven't commited the fix as yet, getting a few more things I wanted to update together before hand.
If you are interested issue was that the buff has no duration and the bot is set to check for buff duration. So fix was to also check for duration to == -1 which means the buff has no duration.
looks like this
Code: Select all
if buffitem and ((buffitem.TimeLeft > self.rebuffcut + prior/1000) or buffitem.TimeLeft == -1 ) then
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

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Wanting to write a waypoint for GC easy 1st boss farm
Just found an interesting problem.
After about 2 hours klassik1 starts porting, which throws off the ready checks O.o
Cause the ready check requires him to be within '25' of me. But even though hes in the exact same spot as me, the game shows him as far away. I know jumping fixes this... maybe add in some code that makes you jump when you reach the ready-check position? Hrmmm
After about 2 hours klassik1 starts porting, which throws off the ready checks O.o
Cause the ready check requires him to be within '25' of me. But even though hes in the exact same spot as me, the game shows him as far away. I know jumping fixes this... maybe add in some code that makes you jump when you reach the ready-check position? Hrmmm
Re: Wanting to write a waypoint for GC easy 1st boss farm
Code: Select all
keyboardPress(settings.hotkeys.JUMP.key);
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

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Wanting to write a waypoint for GC easy 1st boss farm
Hey, so the jumping works. But for some reason it only jumps on waypoint 11. Can you see any reason why that would be?
EDIT: Nevermind, i just realized why. It was trying to jump before it had a chance to disable the swimhack, since they were right after eachother.
Code: Select all
<?xml version="1.0" encoding="utf-8"?><waypoints>
<!-- # 1 --><waypoint x="-8461" z="45500" y="758" tag="try again"> </waypoint>
<!-- # 2 --><waypoint x="-8459" z="45555" y="758"> yrest(3000)
if not waitForLoadingScreen(10) then
__WPL:setWaypointIndex(__WPL:findWaypointTag("try again"))
end </waypoint>
<!-- # 3 --><waypoint x="343" z="-1456" y="1269"> yrest(4000) player:cast("ROGUE_HIDE") fly() </waypoint>
<!-- # 4 --><waypoint x="332" z="-999" y="1286"> </waypoint>
<!-- # 5 --><waypoint x="19" z="-996" y="1255"> flyoff()
keyboardPress(settings.hotkeys.JUMP.key);
repeat
yrest(1000)
until checkparty() == true
yrest(10000)
player:cast("ROGUE_INFORMER")
player:cast("ROGUE_FERVENT_ATTACK")
player:cast("ROGUE_ASSASSINS_RAGE")
player:cast("ROGUE_ENERGY_THIEF")
player:cast("ROGUE_PREMEDITATION") </waypoint>
<!-- # 6 --><waypoint x="-234" z="-995" y="1254"> yrest(3000) </waypoint>
<!-- # 7 --><waypoint x="19" z="-1013" y="1256"> fly() player:cast("ROGUE_HIDE") </waypoint>
<!-- # 8 --><waypoint x="332" z="-999" y="1286"> </waypoint>
<!-- # 9 --><waypoint x="316" z="-1396" y="1269" tag="again2"> flyoff()
keyboardPress(settings.hotkeys.JUMP.key);
repeat
yrest(1000)
until checkparty() == true
yrest(1000)
player:cast("ROGUE_HIDE") </waypoint>
<!-- # 10 --><waypoint x="440" z="-1455" y="1269">
if not waitForLoadingScreen(10) then
__WPL:setWaypointIndex(__WPL:findWaypointTag("again2"))
end </waypoint>
<!-- # 11 --><waypoint x="-8472" z="45468" y="758"> keyboardPress(settings.hotkeys.JUMP.key); yrest(8000)
if not player:hasBuff("Combat Master") then
player:cast("ROGUE_COMBAT_MASTER")
end
if not player:hasBuff("Poisonous") then
player:cast("ROGUE_POISON")
end
if not player:hasBuff("Yawakas Blessing") then
player:cast("ROGUE_YAWAKAS_BLESSING")
end
if not player:hasBuff("Unbridled Enthusiasm") then
inventory:useItem("UNBRIDLED_ENTHUSIASM")
end
if not player:hasBuff("Unimaginable Salad") then
inventory:useItem("HOUSEKEEPER_SPECIAL_UNIMAGINABLE_SALAD")
end
</waypoint>
</waypoints>
Re: Wanting to write a waypoint for GC easy 1st boss farm
hello,
how do you figure out the ID's for skills / items?
I can not get Unbridled Enthusiasm, Evasion, or Housekeeper's Special Unimaginable Salad to call in the waypoints.
none of these work.
how do you figure out the ID's for skills / items?
I can not get Unbridled Enthusiasm, Evasion, or Housekeeper's Special Unimaginable Salad to call in the waypoints.
Code: Select all
if not player:hasBuff("Unbridled Enthusiasm") then
inventory:useItem("UNBRIDLED_ENTHUSIASM")
end
if not player:hasBuff("Unimaginable Salad") then
inventory:useItem("HOUSEKEEPER_SPECIAL_UNIMAGINABLE_SALAD")
end
if not player:hasBuff("Evasion") then
player:cast("ROGUE_EVASION")
end
Re: Wanting to write a waypoint for GC easy 1st boss farm
I use this as a userfunction
and use the WP commandline and just type printinventory()
Then Micromacro window gets prints of every item in my bags.
Another option is to just go to runesdatabase.com and do a search for the item, usually the web address for the item has the ID.
For buff ID I use an ingame script
--=== Note ===--
when you use the
inventory:useItem()
the name needs to be the in game name.
Code: Select all
function printinventory()
local bags = {}
inventory:update()
for slot = 61, 240 do
item = inventory.BagSlot[slot]
if item.Available and item.Name ~= "<EMPTY>" then
table.insert(bags, {Name = item.Name, Id = item.Id})
end;
end;
table.print(bags)
end
Then Micromacro window gets prints of every item in my bags.
Another option is to just go to runesdatabase.com and do a search for the item, usually the web address for the item has the ID.
For buff ID I use an ingame script
Code: Select all
/script for i=1,20 do local name, icon, count, ID = UnitBuff( "player", i ); SendSystemChat(name.." "..ID); end
--=== Note ===--
when you use the
inventory:useItem()
the name needs to be the in game name.
Code: Select all
inventory:useItem("Bone Arrow Quiver")
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

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Wanting to write a waypoint for GC easy 1st boss farm
Ok so this probably isn't the best place to ask this, but sometimes when I zone out of gc I end up in the floor outside. And this will happen even if im manually controlling my character. Is there any reason for this? Or is this just one of rom's bugs that we cant fix lol.
But its important, because when this happens I'm unable to enter the instance unless I manually get myself out of the floor, which = unstick 10 times -> logout
EDIT: I need to stop posting before I try everything. I fixed it, nevermind.
But its important, because when this happens I'm unable to enter the instance unless I manually get myself out of the floor, which = unstick 10 times -> logout
EDIT: I need to stop posting before I try everything. I fixed it, nevermind.
Re: Wanting to write a waypoint for GC easy 1st boss farm
How did you fix it? Others might want to know.woah wrote:EDIT: I need to stop posting before I try everything. I fixed it, nevermind.
- 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
Re: Wanting to write a waypoint for GC easy 1st boss farm
The problem was the coordinates of the waypoint that zones you in/out. It needs to be very precise.. I changed "x" by about 5, and it fixed all the zoning problems.
Re: Wanting to write a waypoint for GC easy 1st boss farm
Now that we have the basic script, we're trying to optimize everything to make it completely flawless. Part of this is trying to stop guessing at how long things will take with yrests, and using more dependable methods. Soo....
Previously we used a yrest on char #1 while char #2 used ilg to destroy/reinvite. Also, if both characters enter the instance at the same time sometimes they get put in different instances, and obviously if char #1 enters before joining the party they will also. So it seems like the better way to do this is to have char #1 repeat yrest(1000) until.... (gets invited by player 2) ... then yrest(3000) to make sure char #2 enters first. Is there a code that can check for recieving a party invite? or have char #2 whisper #1 immediately after inviting, and on recieving that whisper, #1 stops resting?
Ok 2nd thing:
We want to use Energy Thief every fight (2m cooldown). Trying to use yrests to make our path take exactly 2 minutes is impossible. Is there a way to check if that skill is cooled down before using it, and rest until it is? This would speed up the whole loop alot.

Previously we used a yrest on char #1 while char #2 used ilg to destroy/reinvite. Also, if both characters enter the instance at the same time sometimes they get put in different instances, and obviously if char #1 enters before joining the party they will also. So it seems like the better way to do this is to have char #1 repeat yrest(1000) until.... (gets invited by player 2) ... then yrest(3000) to make sure char #2 enters first. Is there a code that can check for recieving a party invite? or have char #2 whisper #1 immediately after inviting, and on recieving that whisper, #1 stops resting?
Ok 2nd thing:
We want to use Energy Thief every fight (2m cooldown). Trying to use yrests to make our path take exactly 2 minutes is impossible. Is there a way to check if that skill is cooled down before using it, and rest until it is? This would speed up the whole loop alot.

Re: Wanting to write a waypoint for GC easy 1st boss farm
For the first part all of it can be handled by this function
If you understand how the function works of course.
It returns true or false depending on if party members are within the distance set by the argument.
Also note that if the other party member is in another zone then it will always return false.
If you have an autoaccept addon set up, which you should then it is easy to check if you are in party or not.
bigger distance the better for this part.
Now to check if the other party member has entered an instance
Since it is in another zone (the instance) then it will return false no matter the distance in the arg.
As for the skill details, you can use an in game function
remaining is the time left until it is available to use again.
I also suspect you can get the info from rombot.
with skill.Cooldown
So something like.
Untested but yeah something like that.
Code: Select all
checkparty(_dist)
It returns true or false depending on if party members are within the distance set by the argument.
Also note that if the other party member is in another zone then it will always return false.
If you have an autoaccept addon set up, which you should then it is easy to check if you are in party or not.
Code: Select all
repeat
yrest(1000)
until checkparty(300) == true
Now to check if the other party member has entered an instance
Code: Select all
repeat
yrest(1000)
until checkparty(300) == false
As for the skill details, you can use an in game function
Code: Select all
local cooldown, remaining = GetSkillCooldown(tab,number);
yrest(remaining*1000)
I also suspect you can get the info from rombot.
with skill.Cooldown
So something like.
Code: Select all
for i,v in pairs(settings.profile.skills) do
if v.Name == "Energy Thief" then
local skill = CSkill( v );
yrest(skill.Cooldown*1000)
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

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Wanting to write a waypoint for GC easy 1st boss farm
Hmm I'm not sure how well that would work for the waiting for the party invite, because it seems like those conditions could be satisfied even before the party leader breaks the party, which would mess things up. I guess I could put a rest before it... But then if the party leader enters the instance too soon, the conditions for the ready check will never be fulfilled.
Is there no function that can detect the actual invitation?
And the part about energy thief looks good, thanks (:
Is there no function that can detect the actual invitation?
And the part about energy thief looks good, thanks (:
Re: Wanting to write a waypoint for GC easy 1st boss farm
do the waitforloadingscreen()
and then for the code for after you leave instance do.
leader
follower
Starting to get the idea??
and then for the code for after you leave instance do.
leader
Code: Select all
waitforloadingscreen()
repeat
yrest(500)
until checkparty(50) == true-- all party out of instance
yrest(3000) -- 3 second wait to allow other party members to finish zoning.
-- do code to disband group
-- code to invite group
repeat
yrest(500)
until checkparty(50) == true -- party has accepted invite.
-- continue with WP to go into instance.
Code: Select all
waitforloadingscreen()
repeat
yrest(500)
until checkparty(50) == false -- we have been kicked from party
repeat
yrest(500)
until checkparty(50) == true -- now we are back in party
-- continue with WP
--when you get to the spot before going in entrance.
repeat
yrest(500)
until checkparty(500) == false -- party leader has entered instance
-- continue into instance
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

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Wanting to write a waypoint for GC easy 1st boss farm
Ahhh that looks like it'll work. I'm going to make these changes and see if it fixes some things, thanks 

Re: Wanting to write a waypoint for GC easy 1st boss farm
Ok so I tested out both of those things. The invitation ready checks work perfectly 
But, the wait for cooldown part doesn't work. I don't really understand that code so I just copy and pasted it in. Here's the code for that waypoint, did I do something wrong?

But, the wait for cooldown part doesn't work. I don't really understand that code so I just copy and pasted it in. Here's the code for that waypoint, did I do something wrong?
Code: Select all
<!-- # 5 --><waypoint x="19" z="-996" y="1255"> flyoff() yrest(500)
keyboardPress(settings.hotkeys.JUMP.key);
repeat
yrest(1000)
until checkparty() == true
yrest(2000)
if not player:hasBuff("Combat Master") then
player:cast("ROGUE_COMBAT_MASTER")
end
if not player:hasBuff("Poisonous") then
player:cast("ROGUE_POISON")
end
if not player:hasBuff("Yawakas Blessing") then
player:cast("ROGUE_YAWAKAS_BLESSING")
end
if not player:hasBuff("Unbridled Enthusiasm") then
inventory:useItem(207200);
end
if not player:hasBuff("Unimaginable Salad") then
inventory:useItem(207215);
end
for i,v in pairs(settings.profile.skills) do
if v.Name == "Evasion" then
local skill = CSkill( v );
yrest(skill.Cooldown*1000)
end
end
yrest(500)
player:cast("ROGUE_EVASION")
player:cast("ROGUE_ENERGY_THIEF")
</waypoint>
Re: Wanting to write a waypoint for GC easy 1st boss farm
Ahh ok I have it now, it was my mistake I thought that part used the in game name for skills but it uses the rombot name for skills.
try this
try this
Code: Select all
for i,v in pairs(settings.profile.skills) do
if v.Name == "ROGUE_EVASION" then
local skill = CSkill( v );
yrest(skill.Cooldown*1000)
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

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Who is online
Users browsing this forum: No registered users and 1 guest