diff options
author | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-06-27 03:35:38 +0000 |
---|---|---|
committer | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-06-27 03:35:38 +0000 |
commit | 7e9dc178ce45d14b6b29a880f5b0c02143d91236 (patch) | |
tree | d08c6225a390dd2e3edc7c5791c87312c9ac637e /npc/merchants | |
parent | cd9523853d03d6b341219801af8a1d44635ac825 (diff) | |
download | hercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.tar.gz hercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.tar.bz2 hercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.tar.xz hercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.zip |
* Rev 10815 Updated NPC for Payon.
- Added in the comeplete fortune teller.
- Rewrote the Arrow quiver and Gemstone trader NPCs.
Moved the Gemstone trader intot he '/merchants' folder.
- Updated the information for the Payon Inn accordingly.
* Removed an NPC from the Lighthalzen quests. Should fix the
"NPC not removed." message when reloading scripts. .Removed
because I couldn't find this NPC anywhere it he official file.
* Fixed a few over-looked names in the Kafra teleport function.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10815 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/merchants')
-rw-r--r-- | npc/merchants/gemstone.txt | 116 | ||||
-rw-r--r-- | npc/merchants/inn.txt | 9 | ||||
-rw-r--r-- | npc/merchants/quivers.txt | 268 |
3 files changed, 269 insertions, 124 deletions
diff --git a/npc/merchants/gemstone.txt b/npc/merchants/gemstone.txt new file mode 100644 index 000000000..de3deb518 --- /dev/null +++ b/npc/merchants/gemstone.txt @@ -0,0 +1,116 @@ +//===== eAthena Script =======================================
+//= Gemstone trader
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAhena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Trade various colors of gemstones for other color gemstones.
+//===== Additional Comments: =================================
+//= 1.0 Rescripted to Aegis 10.3 standards. [L0ne_W0lf]
+//= Any notes pertaining to the prior trader may be found
+//= in the cities/payon.txt
+//============================================================
+
+payon,173,238,5 script Jade 754,{
+ //Ensure the player can hold at least one item
+ //set max_max_c,CheckMaxCount;
+ //if (max_max_c == 1) {
+ // mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000";
+ // close;
+ //}
+ mes "[Jade]";
+ mes "Bring me two";
+ mes "Gemstones of the";
+ mes "same color, and I will";
+ mes "change them to Gemstones";
+ mes "of a different color.";
+ next;
+ switch(select("Blue Gemstones into Red ones!:Red Gemstones into Yellow ones!:Yellow Gemstones into Blue ones!")) {
+ case 1: callsub S_TradeGems,717,716;
+ case 2: callsub S_TradeGems,716,715;
+ case 3: callsub S_TradeGems,715,717;
+ }
+
+S_TradeGems:
+ if (countitem(getarg(0)) < 2) {
+ mes "[Jade]";
+ mes "Hah...!";
+ mes "You're kidding me, right?";
+ mes "I can't provide you with this";
+ mes "service if you don't";
+ mes "give me at least";
+ mes "2 "+getitemname(getarg(0))+"s!";
+ close;
+ }
+ else {
+ set .@gems,countitem(getarg(0))/2;
+ mes "[Jade]";
+ mes "I believe I can create";
+ mes "a total of " + .@gems + " " + getitemname(getarg(1)) + "s";
+ mes "using the "+getitemname(getarg(0))+"s";
+ mes "that you currently have.";
+ mes "What do you want to do?";
+ next;
+ switch(select("Give me as many as you can.:I want to set the amount.:I quit.")) {
+ case 1:
+ delitem getarg(0),.@gems * 2;
+ getitem getarg(1),.@gems;
+ mes "[Jade]";
+ mes "There you go.";
+ mes "Feel free to come";
+ mes "back any time.";
+ mes "Hm, what's that look for?";
+ mes "Is there something on my face?";
+ close;
+ case 2:
+ mes "[Jade]";
+ mes "So how many";
+ mes "do you want?";
+ mes "The maximum number";
+ mes "that you can enter is 100.";
+ next;
+ while(1) {
+ input .@input;
+ if (.@input == 0) {
+ mes "[Jade]";
+ mes "None at all?";
+ mes "I guess you";
+ mes "changed your mind...";
+ close;
+ }
+ else if (.@input > 100) {
+ mes "[Jade]";
+ mes "Errm...";
+ mes "I asked you to enter";
+ mes "an amount no greater";
+ mes "than 100, remember...?";
+ next;
+ }
+ else {
+ break;
+ }
+ }
+
+ if (.@gems > .@input) {
+ delitem getarg(0),.@input * 2;
+ getitem getarg(1),.@input;
+ mes "[Jade]";
+ mes "There you go.";
+ mes "Feel free to come";
+ mes "back any time.";
+ mes "Hm, what's that look for?";
+ mes "Is there something on my face?";
+ }
+ close;
+ case 3:
+ mes "[Jade]";
+ mes "Sure, no problem.";
+ mes "Come back any time.";
+ close;
+ }
+ }
+}
\ No newline at end of file diff --git a/npc/merchants/inn.txt b/npc/merchants/inn.txt index 5eef51dc0..d51ceea57 100644 --- a/npc/merchants/inn.txt +++ b/npc/merchants/inn.txt @@ -4,7 +4,7 @@ //= Darkchild (1.1) //= Playtester (1.2) //===== Current Version: ===================================== -//= 1.6 +//= 1.7 //===== Compatible With: ===================================== //= eAthena 1.0+ //===== Description: ========================================= @@ -30,6 +30,7 @@ //= - Removed the Cancel dialog. //= 1.6 More fixed, changed progression of "Rest"ing. //= - Corrected Morroc NPCs. [L0ne_W0lf] +//= 1.7 Corrected Payon NPC. [L0ne_W0lf] //============================================================ @@ -69,10 +70,10 @@ geffen_in,70,64,5 script Inn Maid::Betty 53,{ } //======================= Payon ====================================== -payon_in01,131,62,5 script Inn Maid::SunHee 53,{ +payon_in01,132,62,5 script Inn Employee::Ahee 53,{ - callfunc "F_InnMaid","[Sun Hee]","Payon Inn","payon_in01",132,56; - warp "payon_in01",140,15; end; + callfunc "F_InnMaid","[Employee Ahee]","Payon Inn","payon_in01",136,61; + warp "payon_in01",132,11; end; } //======================== Morocc ==================================== diff --git a/npc/merchants/quivers.txt b/npc/merchants/quivers.txt index a8782c295..f9616fb72 100644 --- a/npc/merchants/quivers.txt +++ b/npc/merchants/quivers.txt @@ -1,151 +1,179 @@ //===== eAthena Script ======================================= //= Arrow Quiver Event //===== By: ================================================== -//= Muad_Dib (Prometheus Project) +//= Muad_Dib (Prometheus Project); L0ne_W0lf //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== -//= eAthena 1.0+ +//= eAthena SVN //===== Description: ========================================= +//= [Aegis COnversion] //= Turns arrows into Arrow Quivers. +// Breakdown of Subroutine "S_BuyQuiver" +// arg(0): Type of Arrow to be packaged (item ID) +// arg(1): How many of each 'getarg(0)' arrow per quiver +// arg(2): The cost of making a 'getarg(0)' quiver. +// arg(3): The quiver given by the NPC. (item ID) //===== Additional Comments: ================================= //= 07/06/05 : Added 1st Version. [Muad_Dib] //= Converted to eAthena format by Dr.Evil //= added prize to quest - 500 Zeny //= Fixed a few spelling errors. [Nexon] //= 1.1 Added Holy Arrow Quivers [Playtester] +//= 1.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= Removed "Holy Arrows" from the list. //============================================================ - -payon_in01,5,134,4 script Inventor Jaax 89,{ +payon_in01,5,134,5 script Inventor Jaax 89,{ + //set max_max_c1,CheckMaxCount; + //if (max_max_c1 == 1) { + // mes "[Inventor Jaax]"; + // mes "Hey, you're carrying"; + // mes "way too much stuff. Why don't you stash it away in Kafra Storage? We can talk after you do that, right?"; + // close; + //} + set .@now_weight,MaxWeight-Weight; + if (.@now_weight < 2000) { + mes "[Inventor Jaax]"; + mes "Hey, you're carrying"; + mes "way too much stuff. Why don't you stash it away in Kafra Storage? We can talk after you do that, right?"; + close; + } mes "[Inventor Jaax]"; - mes "My name is Jaax."; + mes "My name is Jaxx."; mes "Without ego, I can"; - mes "sat that I am perhaps the"; - mes "^996600greatest inventor of our time.^000000"; + mes "say that I am perhaps the"; + mes "^663300greatest inventor of our time^000000."; next; - mes "[Inventor Jaax]"; + mes "[Inventor Jaxx]"; mes "This time, I've"; mes "created something"; - mes "truly extraordinary. I call them..."; - mes "^996600Magic Quivers^000000 !! This will be"; - mes "remembered in history as an"; + mes "truly extraordinary. I call them... ^663300Magic Quivers^000000 !! This will be remembered in history as an"; mes "arrow revolution!"; + Emotion e_no1; next; mes "[Inventor Jaax]"; - mes "I've studied magic and quivers for"; - mes "years, working night and day until"; - mes "I finally figured out how to condense"; - mes "arrows with magic! With magic"; - mes "quivers, you'll be carrying more"; - mes "arrows, but with less weight!"; + mes "I've studied magic and quivers for years, working night and day until I finally figured how to condense arrows with magic! With magic quivers, you'll be carrying more arrows, but with less weight!"; next; mes "[Inventor Jaax]"; - mes "Would you like to try using one of"; - mes "my arrow quivers? I have no doubt"; - mes "that someone like you can"; - mes "appreciate my genius!"; + mes "Would you like to try using one of my arrow quivers? I have no doubt that someone like you can appreciate my genius!"; next; + switch(select("Quiver:Iron Arrow Quiver:Steel Arrow Quiver:Oridecon Arrow Quiver:Fire Arrow Quiver:Silver Arrow Quiver:Wind Arrow Quiver:Stone Arrow Quiver:Crystal Arrow Quiver:Shadow Arrow Quiver:Immaterial Arrow Quiver:Rusty Arrow Quiver")) { + case 1: callsub S_BuyQuiver,1750,500,500,12004; + case 2: callsub S_BuyQuiver,1770,500,500,12005; + case 3: callsub S_BuyQuiver,1753,500,500,12006; + case 4: callsub S_BuyQuiver,1765,500,500,12007; + case 5: callsub S_BuyQuiver,1752,500,500,12008; + case 6: callsub S_BuyQuiver,1751,500,500,12009; + case 7: callsub S_BuyQuiver,1755,500,500,12010; + case 8: callsub S_BuyQuiver,1756,500,500,12011; + case 9: callsub S_BuyQuiver,1754,500,500,12012; + case 10: callsub S_BuyQuiver,1767,500,500,12013; + case 11: callsub S_BuyQuiver,1757,500,500,12014; + case 12: callsub S_BuyQuiver,1762,500,500,12015; + } + //This doesn't seem to be accessable... + //mes "[Inventor Jaax]"; + //mes "Is there"; + //mes "anything you want?"; + //close; - menu "Arrow Quiver",-,"Iron Arrow Quiver",Q2,"Steel Arrow Quiver",Q3,"Oridecon Arrow Quiver",Q4,"Fire Arrow Quiver",Q5,"Silver Arrow Quiver",Q6,"Wind Arrow Quiver",Q7,"Stone Arrow Quiver",Q8,"Crystal Arrow Quiver",Q9,"Shadow Arrow Quiver",Q10,"Immaterial Arrow Quiver",Q11,"Rusty Arrow Quiver",Q12,"Holy Arrow Quiver",Q13; - -// Arguments -//=========== - callsub sF_Make, 1750,500,12004, "Arrow Quiver"; - goto M_Menu; -Q2: - callsub sF_Make, 1770,500,12005, "Iron Arrow Quiver"; - goto M_Menu; -Q3: - callsub sF_Make, 1753,500,12006, "Steel Arrow Quiver"; - goto M_Menu; -Q4: - callsub sF_Make, 1765,500,12007, "Oridecon Arrow Quiver"; - goto M_Menu; -Q5: - callsub sF_Make, 1752,500,12008, "Fire Arrow Quiver"; - goto M_Menu; -Q6: - callsub sF_Make, 1751,500,12009, "Silver Arrow Quiver"; - goto M_Menu; -Q7: - callsub sF_Make, 1755,500,12010, "Wind Arrow Quiver"; - goto M_Menu; -Q8: - callsub sF_Make, 1756,500,12011, "Stone Arrow Quiver"; - goto M_Menu; -Q9: - callsub sF_Make, 1754,500,12012, "Crystal Arrow Quiver"; - goto M_Menu; -Q10: - callsub sF_Make, 1767,500,12013, "Shadow Arrow Quiver"; - goto M_Menu; -Q11: - callsub sF_Make, 1757,500,12014, "Immaterial Arrow Quiver"; - goto M_Menu; -Q12: - callsub sF_Make, 1762,500,12015, "Rusty Arrow Quiver"; - goto M_Menu; -Q13: - callsub sF_Make, 1772,500,12183, "Holy Arrow Quiver"; - goto M_Menu; - -// Subfunction for making quivers -//================================ -sF_Make: - set @arrownum,500; - if(countitem(getarg(0)) < @arrownum) goto L_NdArrows; - if(Zeny < getarg(1)) goto L_NdZeny; - mes "[Inventor Jaax]"; - mes "What do you want me to do?"; - next; - menu "Give me as many as you can.",-, "I want to set the amount.",sM_0b, "Nevermind",M_End; - - set @amount,100; - if(zeny/getarg(1) < @amount) set @amount, zeny/getarg(1); - if(countitem(getarg(0))/@arrownum < @amount) set @amount, countitem(getarg(0))/@arrownum; - if(@amount > 0) goto L_End; +S_BuyQuiver: + if (countitem(getarg(0)) > 499) { mes "[Inventor Jaax]"; - mes "Jeez... you don't even have the right items....."; - close; - - sM_0b: - input @amount; - if(@amount<1 || @amount>100) goto L_BadAmnt; - if(countitem(getarg(0))/@arrownum < @amount) goto L_NdArrows; - if(Zeny < (getarg(1)*@amount)) goto L_NdZeny; - - L_End: - set Zeny, Zeny - (getarg(1)*@amount); - delitem getarg(0), (@amount*@arrownum); - getitem getarg(2), @amount; + mes "Excellent!"; + mes "Are you carrying any Arrows with you? I'll provide you with a quiver that can carry "+getarg(1)+" of your "+getitemname(getarg(0))+"s for only ^FF3131"+getarg(2)+" Zeny^000000."; + next; + switch(select("Store as many Arrows in quivers as possible:Purchase 1 quiver:Cancel")) { + case 1: + set .@arrows,countitem(getarg(0)); + set .@quiver,.@arrows / getarg(1); + set .@arrows_used,.@quiver * getarg(1); + set .@arrow_zeny01,.@quiver * getarg(2); + mes "Number of"; + mes "Arrows: ^3131FF"+.@arrows+" ^000000"; + mes "Maximum Number"; + mes "of Purchasable"; + mes "Quivers: ^3131FF"+.@quiver+" ^000000"; + mes "Zeny required: ^3131FF"+.@arrow_zeny01+" Zeny^000000"; + next; + mes "[Inventor Jaax]"; + mes "Would you like to"; + mes "buy as many Quivers"; + mes "as you can for the Arrows"; + mes "you are currently carrying?"; + next; + if (select("Yes:Cancel") == 1) { + if (.@arrow_zeny01 < Zeny) { + mes "[Inventor Jaax]"; + mes "There you go!"; + mes "Just remember, ^FF0000you won't be able to use the Quiver when your carried weight is 90% of your maximum weight limit^000000."; + set zeny,zeny-.@arrow_zeny01; + delitem getarg(0),.@arrows_used; //Arrow + getitem getarg(3),.@quiver; //Quiver + next; + mes "[Inventor Jaax]"; + mes "So..."; + mes "Just keep track"; + mes "of how much you're"; + mes "carrying from time"; + mes "to time and you should"; + mes "be alright."; + close; + } + else { + mes "[Inventor Jaax]"; + mes "I'm sorry, but you don't have enough Zeny. I can't just give these away after working years"; + mes "to develop this revolutionary technology!"; + close; + } + } + mes "[Inventor Jaax]"; + mes "You changed your mind?"; + mes "When the glory of owning"; + mes "a quiver is so close?"; + close; + case 2: + if (zeny > getarg(2)) { + mes "[Inventor Jaax]"; + mes "There you go!"; + mes "Just remember, ^FF0000you won't be able to use the Quiver when your carried weight is 90% of your maximum weight limit^000000."; + set zeny,zeny-getarg(2); + delitem getarg(0),getarg(1); //Arrow + getitem getarg(3),1; //Quiver + next; + mes "[Inventor Jaax]"; + mes "So..."; + mes "Just keep track"; + mes "of how much you're"; + mes "carrying from time"; + mes "to time and you should"; + mes "be alright."; + close; + } + else { + mes "[Inventor Jaax]"; + mes "You don't even"; + mes "have "+getarg(2)+" Zeny?"; + mes "I'm so sorry. I had no"; + mes "idea that you were so..."; + mes "^333333Destitute^000000."; + close; + } + case 3: + mes "[Inventor Jaax]"; + mes "What...?"; + mes "Do you not see that this invention can forever change the way Arrows are carried?! The future is now!"; + close; + } + } + else { mes "[Inventor Jaax]"; - mes "There you go~!"; - mes "Here are your " +getarg(3)+ "."; - close; - - L_NdArrows: - mes "[Inventor Jaax]"; - mes "Sorry, but you need 500 Arrows and 500 Zeny to make 1 Arrow Quiver."; - close; - - L_NdZeny: - mes "[Inventor Jaax]"; - mes "You don't have enough zeny for that many."; - close; - - L_BadAmnt: + mes "You can carry a maximum of 500 Arrows within this quiver. It was made using my secret method,"; + mes "so the total weight of the Arrows and Quiver is less than carrying the Arrows alone."; + next; mes "[Inventor Jaax]"; - mes "Please choose a number between 1 and 100."; + mes "It's a miracle of science! One that you can experience for yourself if you bring me at least 500 Arrows and 500 Zeny for each Quiver."; close; - -L_Come: - mes "[Inventor Jaax]"; - mes "Please, come again whenever you want too."; - close; -M_End: - mes "[Inventor Jaax]"; - mes "Sure, no problem."; - mes "Come back any time."; - close; -} + } +}
\ No newline at end of file |