
Yeah, so... there are no separate functions for set skills just the code in the settings.updateSkillsAvailability function. So Lisas function is the way to go.
This is in my databasekenzu38 wrote:Btw guyz, to those of you who have Crafting item-set skills, just post here the Buff ids
Code: Select all
{Name = "Improve Crafting Speed",ID = 507016},
{Name = "Improve Crafting XP",ID = 507017},
Thanks, glad you liked it. And glad it's working as intended.lisa wrote:I finally got around to testing it, BS at lvl 60 ish. I really like the text on the window, very nicely done.
At 64.** it worked out exactly how many items it needed to buy to lvl and only bought that many, very nice.
Yeah, I've just grown accustomed to reading prints on the MM window that it just doesn't feel right when I don't see any. So I just had to print something there. Hehe.lisa wrote:not sure the print is needed each time since the info is at the top of window anyway but it is still pretty nice work.
And thanks for the code. Although, I wrote it like this:lisa wrote:Then just useCode: Select all
function getCD(ID) local offset = memoryReadRepeat("int", getProc(), GetItemAddress(ID) + addresses.skillRemainingCooldown_offset) or 0 if offset and offset ~= 0 then return (memoryReadRepeat("int", getProc(), addresses.staticCooldownsBase + (offset+1)*4) or 0)/10 end return 0 end
getCD(495777)
getCD(495776)
Which of course works, even for set skillsCode: Select all
Command> print(getCD(490300)) 114 Command> print(getCD(495478)) 56.4
Code: Select all
function getCD(ID)
local offset = memoryReadRepeat("int", getProc(), GetItemAddress(ID) + addresses.skillRemainingCooldown_offset)
return (memoryReadRepeat("int", getProc(), addresses.staticCooldownsBase + (offset+1)*4))/10
end
Code: Select all
for num = 1, 5 do -- 5 possible enabled item set skills
local id = memoryReadInt(getProc(), addresses.itemSetSkillsBase + (num - 1)*4)
end
Code: Select all
1.) All files now integrated to a single file.
2.) User is asked to input which skill to level upon starting the script. This is turned on by default, you can turn this off and set which skill you like to level in the user options.
3.) You can now set in the user options what level you'd like the bot to stop at and set what you want the bot to do after reaching that level.
4.) Script now checks first if you are near the Event NPCs and will give an error if you're not. It will also go to where the tools are at automatically if it detects you are pretty far from it.
5.) Added support for item-set skills (still in Beta as I do not have these skills and could not fully test it, so testers are needed). Once again, credits go to lisa for the functions needed to add support for these skills.
6.) Added support for production speed potion - 1 day. The bot will auto-use it at the start of the script if user option is set to do that. If anyone has the 7 and 30 day potions, just post the Buff ids here so I can add support for them.
7.) Added a user option yrestadjustment for you to tweak the timing of the prints and the getting of info. Generally, this helps the bot to calculate some needed values better.
In their wisdom the RoM Dev's used a "** **** **** "..skill.."** ***** *** ****" type thing for the text in the options, which means I couldn't find a value to use to find the text in any language.gloover wrote:1. The autoupgrade of quallification (reaching lvl 20, 40, 60) doesn't work.
Code: Select all
function raiseMaxSkillLevel()
print("Raising Max Level of Blacksmithing Skill.")
repeat
yrest(500)
until player:target_NPC(112944)
yrest(1000)
ChoiceOptionByName(getTEXT("SKILLCRAFT_SKILLPROVE"))
yrest(1000)
ChoiceOptionByName("Blacksmithing")
yrest(1000)
end
Hey there,gloover wrote:Hey kenzu,
10q very much for your script - works well, but with some little bugs.
Tested on german client.
1. The autoupgrade of quallification (reaching lvl 20, 40, 60) doesn't work.
2. I have both set skills (speed and exp) but only one of them (speed is put on the first slot at the up) will be used.
can u check this again?
thx
Code: Select all
[1] = {name = "Alchemy", text = "",
[2] = {name = "Armorcrafting", text = "",
Code: Select all
[1] = {name = "Alchemy", text = "Alchemie",
Code: Select all
Skill ID 495776 Found. usespeedskill Is Set To True.
Skill ID 495777 Found. usexpskill Is Set To True.
Code: Select all
function useCraftingSkills()
local speedskill = GetIdName(495776) -- Crafting Speed skill
local expskill = GetIdName(495777) -- Crafting Exp skill
if usespeedskill then
rest(1000)
local speedremaining = getCooldown(495776)
if speedremaining == 0 then
repeat
sendMacro("CastSpellByName(\""..speedskill.."\")")
rest(500)
player:updateBuffs()
rest(500)
until player:hasBuff(507016)
end
end
if usexpskill then
rest(1000)
local expremaining = getCooldown(495777)
if expremaining == 0 then
repeat
sendMacro("CastSpellByName(\""..expskill.."\")")
rest(500)
player:updateBuffs()
rest(500)
until player:hasBuff(507017)
end
end
end
I don't understand this. Why can't you find the text in the option? What exactly is the string? The way I understand it, you should always be able to find the getText string and use it.lisa wrote: In their wisdom the RoM Dev's used a "** **** **** "..skill.."** ***** *** ****" type thing for the text in the options
The example was just an easy way to get the point across, more accurately it will be something like this.rock5 wrote:I don't understand this. Why can't you find the text in the option? What exactly is the string? The way I understand it, you should always be able to find the getText string and use it.
Code: Select all
skill = "Blacksmithing"
printf("This is the text you can see for skill: %s", skill)
Hey gloover, this might be a little too late but I just found out why it wouldn't use your second item set skill.gloover wrote:Hey kenzu,
2. I have both set skills (speed and exp) but only one of them (speed is put on the first slot at the up) will be used.
can u check this again?
thx
Code: Select all
function charHasItemSetSkill(skillid)
for num = 1, 5 do
local id = memoryReadInt(getProc(), addresses.itemSetSkillsBase + (num - 1)*4)
if id == skillid then
return true
end
return false
end
end
Code: Select all
function charHasItemSetSkill(skillid)
for num = 1, 5 do
local id = memoryReadInt(getProc(), addresses.itemSetSkillsBase + (num - 1)*4)
if id == skillid then
return true
end
end
return false
end
They are crafted, most of the time there are some on AH or you may need to post in world chat you want some made up. Will vary depending on server of course.noobbotter wrote:Last question... Where do you get crafting item set skills? I never even knew they existed. Thanks.
I have the same problem. Up to now, I have been running this manually because of this problem. The bot always tries to get materials from npc "Fiona" even though Fiona does not provide the appropriate materials.rom updated the npcs this year and moved mats around i read. This does not seem to work for blacksmith or woodworking the char will keep running to the alchemy trainer. Anyone able to spot what needs changed?
Users browsing this forum: No registered users and 0 guests