blacksmithing
#Blacksmithing Trainer by Frank Castle
#
#What you need:
# 1 - 30.0+ Blacksmith Skill. If you do not have it buy it up.
# 2 - a player made Tinker Tools
# 3 - a chest with plenty of iron ingots
#
# Written and tested on OSI.
from System.Collections.Generic import List
global stoCont
stoCont = Target.PromptTarget('Target your resource chest')
Misc.Pause(100)
Items.UseItem(stoCont)
Misc.Pause(1100)
Player.UseSkill('Hiding')
Misc.Pause(11000)
def makeLast(skill, item):
Blacksmith = Player.GetSkillValue('Blacksmith')
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Items.UseItem(tongs)
while Blacksmith < skill and Blacksmith != Player.GetSkillCap('Blacksmith'):
Blacksmith = Player.GetSkillValue('Blacksmith')
checkIngots()
Gumps.WaitForGump(460, 1500)
Gumps.SendAction(460, 1999)
Misc.Pause(500)
if Journal.Search('You have worn out') == True:
Journal.Clear()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Items.UseItem(tongs)
if Items.BackpackCount(item,-1) > 0:
smelts = Items.FindByID(item,-1,Player.Backpack.Serial)
Misc.Pause(100)
Gumps.WaitForGump(460, 1500)
Gumps.SendAction(460, 7000)
Target.WaitForTarget(1500, False)
Target.TargetExecute(smelts)
Misc.Pause(300)
def checkIngots():
if Items.BackpackCount(0x1BF2,0x0000) < 50:
global stoCont
Misc.Pause(1100)
ingot = Items.FindByID(0x1BF2,0x0000,stoCont)
Misc.Pause(100)
Items.Move(ingot,Player.Backpack.Serial,500)
Misc.Pause(1100)
def checkTools():
countOne = Items.BackpackCount(0x1EB9,-1)
while countOne < 3:
Misc.Pause(1100)
tinkerTool = Items.FindByID(0x1EB9,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tinkerTool)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 11)
Misc.Pause(1500)
countOne = Items.BackpackCount(0x1EB9,-1)
Misc.SendMessage('I have {} tinker tools in my bag'.format(countOne),48)
countTwo = Items.BackpackCount(0x0FBC,-1)
while countTwo < 3:
Misc.Pause(1100)
tinkerTool = Items.FindByID(0x1EB9,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tinkerTool)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 20)
Misc.Pause(1500)
countTwo = Items.BackpackCount(0x0FBC,-1)
Misc.SendMessage('I have {} tongs in my bag'.format(countOne),48)
def selectCraft():
Blacksmith = Player.GetSkillValue('Blacksmith')
if Blacksmith < 35:
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 45) #MAKE DAGGERS
makeLast(35, 0x0F51)
Misc.Pause(100)
if Blacksmith >= 35 and Blacksmith < 45 :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 77) #MAKE MACES
makeLast(45, 0x0F5C)
Misc.Pause(100)
if Blacksmith >= 45 and Blacksmith < 50 :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 78) #MAKE MAULS
makeLast(50, 0x143B)
Misc.Pause(100)
if Blacksmith >= 50 and Blacksmith < 55 :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 44) #MAKE CUTLASSES
makeLast(55, 0x1441)
Misc.Pause(100)
if Blacksmith >= 55 and Blacksmith < 59 :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 48) #MAKE LONGSWORDS
makeLast(59, 0x0F61)
Misc.Pause(100)
if Blacksmith >= 59 and Blacksmith < 61 :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 75) #MAKE WARFORK
makeLast(61,0x1405)
Misc.Pause(100)
if Blacksmith >= 61 and Blacksmith < 70 :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 74) #MAKE SPEARS
makeLast(70, 0x0F62)
Misc.Pause(100)
if Blacksmith >= 70 and Blacksmith < 106 and Blacksmith != Player.GetSkillCap('Blacksmith') :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 10) #MAKE PLATE GORGETS
makeLast(106, 0x1413)
Misc.Pause(100)
if Blacksmith >= 106 and Blacksmith < 108 and Blacksmith != Player.GetSkillCap('Blacksmith') :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 9) #MAKE PLATE GLOVES
makeLast(108, 0x1414)
Misc.Pause(100)
if Blacksmith >= 108 and Blacksmith < 116 and Blacksmith != Player.GetSkillCap('Blacksmith') :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 8) #MAKE PLATE ARMS
makeLast(116, 0x1410)
Misc.Pause(100)
if Blacksmith >= 116 and Blacksmith < 118 and Blacksmith != Player.GetSkillCap('Blacksmith') :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 11) #MAKE PLATE LEGS
makeLast(118, 0x1411)
Misc.Pause(100)
if Blacksmith >= 118 and Blacksmith < 120 and Blacksmith != Player.GetSkillCap('Blacksmith') :
checkIngots()
checkTools()
tongs = Items.FindByID(0x0FBC,-1,Player.Backpack.Serial)
Misc.Pause(100)
Items.UseItem(tongs)
Gumps.WaitForGump(460, 10000)
Gumps.SendAction(460, 12) #MAKE PLATE CHEST
makeLast(120, 0x1415)
Misc.Pause(100)
if Blacksmith == Player.GetSkillCap('Blacksmith'):
Misc.ScriptStopAll()
Misc.Pause(1100)
while True:
selectCraft()
blacksmithing.txt · Last modified: 2025/02/25 22:20 by 127.0.0.1