123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600 |
- //===== 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;
- }
|