User Tools

Site Tools


cooking
#Cooking Trainer by Frank Castle
#
#What you need:
# 1 - 30.0+ Tinkering Skill. If you do not have it buy it up. 
# 1 - 30.0+ Cooking Skill. If you do not have it buy it up.
# 2 - a player made Tinker Tools
# 3 - a chest with plenty of iron ingots, flour and fish steaks
# 4 - an Endless Decanter of Water. 
# 5 - A nearby Oven and a Nearby watersource that your decanter is linked to 
# 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)

def checkIngots():
    if Items.BackpackCount(0x1BF2,0x0000) < 15:
        global stoCont
        Misc.SendMessage('Getting Ingots',48)
        Misc.Pause(1100)
        ingot = Items.FindByID(0x1BF2,0x0000,stoCont)
        Misc.Pause(100)
        Items.Move(ingot,Player.Backpack.Serial,40)
        Misc.Pause(1100)
        
def checkTools():
    checkIngots()
    countOne = Items.BackpackCount(0x1EB9,-1)
    while countOne < 3:
        tinkerTool = Items.FindByID(0x1EB9,-1,Player.Backpack.Serial)
        Misc.Pause(1100)
        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(0x097F,-1)
    while countTwo < 3:
        tinkerTool = Items.FindByID(0x1EB9,-1,Player.Backpack.Serial)
        Misc.Pause(1100)
        Items.UseItem(tinkerTool)
        Gumps.WaitForGump(460, 10000)
        Gumps.SendAction(460, 26)
        Misc.Pause(1500)
        countTwo = Items.BackpackCount(0x097F,-1)
        Misc.SendMessage('I have {} skillets in my bag'.format(countTwo),48)

Player.UseSkill('Hiding')
Misc.Pause(11000)


def makeLast(skill, item, itemName):
    Cooking = Player.GetSkillValue('Cooking')
    skillet = Items.FindByID(0x097F,-1,Player.Backpack.Serial)
    Items.UseItem(skillet)
    while Cooking < skill and Cooking != Player.GetSkillCap('Cooking'):
        Cooking = Player.GetSkillValue('Cooking')
        if Cooking < 75:
            checkFlour()
        if Cooking >= 75:
            checkFish()
        Gumps.WaitForGump(460, 1500)
        Gumps.SendAction(460, 1999)
        Misc.Pause(500)
        Misc.SendMessage('Making {}'.format(itemName),48)
        
        if Journal.Search('You have worn out') == True:
            Journal.Clear()
            checkTools()
            Misc.Pause(100)
            skillet = Items.FindByID(0x097F,-1,Player.Backpack.Serial)
            Items.UseItem(skillet)
           
        if Items.BackpackCount(item,-1) > 20:
            craft = Items.FindByID(item,-1,Player.Backpack.Serial)
            Items.Move(craft,stoCont,0)
            Misc.Pause(1100)
            Misc.SendMessage('Moving',48)
            
def checkFlour():
    if Items.BackpackCount(0x103A,0x0000) < 1:
        global stoCont
        Misc.SendMessage('Getting Resources',48)
        Misc.Pause(1100)
        resource = Items.FindByID(0x1039,0x0000,stoCont)
        Misc.Pause(100)
        Items.Move(resource,Player.Backpack.Serial,5)
        Misc.Pause(1100)
        while Items.BackpackCount(0x1039,-1) > 0:
            unopenBag = Items.FindByID(0x1039,-1,Player.Backpack.Serial)
            Misc.Pause(100)
            Items.UseItem(unopenBag)
            Misc.Pause(1000)
        
def checkFish():
    if Items.BackpackCount(0x097A,0x0000) < 10:
        global stoCont
        Misc.SendMessage('I like fishes 'cause they're so delicious!!',48)
        Misc.Pause(1100)
        resource = Items.FindByID(0x097A,0x0000,stoCont)
        Misc.Pause(100)
        Items.Move(resource,Player.Backpack.Serial,500)
        Misc.Pause(1100)        
                
def selectCraft():
    Misc.Pause(2000)
    Cooking = Player.GetSkillValue('Cooking')
    if Cooking < 75:
        makeFirst(0x103D, 'dough', 2, 0x103D, 75)
        
    if Cooking >= 75 and Cooking < 100:
        makeFirst(0x103D, 'miso soup', 32, 0x284D, 100)    

    if Cooking == Player.GetSkillCap('Cooking'):
        lastCraft = Items.FindByID(0x284D,-1,Player.Backpack.Serial)
        if lastCraft:
            Items.Move(lastCraft,stoCont,0)
            Misc.Pause(1100)
            Misc.SendMessage('Moving',48)
            Misc.Pause(500)
        Misc.SendMessage('You have reached your skill cap.',48)    
        Misc.ScriptStopAll()
        
    Misc.Pause(1100)
        
def makeFirst(lastcraft, itemName, gumpButton, itemID, maxSkill):
    lastCraft = Items.FindByID(lastcraft, -1, Player.Backpack.Serial)
    if lastCraft:
        Items.Move(lastCraft,stoCont,0)
        Misc.Pause(1100)
        Misc.SendMessage('Moving',48)
        Misc.Pause(500)
    Cooking = Player.GetSkillValue('Cooking')
    if Cooking < 75:
        checkFlour()
    if Cooking >= 75:
        checkFish()
    checkTools()
    Misc.SendMessage('Making {}'.format(itemName),48)
    skillet = Items.FindByID(0x097F,-1,Player.Backpack.Serial)
    Items.UseItem(skillet)
    Gumps.WaitForGump(460, 10000)
    Gumps.SendAction(460, gumpButton)   
    makeLast(maxSkill, itemID, itemName)
    Misc.Pause(100)        


while True:
    selectCraft()
cooking.txt · Last modified: 2020/08/23 15:28 (external edit)