Page 1 of 1

Levelupskills1to10 question

Posted: Tue Mar 22, 2011 9:11 am
by Mushroomstamp
I'm going to be playing around with this function and have two questions... so far =p
Given an empty profile skill list;
What determines the priority of the skills used, and how does it determine when to use heals?

Re: Levelupskills1to10 question

Posted: Tue Mar 22, 2011 9:21 am
by lisa
Which skills are leveled are predetermined by the function in functions.lua

a little snippet of code is

Code: Select all

		[CLASS_WARRIOR]		= {  [1] = { aslevel = 1, skillname="WARRIOR_SLASH" },
								 [2] = { aslevel = 2, skillname="WARRIOR_OPEN_FLANK" },
								 [3] = { aslevel = 2, skillname="WARRIOR_PROBING_ATTACK" },
								 [4] = { aslevel = 4, skillname="WARRIOR_ENRAGED" },
So those warrior skills will be leveled, the aslevel is what lvl the character can first upgrade the skill.

As for when the bot heals that is set in the profile you create for your character in skills.

Re: Levelupskills1to10 question

Posted: Tue Mar 22, 2011 10:53 am
by Giram
I have used healing skills with onskillcast so it should cast heals after each skill if hp is below some lvl.

Code: Select all

<onSkillCast>
	
	if player.Class1 == CLASS_MAGE then
		
		if (not player:hasBuff("Perception")) then
			player:cast("MAGE_PERCEPTION");
		end
		
		while (70 > player.HP/player.MaxHP*100) do
			player:cast("DRUID_RECOVER");
			yrest(2500);
		end
		
		if ((not player:hasBuff("Recover")) and (85 > player.HP/player.MaxHP*100)) then
			player:cast("DRUID_RECOVER");
			yrest(2500);
		end
		
	else
		
		if (not player:hasBuff("Blossoming Life") and (90 > player.HP/player.MaxHP*100)) then
			player:cast("DRUID_BLOSSOMING_LIFE");
		end
		
		if (not player:hasBuff("Concentration Prayer")) then
			player:cast("DRUID_CONCENTRATION_PRAYER");
		end
		
		if (not player:hasBuff("Recover") and (60 > player.HP/player.MaxHP*100)) then
			player:cast("DRUID_RECOVER");
			yrest(2200);
		end
		
	end
	</onSkillCast>
And heal skills are like this:

Code: Select all

<skill name="DRUID_RECOVER"				hotkey="macro" autouse="false" />

Re: Levelupskills1to10 question

Posted: Tue Mar 22, 2011 11:17 am
by Mushroomstamp
Thanks for the replies, though it seems I may not have been clear... I'm talking about the order of skill use given an empty skill section. Now that I think about it, it may be another function all-together.

Here's the deal. I started a new character the other day and did not add any skills in my profile, which looked like this;

Code: Select all

<skills_warrior>
</skills_warrior>
However, even without any skills defined, the bot used the skills that were auto-leveled with the "Levelupskills1to10" function.

Looking at the levelupskills function some more, it says that the skills are loaded into the "skill table"... which is likely what I'm looking for. Where is the skill table?

Re: Levelupskills1to10 question

Posted: Tue Mar 22, 2011 11:50 am
by lisa
in functions.lua where you saw that bit is where the skills table is made, there is no actual file with a table anywhere it is like a virtual table.

Any skills mentioned for your class in that code will be enabled and therefore used, they will use the default settings though for when to heal which is set in skills.lua in database folder.

Hope this helps


edit:: it sounds more to me like you are trying to get the bot to use skills at it's own convenience as it levels up. If that is the case then there is a better way.

Set all the skills you want to use in your profile, including any skills from secondary class, regardless of their lvl.
then you will need some code in a userfunction which looks like this

Code: Select all

-- 1 warrior
-- 2 scout
-- 3 rogue
-- 4 mage
-- 5 priest
-- 6 knight
-- 7 warden
-- 8 druid
-- minxx    = 	value ( 1-8 )	// player.Class number to identify class, listed above
-- minlvl   = 	value ( 1-62 )	// required level before you can use skill 
-- primxx   = 	value ( 1 or 2 )// (Used by all classes = 1) or (class only skill = 2)
-- armor    =   value ( 1-3 )   // (1 = cloth, 2 = leather, 3 = mail) values for lvl 1

 	skillsdb = {
["WARRIOR_PROBING_ATTACK"] = 	{minlvl=2, minxx=1, primxx=2, id=491133, armor =2 },
["WARRIOR_SLASH"] = 		{minlvl=1, minxx=1, primxx=1, id=490053, armor =2 },
["WARRIOR_ENRAGED"] = 		{minlvl=4, minxx=1, primxx=1, id=490492, armor =2 },
["WARRIOR_OPEN_FLANK"] = 	{minlvl=2, minxx=1, primxx=2, id=491136, armor =2 },

["SCOUT_AUTOSHOT"] = 		{minlvl=1, minxx=2, primxx=2, id=492589, armor =2 },
["SCOUT_WIND_ARROWS"] = 	{minlvl=2, minxx=2, primxx=2, id=491128, armor =2 },
["SCOUT_VAMPIRE_ARROWS"] = 	{minlvl=4, minxx=2, primxx=1, id=491292, armor =2 },
["SCOUT_SHOT"] = 		{minlvl=1, minxx=2, primxx=1, id=490423, armor =2 },

["ROGUE_SHADOWSTAB"] = 		{minlvl=1, minxx=3, primxx=1, id=490306, armor =2 },
["ROGUE_LOW_BLOW"] = 		{minlvl=2, minxx=3, primxx=2, id=490323, armor =2 },
["ROGUE_ASSASSINS_RAGE"] = 	{minlvl=1, minxx=3, primxx=2, id=490506, armor =2 },
["ROGUE_WOUND_ATTACK"] = 	{minlvl=6, minxx=3, primxx=2, id=490313, armor =2 },

["MAGE_FLAME"] = 		{minlvl=1, minxx=4, primxx=2, id=491150, armor =1 },
["MAGE_ELEMENTAL_CATALYST"] = 	{minlvl=1, minxx=4, primxx=2, id=490238, armor =1 },
["MAGE_FIREBALL"] = 		{minlvl=4, minxx=4, primxx=1, id=490204, armor =1 },
["MAGE_LIGHTNING"] = 		{minlvl=8, minxx=4, primxx=1, id=490212, armor =1 },

["PRIEST_RISING_TIDE"] = 	{minlvl=1, minxx=5, primxx=1, id=490256, armor =1 },
["PRIEST_URGENT_HEAL"] = 	{minlvl=1, minxx=5, primxx=1, id=491147, armor =1 },
["PRIEST_REGENERATE"] = 	{minlvl=1, minxx=5, primxx=1, id=490269, armor =1 },
["PRIEST_HOLY_AURA"] = 		{minlvl=8, minxx=5, primxx=1, id=490300, armor =1 },

["KNIGHT_HOLY_SEAL"] = 		{minlvl=2, minxx=6, primxx=2, id=491368, armor =3 },
["KNIGHT_MANA_RETURN"] = 	{minlvl=2, minxx=6, primxx=2, id=491446, armor =3 },
["KNIGHT_HOLY_STRIKE"] = 	{minlvl=1, minxx=6, primxx=1, id=490496, armor =3 },
["KNIGHT_PUNISHMENT"] = 	{minlvl=1, minxx=6, primxx=1, id=490164, armor =3 },

}

function setactionbar()

for k,v in pairs(settings.profile.skills) do

	
 	skilldata = skillsdb[v.Name]

	
	setActionKeyToId(settings.profile.skills[k].hotkey - 48, skilldata.id)


end
end
You would only need the name and id for it to work, the rest is stuff I use in some other functions.
Add into your profile onload section

Code: Select all

setactionbar()
And it will add the skills to your actionbar, the icons themselves wont appear as each button is pressed but the skills are deffinately there regardless of your lvl and skill lvl requirement.

I use this in my 1-10/10 any human class setup. Was a pet project I did ages ago lol

Re: Levelupskills1to10 question

Posted: Tue Mar 22, 2011 12:14 pm
by Mushroomstamp
Helps bunches - thanks! 8-)