//===== eAthena Script ======================================= //= Gunslinger Job Quest //===== By: ================================================== //= erKURITA & RockmanEXE //= Direct credits quote from RockmanExe: //= "info provided by RockmanEXE cause he pwnz0rz yer arse" //= DON'T REMOVE THIS! (by request of him, he provided all //= the info regarding the quests and shops.) //===== Current Version: ===================================== //= 1.8 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= "Semi" Official Gunslinger Quest ~ The text isn't the same //= but it does the things it has to do :P //===== Additional Comments: ================================= //= 1.0 Made the NPC [erKURITA] //= 1.5 Couple fixes to the npc, aswell as adding the missing //= 3 green herbs. [erKURITA] //= 1.6 job number->const, commonized variable name, //= optimized [Lupus] //= 1.7 Now uses only ONE variable GUNS_Q [Lupus] //= 1.7a Grammar fixes, few spelling fixes, etc [CBMaster] //= 1.7b Parenthesis fixes [KarLaeda] //= 1.8 Fixed the reward you can get [Playtester] //= 1.9 Removed some 'clever' script constructs [ultramage] //============================================================ que_ng,152,167,3 script Gunslinger Jobchanger 901,{ set .@npcname$, "[Armsmith]"; if (Class == Job_Novice) { if (GUNS_Q >= 1) { mes .@npcname$; mes "So, you've come back?"; next; if (GUNS_Q == 10005) { if (SkillPoint > 0) { mes .@npcname$; mes "Err, excuse me, but you still have Skill Points left. You have to use them all before I can turn you into a Gunslinger."; close; } else if (JobLevel < 10) { mes .@npcname$; mes "Err, excuse me, but your job level is not sufficient. You need to have a job level of 10 in order to change to a Gunslinger"; close; } mes .@npcname$; mes "Glad to know you did what Mr. Tanieh asked you to do, makes me know you're worthy of being.."; next; mes .@npcname$; mes "A Gunslinger!!"; callfunc "Job_Change",Job_Gunslinger; callfunc "F_ClearJobVar"; //clears all job variables for the current player next; mes .@npcname$; mes "Oh, I forgot, here's a token of my appreciation"; if (rand(1,3) < 3) { getitem 13100,1; } else { getitem 13150,1; } close; } mes .@npcname$; mes "But you still haven't done what I told you, need me to repeat it?"; switch (select ("Yes, Please:No, Thanks")) { case 1: next; mes .@npcname$; mes "You need to go to Payon. At the small wooden wall and in the south exit, Mr. Tanieh will be there waiting to ask you a few things. Go now..."; close; case 2: next; mes .@npcname$; mes "Then GET GOING! You do want to become a Gunslinger, right?"; close; } } mes .@npcname$; mes "Hi ^0000CC"+strcharinfo(0)+"^000000,I need you to do something for me first, will you?"; switch (select ("Yes:No")) { case 1: next; mes .@npcname$; mes "Good, I need you to go to Payon and do a few things from Mr. Tanieh."; next; mes .@npcname$; mes "He'll be waiting for you next to the small wooden wall of the south exit. See you later then."; set GUNS_Q,1; close; case 2: next; mes .@npcname$; mes "Too bad for you son. Come back when you are willing to do so."; close; } } mes .@npcname$; mes "Hi son, how's life treating you?"; close; } payon,184,65,3 script Mr. Tanieh 866,{ set .@npcname$, "[Mr. Tanieh]"; if (GUNS_Q == 1) { mes .@npcname$; mes "Oh, you're ^0000CC"+strcharinfo(0)+"^000000, right? Einbroch's Armsmith told me you were going to help me with a few things."; next; mes .@npcname$; mes "I need to make a special soup for my wife, but, as you can see, I am not in conditions to look for the items, she's sick you know?"; next; mes .@npcname$; mes "So, will you do it, please?"; switch (select ("Yes, I will:Sorry I can't now")) { case 1: set GUNS_Q,callfunc("F_RandMes",4,1019,1066,1067,1068); goto L_LIST; case 2: next; mes .@npcname$; mes "Oh, what am I going to do now..."; close; } } else if (GUNS_Q > 1 && GUNS_Q < 10000) { mes .@npcname$; mes "Oh, you've come back! Have you brought the items?"; next; switch (select("Yes I did:No I forgot which items I had to bring")) { case 1: next; if (countitem(949) < 3) { mes .@npcname$; mes "Sorry, you're missing a few Feathers"; close; } else if (countitem(912) < 3) { mes .@npcname$; mes "Sorry, you're missing a few Zargons"; close; } else if (countitem(1013) < 3) { mes .@npcname$; mes "Sorry, you're missing a few Rainbow Shells"; close; } else if (countitem(GUNS_Q) < 1) { mes .@npcname$; mes "Sorry, you don't have the exact Trunk"; close; } else if (countitem(511) < 3) { mes .@npcname$; mes "Sorry, you're missing a few Green Herbs"; close; } else if (countitem(935) < 10) { mes .@npcname$; mes "Sorry, you're missing a few Shells"; close; } mes .@npcname$; mes "GREAT! You brought them all! Thanks very much!"; delitem 949,3; delitem 912,3; delitem 1013,3; delitem GUNS_Q,1; //here we keep Trunk ID delitem 935,10; delitem 511,3; next; mes .@npcname$; mes "Oh my, you've been of great help. I'll recommend you to the Einbroch Armory for your job change."; set GUNS_Q,10003; close; case 2: L_LIST: next; mes .@npcname$; mes "Ok, I'll tell you again, so please take note!:"; mes "^33CCFF 3 Feathers^000000"; mes "^009933 3 Zargons^000000"; mes "^660066 3 Rainbow Shells^000000"; mes "^009900 3 Green Herbs^000000"; mes "^663300 1 "+getitemname(GUNS_Q)+"^000000"; mes "^FF6600 10 Shells^000000"; next; mes .@npcname$; mes "Hurry please, I am not sure if my wife will last any longer... oh dear.."; close; } } else if (GUNS_Q == 10003 || GUNS_Q == 10004) { if (countitem(519) >= 1 && GUNS_Q == 10004) { mes .@npcname$; mes "THAT'S IT!! I was missing the Milk! Oh yes, thanks so much, will you give it to me?"; switch(select("Sure, take it:Sorry but I need it")) { case 1: next; mes .@npcname$; mes "Thanks so much! Go talk again with the Einbroch Armsmith. He'll change you. Thanks again and see you."; delitem 519,1; set GUNS_Q,10005; close; case 2: next; mes .@npcname$; mes "Oh please, I need it so much, think about it please..."; close; } } mes .@npcname$; mes "*sigh* Now I have to wait again... Thanks for your help... but I believe there's something missing.."; set GUNS_Q,10004; close; } else if (Class == Job_Gunslinger || GUNS_Q == 10005) { mes .@npcname$; mes "Hi ^0000CC"+strcharinfo(0)+"^000000!, how have you been doing? My wife sends you regards and thanks for the ingredients..."; close; } mes .@npcname$; mes "Hi son, how's life treating you? Nice day, isn't it?"; close; }