//===== eAthena Script ======================================= //= Cooking Quest //===== By: ================================================== //= Reddozen //===== Current Version: ===================================== //= 1.5a //===== Compatible With: ===================================== //= eAthena 1.0+ //===== Description: ========================================= //= Official Cooking Quest //===== Additional Comments: ================================= //= 1.1 Fixed wrong item ID, added missing ";, optimized [Lupus] //= 1.1a minor bugfix, thx 2 Irmin [Lupus] //= 1.2 Fixed exploit, some typos [Lupus] //= 1.3 Fixed wrong label [Lupus] 1.3a updated to Reddozen's changes //= 1.3b Fixed wrong id, fixed Puch quest, added more Pouch Quest //= dialogues [Lupus] //= 1.4 Fixed spelling, added some dialoguesm optimized //= fixed bugs. Tested, fully working [Lupus] //= 1.5 More fixes [Lupus] //============================================================ prt_castle.gat,43,30,6 script Chef Apprentice 878,{ mes "[Chef's Apprentice]"; if(cooking == 1) goto L_Remind; if(cooking == 2){ mes "I see you passed the test."; mes "Good job!"; next; mes "[Chef's Apprentice]"; mes "This book would be quite helpful for a novice chef."; getitem 7472, 1;//Items: Lv1 Cookbook, set cook_book, 7472; set cooking, 3; close; } if(cooking == 3){ mes "Hi there. Is there something"; mes "that I can help you with?"; next; menu "Buy Supplies",M_BuySupply, "Talk about cooking",L_Cook_Talk, "Leave",L_No_Talk; M_BuySupply: mes "[Chef's Apprentice]"; mes "Outdoor Cooking Set - 500z each"; mes " How many?"; input @amount; if(@amount < 1) goto ER_Invalid; if(@amount > 100) goto ER_TooMuch; if(@amount*500 > Zeny) goto ER_Zeny; set Zeny, Zeny-(@amount*500); getitem 12125, @amount;//Items: Outdoor Cooker, next; mes "[Chef's Apprentice]"; mes "Enjoy!"; close; L_Cook_Talk: mes "[Chef's Apprentice]"; mes "You passed the test,"; mes "but were your results"; mes "worth while?"; next; menu "Taste my food",-, "No, it was horrible",L_Taste_End; mes "[Chef's Apprentice]"; mes "I don't know about that."; mes "It may not be safe..."; next; menu "Please taste it",-, "You're probably right",L_Taste_End; mes "[Chef's Apprentice]"; mes "Why would I want to try"; mes "the food of a novice chef?"; next; menu "Please try",-, "Yeah, I'm too new at this",L_Taste_End; mes "[Chef's Apprentice]"; mes "I'll make a deal with you."; mes "if you cook me one of every"; mes "Lv 1 food, then I'll try"; mes "your Cooking..."; next; menu "Agree",-, "Refuse",L_Taste_End; mes "[Chef's Apprentice]"; mes "You'll need to make all"; mes "six foods. Let me know"; mes "when you're finished."; set cooking, 4; close; L_Taste_End: mes "[Chef's Apprentice]"; mes "Come back when you feel"; mes "more confident."; close; L_No_Talk: mes "[Chef's Apprentice]"; mes "Come back to vist anytime!"; mes "Have a good day."; close; } if(cooking == 4){ if(countitem(12056) && countitem(12061) && countitem(12046) && countitem(12066) && countitem(12041) && countitem(12051)) {//Items: Frog Spawn Soup, Grape Juice with Honey, Grape Juice and Tea, Fried Monkey Tail, Boiled Locust, Steamed Crab Pincer, delitem 12056, 1;//Items: Frog Spawn Soup, delitem 12061, 1;//Items: Grape Juice with Honey, delitem 12046, 1;//Items: Grape Juice and Tea, delitem 12066, 1;//Items: Fried Monkey Tail, delitem 12041, 1;//Items: Boiled Locust, delitem 12051, 1;//Items: Steamed Crab Pincer, mes "What!? Through already?"; mes "Let me see what you've made"; next; mes "[Chef's Apprentice]"; mes "Great job, but there's"; mes "still one thing that I need"; mes "you to do. Talk to a friend"; mes "of mine in Payon. We used"; mes "to study together."; next; mes "[Chef's Apprentice]"; mes "Take him this ^000080Leather Pouch^000000,"; mes "and I'll put in a good word"; mes "for you with my teacher."; getitem 7432, 1;//Items: Leather Pouch, set cooking, 5; } else { mes "Please come back when you've cooked"; mes "all the Lv 1 foods."; next; menu "Buy Supplies",M_BuySupply, "Leave",L_No_Talk; } close; } if(cooking == 5){ mes "Please, don't forget to"; mes "hand my ^000080Leather Pouch^000000"; mes "to my friend in Payon."; next; mes "[Chef's Apprentice]"; mes "Well... Is there something"; mes "that I can help you with?"; next; menu "Buy Supplies",-, "Leave",L_No_Talk2; mes "[Chef's Apprentice]"; mes "Outdoor Cooking Set - 500z each."; mes " How many?"; input @amount; if(@amount < 1) goto ER_Invalid; if(@amount > 100) goto ER_TooMuch; if(@amount*500 > Zeny) goto ER_Zeny; set Zeny, Zeny-(@amount*500); getitem 12125, @amount;//Items: Outdoor Cooker, next; mes "[Chef's Apprentice]"; mes "Enjoy!"; close; L_No_Talk2: mes "[Chef's Apprentice]"; mes "Come back to vist anytime!"; mes "Have a good day."; close; } if(cooking == 6){ mes "Thank you for taking that"; mes "pouch to my friend! Take"; mes "this as a gift."; set cooking, 7; getitem 12126, 10;//Items: Home Cooking Set, next; mes "[Chef's Apprentice]"; mes "Come back later if you"; mes "need anything else!"; close; } if(cooking == 7){ mes "Welcome back. What"; mes "would you like to do?"; next; menu "Buy Supplies",-, "Just visiting",L_Leave3; mes "[Chef's Apprentice]"; mes "What would you like?"; next; menu "Outdoor Cooking Set - 500z each",-, "Home Cooking Set - 1,000z",L_HomeCooking, "Never Mind",L_Leave3; set @price, 500; set @tool, 12125; goto L_Cooking_Tools4; L_HomeCooking: set @price, 1000; set @tool, 12126; L_Cooking_Tools4: mes "[Chef's Apprentice]"; mes " How many?"; input @amount; if(@amount < 1) goto ER_Invalid; if(@amount > 100) goto ER_TooMuch; if(@amount*@price > Zeny) goto ER_Zeny; set Zeny, Zeny-(@amount*@price); getitem @tool, @amount; next; mes "[Chef's Apprentice]"; mes "Enjoy!"; close; L_Leave3: mes "[Chef's Apprentice]"; mes "Come back to vist anytime!"; mes "Have a good day."; close; } mes "Hi there. What can I"; mes "do for you?"; next; menu "Just looking around",-, "I want to learn to cook",ap_2; mes "[Chef's Apprentice]"; mes "Feel free to look around"; mes "as much as you like."; mes "Just don't disturb my"; mes "teacher."; close; ap_2: if(baseLevel < 50){ mes "[Chef's Apprentice]"; mes "You should train a little"; mes "more before trying something"; mes "as hard as cooking"; close; } set cooking, 1; mes "[Chef's Apprentice]"; L_Remind: mes "So you want to learn to"; mes "cook huh? Well, if you"; mes "think you can handle it,"; mes "just talk to my teacher."; next; mes "[Chef's Apprentice]"; mes "Just don't forget your"; mes "^000080Chef's Hat^000000 or Sharle"; mes "will yell at you."; close; ER_Zeny: next; mes "[Chef's Apprentice]"; mes "You don't have enough zeny."; close; ER_TooMuch: next; mes "[Chef's Apprentice]"; mes "You can't by that much at a time!."; mes "You don't have to buy it all at once."; close; ER_Invalid: next; mes "[Chef's Apprentice]"; mes "You can't buy negative amounts of cooking"; mes "equipment. Please buy a valid amount."; close; } payon.gat,209,127,4 script Cooking Friend 88,{ mes "[Cooking Friend]"; if(cooking == 5){ if(countitem(7432)) { delitem 7432, 1;//Items: Leather Pouch, mes "I see my friend sent you"; mes "to give me something."; set cooking, 6; emotion e_thx; } else { mes "What? My friend sent you"; mes "just to say Hello?"; emotion e_hmm; } mes "Thank you for your"; mes "trouble. Tell him I said,"; mes "Hello."; close; } mes "Hello, how are you?"; close; } prt_castle.gat,45,35,4 script Sharle 886,{ mes "[Sharle]"; if(cooking && getequipid(1) != 5026) goto L_No_Uniform; //Item: Chef's Hat if(cooking == 7)goto L_Cooking_7; if(first_cooking)goto L_First_Cooking; if(cooking == 1){ mes "So you want to learn how to cook?"; next; menu "Yes",M_GetQuest, "No",M_End; } mes "What a great day to bake some"; mes "wonderfull treats!"; close; M_GetQuest: mes "[Sharle]"; mes "Ok. Let's try to cook something together."; set first_cooking,rand(1,6); L_First_Cooking: mes "I'm lack of special ingredients,"; mes "bring me:"; if(first_cooking == 1){ set @item1, 577; set @item1a, 1; set @item2, 908; set @item2a, 10; set @item3, 1024; set @item3a, 1; set @food1, 12056; mes "1 Grain, 10 Spawn, and"; mes "1 Squid Ink."; } if(first_cooking == 2){ set @item1, 518; set @item1a, 1; set @item2, 514; set @item2a, 2; set @item3, 501; set @item3a, 1; set @food1, 12061; mes "1 Honey, 2 Grapes, and"; mes "1 Red Potion."; } if(first_cooking == 3){ set @item1, 514; set @item1a, 3; set @item2, 501; set @item2a, 2; set @item3, 0; set @item3a, 0; set @food1, 12046; mes "3 Grapes and 2 Red Potions."; } if(first_cooking == 4){ set @item1, 942; set @item1a, 5; set @item2, 7031; set @item2a, 1; set @item3, 7457; set @item3a, 1; set @food1, 12066; mes "5 Yoyo Tails, 1 Old Frying Pan, and"; mes "1 Cooking Oil."; } if(first_cooking == 5){ set @item1, 940; set @item1a, 5; set @item2, 7031; set @item2a, 1; set @item3, 7457; set @item3a, 1; set @food1, 12041; mes "5 Grasshopper Legs, 1 Old Frying Pan, and"; mes "1 Cooking Oil."; } if(first_cooking == 6){ set @item1, 960; set @item1a, 10; set @item2, 511; set @item2a, 10; set @item3, 503; set @item3a, 1; set @food1, 12051; mes "10 Nippers, 10 Green Herbs, and"; mes "1 Yellow Potion."; } if(countitem(@item1) < @item1a || countitem(@item2) < @item2a || countitem(@item3) < @item3a) close; delitem @item1, @item1a; delitem @item2, @item2a; delitem @item3, @item3a; next; set cooking, 2; mes "[Sharle]"; mes "Great Job!"; mes "You can now purchase"; mes "Outdoor Cooking Sets."; getitem @food1, 1; set first_cooking, 0; close; L_Cooking_7: mes "Would you like to check"; mes "out my ^800000Cookbooks^000000?"; next; menu "Yes",-, "No", M_End2, "Return Book", M_ReturnBook; mes "[Sharle]"; if(cook_book){ mes "You'll have to give me back the"; mes "first book I loaned you if you"; mes "would like to check out a new book."; mes "Would you like to trade books?"; next; menu "Yes",-, "No",M_End2; if(countitem(cook_book)==0){ mes "What? You don't have the book I loaned you?"; mes "It was a ^800000"+getitemname(cook_book)+"^000000."; emotion e_sry; close; } } mes "[Sharle]"; mes "Which book would you like?"; next; menu "^800000Lv 1 Cookbook",b_1, "Lv 2 Cookbook",b_2, "Lv 3 Cookbook",b_3, "Lv 4 Cookbook",b_4, "Lv 5 Cookbook",b_5, "^000000Leave",M_End2; b_1: mes "[Sharle]"; mes "You will need:"; mes "10 Pumpkins"; next; if(countitem(535) < 10) goto L_No_Items;//Items: Pumpkin, delitem 535, 10;//Items: Pumpkin, set @checkout, 7472; mes "And I see you have"; mes "what you need!"; next; goto b_trade; b_2: mes "[Sharle]"; mes "You will need:"; mes "5 well-baked cookies"; next; if(countitem(538) < 5) goto L_No_Items;//Items: Well-baked Cookie, delitem 538, 5;//Items: Well-baked Cookie, set @checkout, 7473; mes "And I see you have"; mes "what you need!"; next; goto b_trade; b_3: mes "[Sharle]"; mes "You will need:"; mes "5 Sushi"; next; if(countitem(551) < 5) goto L_No_Items;//Items: Sushi, delitem 551, 5;//Items: Sushi, set @checkout, 7474; mes "And I see you have"; mes "what you need!"; next; goto b_trade; b_4: mes "[Sharle]"; mes "You will need:"; mes "5 Baos"; next; if(countitem(553) < 5) goto L_No_Items;//Items: Bao, delitem 553, 5;//Items: Bao, set @checkout, 7475; mes "And I see you have"; mes "what you need!"; next; goto b_trade; b_5: mes "[Sharle]"; mes "You will need:"; mes "10 shoots"; next; if(countitem(711) < 10) goto L_No_Items;//Items: Shoot, delitem 711, 10;//Items: Shoot, set @checkout, 7476; mes "And I see you have"; mes "what you need!"; next; goto b_trade; b_trade: mes "[Sharle]"; mes "If you find you need a new book,"; mes "you're welcome to come back and"; mes "trade."; if(cook_book){ if(countitem(cook_book)==0){ mes "What? You don't have the book I loaned you?"; mes "It was a ^800000"+getitemname(cook_book)+"^000000."; emotion e_sry; close; } delitem cook_book,1; mes "Have fun, and good luck!"; } else { mes "Good luck! I hope you learn a lot!"; } getitem @checkout,1; set cook_book, @checkout; close; M_End: mes "[Sharle]"; mes "That's fine with me, come back"; mes "when you want to cook."; close; M_End2: mes "[Sharle]"; mes "Well, I'm here whenever you'd like"; mes "to learn. Just make sure you're"; mes "ready."; close; M_ReturnBook: if(cook_book == 0){ mes "[Sharle]"; mes "You haven't borrowed any books."; emotion e_hmm; close; } if(countitem(cook_book)==0){ mes "What? You don't have the book I loaned you?"; mes "It was a ^800000"+getitemname(cook_book)+"^000000."; emotion e_sry; close; } delitem cook_book,1; set cook_book, 0; mes "[Sharle]"; mes "Returning the book already?"; mes "did you learn what you wanted"; mes "to know?"; emotion e_what; close; L_No_Items: mes "[Sharle]"; mes "So come back when"; mes "you have the items"; mes "that you need."; close; L_No_Uniform: mes "How dare you disrespect me"; mes "by showing up out of uniform."; mes "Come back when you have your"; mes "uniform on."; emotion e_bzz; close; }