123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 |
- //===== eAthena Script =======================================
- //= Juice Maker Quest
- //===== By: ==================================================
- //= kobra_k88
- //===== Current Version: =====================================
- //= 1.8
- //===== Compatible With: =====================================
- //= eAthena 7.15 +
- //===== Description: =========================================
- //=
- //===== Additional Comments: =================================
- //= Condition if done: (MISC_QUEST & 1)
- //=
- //= 1.1 fixed input number check [Lupus]
- //= 1.2 fixed misplaced Grape<->Carrot juices [Lupus]
- //= 1.3 added a loopless menu 'as many as possible' [Lupus]
- //= 1.3a Turned the juice making part of the Juicer npc into a
- //= subfunc. Changed fruit amount needed to 1.[kobra_k88]
- //= Fixed exploits [Lupus]
- //= 1.6 fixed typo (where did @ipnut came from?) [Lance]
- //= 1.8 got rid of vars: 'MEAT',"MARIANNE","MORRISON"
- //= From now, all common quests start using bits of the
- //= same variable MISC_QUEST [Lupus]
- //============================================================
- // Morrison ------------------------------------------------
- prt_in.gat,47,173,2 script Morrison 97,{
- mes "[Little Morrison]";
- if(MISC_QUEST&1 || @MORRISON > 10) goto L_GoAway;
- if(@MORRISON == 10) goto L_Candy;
- mes "Wahhhhh!!! Wahh... NO more! NO more!";
- mes "I won't... eat anymore stupid ^0000ffFruit^000000 things!!";
- emotion e_sob;
- next;
- menu "Talk",M_Talk,"Cancel",M_End;
- M_Talk:
- if(countitem(517)) goto L_Meat; //Meat
- mes "[Little Morrison]";
- mes "Arhhggg!! I'VE HAD ENOUGH!!! I can't eat anymore ^0000ffFruits^000000! They";
- mes "taste so SOUR..... I have to PEEL them before I can eat them.....";
- mes "they feel sticky and squishy...... it's really ANNOYING!!!!";
- emotion e_wah;
- next;
- mes "[LIttle Morrison]";
- mes "I just HATE FRUIT! I can't even get full off of the stuff.(~sigh~)";
- mes "Give me something more edible..... give me some...... ^ff0000MEAT^000000!!!";
- close;
- L_Meat:
- mes "[Little Morrison]";
- mes "...(sniff)....(sniff)(sniff).... Oh! Is that ^ff0000Meat^000000???";
- emotion e_ic;
- next;
- mes "[Little Morrison]";
- mes "Do you have some ^ff0000Meat^000000?!!!~(drools)~";
- mes "Umm... that yummy smell is making me SOOO HUNGRYYYY!!!l";
- emotion e_rice;
- next;
- mes "[Little Morrison]";
- mes "... Umm... excuse me..... could you give me some of that meat PLEEAASSSE?";
- emotion e_sob;
- next;
- menu "Give him some",sM_Give,"Ignore him",sM_Ignore;
-
- sM_Give:
- if(countitem(517) == 0) goto L_GoAway; //Meat
- delitem 517,1; //Meat
- set @MORRISON,@MORRISON+1;
- mes "[Little Morrison]";
- mes "Whoah~!!! It's real Meat, Meat!";
- mes "Mmmm! It makes my mouth water.";
- mes "Oh thank you. Now I feel happy. Yum Yum...";
- emotion e_awsm;
- close;
- sM_Ignore:
- set @MORRISON,11;
- mes "[Little Morrison]";
- mes "Boo...";
- mes "Boo... Fine... Alright, Alright~!!! Selfish meanie!";
- emotion e_bzz;
- close;
- M_End:
- mes "[Little Morrison]";
- mes "Wahhhh!!! No matter how hard I try, I just can't eat Vegetables";
- mes "or ^0000ffFruit^000000! They're plain disgusting!!";
- emotion e_sob;
- close;
- L_GoAway:
- mes "Pffff... Leave me alone! You DON'T CARE about me! I'm gonna DIE";
- mes "because of these stupid Veggies and Fuits so MIND your own business!";
- emotion e_pif;
- close;
- L_Candy:
- mes "Ah..I am full now. You don't have to feed me any more. I think I";
- mes "am gonna BURST if I keep eating more.";
- next;
- mes "[Little Morrison]";
- mes "And... um... Take this.";
- next;
- getitem 529,3;
- getitem 530,1;
- set @MORRISON,0;
- mes "[Little Morrison]";
- mes "It is from my secret stash of Candy that I hide from my Mom. Since";
- mes "you gave me some Meat, I will give you some candy." ;
- close;
- }
- // Housewife Marianne ---------------------------------------------------
- prt_in.gat,49,172,2 script Housewife Marianne 53,{
- mes "[Housewife Marianne]";
- if(MISC_QUEST&1 || @MORRISON > 10) goto L_Juice;
- if(@MORRISON) goto L_GaveMeat;
- mes "Morrison!! Please eat some fruit will ya? Fruit~!";
- mes "*Sob*~!! Like father like son...";
- emotion e_sob;
- next;
- menu "Talk",M_Talk,"Cancel",M_Cancel;
- close;
- M_Talk:
- mes "[Housewife Marianne]";
- mes "(~Sigh~)...This is Morrison... My one and only son. He's going";
- mes "through some kinda faze and doesn't want to eat any ^0000ffFruits^000000 or";
- mes "vegetables.";
- emotion e_shy;
- next;
- mes "[Housewife Marianne]";
- mes "Look at his face..., it turns sour just hearing about ^0000ffFruit^000000...";
- next;
- mes "[Housewife Marianne]";
- mes "All he wants to eat is but ^ff0000Meat^000000... (sigh)...he needs";
- mes "^0000ffFruits^000000 and vegetables for a proper diet.";
- next;
- M_Cancel:
- mes "[Housewife Marianne]";
- mes "Morrison!! I will get mad at you if you keep doing this!";
- emotion e_bzz;
- close;
-
- L_GaveMeat:
- set @MORRISON,0;
- mes "Oh MY GOD!!... Oh lord...";
- emotion e_omg;
- next;
- mes "[Housewife Marianne]";
- mes "WHAT ARE YOU DOING!! HOW DARE YOU feed my son!! And ^ff0000MEAT^000000 of all things!!!";
- next;
- mes "[Housewife Marianne]";
- mes "Arrrgh~~!! Get Lost right now!!!!!!";
- emotion e_pif;
- close;
- L_Juice:
- mes "Thank you for not giving my son any meat. I'm trying to feed him";
- mes "^0000ffFruits^000000 and vegetables, but this child doesn't want to eat";
- mes "anything except Meat...";
- next;
- mes "[Housewife Marianne]";
- mes "What if I could turn ^0000ffFruits^000000 into a ^0000ffJuice^000000... for example...Orange";
- mes "juice... Would my child like it?";
- emotion e_hmm;
- next;
- mes "[Housewife Marianne]";
- mes "Ah! Now I remember..There is a town where you can get a variety of";
- mes "^0000ffFruit^000000 turned into ^0000ffFruit Juices^000000.";
- emotion e_ic;
- next;
- mes "[Housewife Marianne]";
- mes "... Was is it...^ff0000Payon^000000...or ^ff0000Morroc^000000...?";
- emotion e_hmm;
- set @MORRISON,0;
- set MISC_QUEST,MISC_QUEST | 1;
- close;
- }
- // Juicer Marx Hansen ---------------------------------------------------------
- payon_in03.gat,188,146,5 script Juicer Marx Hansen 86,{
- mes "[Juicer Marx Hansen]";
- if(MISC_QUEST&1) goto L_Juice;
- mes "Welcome to my shop. What brings you here?";
- next;
- menu "Conversation",-,"I am just looking around",M_End;
-
- mes "[Juicer Marx Hansen]";
- mes "In the earliest years of humanity, fruits were the only substanace availble for people to eat.";
- mes "Fruits were vital for survival and without them people faced certain death.";
- mes "During that time Mother Nature was worshiped for her generous offerering.";
- next;
- mes "[Juicer Marx Hansen]";
- mes "Nowadays food is plentifull and it comes in a variety of flavors and forms.";
- mes "With so many other things to eat, fruits aren't consumed as much as they used to be.";
- mes "This is especially true among kids who'd rather eat pizza and candy.";
- next;
- mes "[Juicer Marx Hansen]";
- mes "Because of this I wanted to find a way to make young people realize the importance of fuit.";
- mes "I found that when fruits were turned into juices, they became more digestive and even tasty enough for kids.";
- close;
- M_End:
- mes "[Juicer Marx Hansen]";
- mes "Ok then.";
- close;
- //--------------
- L_Juice:
- //---------
- mes "Welcome to my shop. Are you here to process Fruits like everyone else?";
- next;
- menu "Yes, I am.",M_1a, "How do you make fruit juice?",M_1b, "Nope.",M_1End;
-
- M_1a:
- mes "[Juicer Marx Hansen]";
- mes "So what kind of fruit juice would you like to process?";
- next;
- menu "Apple Juice",sM_1a,"Banana Juice",sM_1b,"Grape Juice",sM_1c,"Carrot Juice",sM_1d,"None.",M_1End;
- sM_1a:
- callsub sF_Make, 512, "apples", 531;
- goto M_1a;
- sM_1b:
- callsub sF_Make, 513, "bananas", 532;
- goto M_1a;
- sM_1c:
- callsub sF_Make, 514, "grapes", 533;
- goto M_1a;
- sM_1d:
- callsub sF_Make, 515, "carrots", 534;
- goto M_1a;
- M_1b:
- mes "[Juicer Marx Hansen]";
- mes "# Fruit Juice Info #";
- mes "- ^FF3355Apple^000000 Juice - Apple x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
- mes "- ^D5A500Banana^000000 Juice - Banana x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
- mes "- ^FF8800Carrot^000000 Juice - Carrot x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
- mes "- ^AA00AAGrape^000000 Juice - Grape x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
- close;
- M_1End:
- mes "[Juicer Marx Hansen]";
- mes "Oh well... see you next time.";
- close;
- // Subfunction for making juice
- //----------------------------------
- sF_Make:
- mes "[Juicer Marx Hansen]";
- mes "How many bottles would you like?";
- next;
- menu "I'll tell you.",M_Tell, "As many as possible",-, "I've changed my mind.",M_1End;
- set @amount,1000; //max possible amount of Juice
- //calc max possible # juices
- if(Zeny/3 < @amount) set @amount, Zeny/3;
- if(countitem(getarg(0)) < @amount) set @amount, countitem(getarg(0));
- if(countitem(713) < @amount) set @amount, countitem(713);
- if(@amount > 0) goto L_Make;
- mes "[Juicer Marx Hansen]";
- mes "Doh! You don't have enough ingredients for a single bottle of juice.";
- emotion e_gasp;
- close;
- M_Tell:
- mes "[Juicer Marx Hansen]";
- mes "Very well then. Enter 0 if you don't want any. Also you cannot";
- mes "buy more than 1000 at a time.";
- next;
- input @amount;
- if(@amount < 1 || @amount > 1000) return;
- if(countitem(getarg(0)) < @amount) goto sL_NoFruits;
- if(countitem(713) < @amount) goto sL_NoBottles;
- if(Zeny < @amount * 3) goto sL_NoZeny;
- L_Make:
- delitem getarg(0), @amount; //del Fruit
- delitem 713, @amount; //del Empty Bottle
- set Zeny, Zeny - @amount * 3;
- getitem getarg(2), @amount; //get Juice
- mes "[Juicer Marx Hansen]";
- mes "Here you are. Take it.";
- close;
- sL_NoFruits:
- mes "[Juicer Marx Hansen]";
- mes "You don't have enough fruit.";
- mes "You need " +@amount+ " " +getarg(1)+ " to make that much juice.";
- next;
- return;
- sL_NoBottles:
- mes "[Juicer Marx Hansen]";
- mes "You don't have enough bottles. You need "+@amount+" empty bottle(s) to make that many juice drinks.";
- next;
- return;
- sL_NoZeny:
- mes "[Juicer Marx Hansen]";
- mes "You don't have enough zeny. You need " +(@amount*3)+ " zeny, to make that many juice drinks.";
- next;
- return;
- }
|