summaryrefslogtreecommitdiff
path: root/npc/merchants/novice_exchange.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/merchants/novice_exchange.txt')
-rw-r--r--npc/merchants/novice_exchange.txt394
1 files changed, 394 insertions, 0 deletions
diff --git a/npc/merchants/novice_exchange.txt b/npc/merchants/novice_exchange.txt
new file mode 100644
index 000000000..61049f805
--- /dev/null
+++ b/npc/merchants/novice_exchange.txt
@@ -0,0 +1,394 @@
+//===== rAthena Script =======================================
+//= Novice Goods Exchanger
+//===== By: ==================================================
+//= ???, rAthena Team
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis COnversion]
+//= Exchanges your Basic Monster drops for Red Potions.
+//===== Additional Comments: =================================
+//= 1.2 Rescripted to Aegis 10.standards. [L0ne_W0lf[
+//= Made it easier to add new items to exhange list
+//= meaning only the exchange is done in a function now.
+//= 1.3 Fixed dialog mix-up in function. [L0ne_W0lf]
+//= 1.4 Added checkweight, and input min/max values. [L0ne_W0lf]
+//============================================================
+
+prontera,123,102,5 script Merchant#pron 85,{
+ set .@now_weight,MaxWeight-Weight;
+ if (.@now_weight < 6301 || checkweight(1201,1) == 0) {
+ mes "[Merchant]";
+ mes "Haha!";
+ mes "What are you, superhuman?";
+ mes "You're carrying so much stuff!";
+ mes "You better put some of that";
+ mes "into Kafra Storage~";
+ close;
+ }
+ mes "[Merchant]";
+ mes "Good day!";
+ mes "Have you collected any";
+ mes "items like Shells or Fluff?";
+ mes "What about Jellopies? Oh yeah,";
+ mes "I need those for something.";
+ next;
+ mes "[Merchant]";
+ mes "Of course, I won't ask you";
+ mes "to give me that stuff for free. What about if I trade a Red Potion for 5 Shells, 10 Fluff,";
+ mes "or 10 Jellopies?";
+ next;
+ switch(select("Sure!:I think it's a rip-off!:No, thanks.")) {
+ case 1:
+ mes "[Merchant]";
+ mes "So which item do";
+ mes "you want to bring me?";
+ mes "Shells, Fluffs, or Jellopies?";
+ next;
+ switch(select("Shells:Jellopies:Fluff:Cancel")) {
+ case 1: callfunc "F_PotExchange",935,5;
+ case 2: callfunc "F_PotExchange",909,10;
+ case 3: callfunc "F_PotExchange",914,10;
+ case 4:
+ mes "[Merchant]";
+ mes "Sure~";
+ mes "No problem.";
+ close;
+ }
+ case 2:
+ mes "[Merchant]";
+ mes "A rip-off...?";
+ mes "If you check the market value";
+ mes "of the items being traded, I'm actually the one getting";
+ mes "ripped off here.";
+ close;
+ case 3:
+ mes "[Merchant]";
+ mes "Alright,";
+ mes "no problem.";
+ mes "But come back to me";
+ mes "if you change your mind.";
+ close;
+ }
+}
+
+morocc,180,259,3 script Merchant#morroc 85,{
+ set .@now_weight,MaxWeight-Weight;
+ if (.@now_weight < 6301 || checkweight(1201,1) == 0) {
+ mes "[Merchant]";
+ mes "Haha!";
+ mes "What are you, superhuman?";
+ mes "You're carrying so much stuff!";
+ mes "You better put some of that";
+ mes "into Kafra Storage~";
+ close;
+ }
+ mes "[Merchant]";
+ mes "Good day!";
+ mes "Have you collected any";
+ mes "Shells or Feathers of Bird?";
+ mes "What about Jellopies? Oh yeah,";
+ mes "I need those for something.";
+ next;
+ mes "[Merchant]";
+ mes "Of course, I won't ask you";
+ mes "to give me that stuff for free. What about if I trade a Red Potion for 5 Shells, 7 Feathers of Bird";
+ mes "or 10 Jellopies?";
+ next;
+ switch(select("Sure!:I think it's a rip-off!:No, thanks.")) {
+ case 1:
+ mes "[Merchant]";
+ mes "So which item do";
+ mes "you want to bring me?";
+ mes "Shells, Feathers of Birds,";
+ mes "or Jellopies?";
+ next;
+ switch(select("Shells:Feathers of Birds:Jellopies:Cancel")) {
+ case 1: callfunc "F_PotExchange",935,5;
+ case 2: callfunc "F_PotExchange",916,7;
+ case 3: callfunc "F_PotExchange",909,10;
+ case 4:
+ mes "[Merchant]";
+ mes "Sure~";
+ mes "No problem.";
+ close;
+ }
+ case 2:
+ mes "[Merchant]";
+ mes "A rip-off...?";
+ mes "If you check the market value";
+ mes "of the items being traded, I'm actually the one getting";
+ mes "ripped off here.";
+ close;
+ case 3:
+ mes "[Merchant]";
+ mes "Alright,";
+ mes "no problem.";
+ mes "But come back to me";
+ mes "if you change your mind.";
+ close;
+ }
+}
+
+payon,200,134,5 script Merchant#pay 85,{
+ set .@now_weight,MaxWeight-Weight;
+ if (.@now_weight < 6301 || checkweight(1201,1) == 0) {
+ mes "[Merchant]";
+ mes "Haha!";
+ mes "What are you, superhuman?";
+ mes "You're carrying so much stuff!";
+ mes "You better put some of that";
+ mes "into Kafra Storage~";
+ close;
+ }
+ mes "[Merchant]";
+ mes "Good day!";
+ mes "Have you collected";
+ mes "items like Tree Roots?";
+ mes "What about Jellopies? Oh yeah,";
+ mes "I need those for something.";
+ next;
+ mes "[Merchant]";
+ mes "Of course, I won't ask you";
+ mes "to give me that stuff for free. What about if I trade a Red Potion for 6 Tree Roots or 10 Jellopies?";
+ next;
+ switch(select("Sure!:I think it's a rip-off!:No, thanks.")) {
+ case 1:
+ mes "[Merchant]";
+ mes "So which item do";
+ mes "you want to bring me?";
+ mes "Tree Roots, or Jellopies?";
+ next;
+ switch(select("Tree Roots:Jellopies:Cancel")) {
+ case 1: callfunc "F_PotExchange",902,6;
+ case 2: callfunc "F_PotExchange",909,10;
+ case 3:
+ mes "[Merchant]";
+ mes "Sure~";
+ mes "No problem.";
+ close;
+ }
+ case 2:
+ mes "[Merchant]";
+ mes "A rip-off...?";
+ mes "If you check the market value";
+ mes "of the items being traded, I'm actually the one getting";
+ mes "ripped off here.";
+ close;
+ case 3:
+ mes "[Merchant]";
+ mes "Alright,";
+ mes "no problem.";
+ mes "But come back to me";
+ mes "if you change your mind.";
+ close;
+ }
+}
+
+aldebaran,152,63,5 script Merchant#alde 85,{
+ set .@now_weight,MaxWeight-Weight;
+ if (.@now_weight < 6301 || checkweight(1201,1) == 0) {
+ mes "[Merchant]";
+ mes "Haha!";
+ mes "What are you, superhuman?";
+ mes "You're carrying so much stuff!";
+ mes "You better put some of that";
+ mes "into Kafra Storage~";
+ close;
+ }
+ mes "[Merchant]";
+ mes "Good day!";
+ mes "Have you collected any";
+ mes "Worm Peelings or Feather of Birds?";
+ mes "How about Jellopies? Oh yeah,";
+ mes "I need those for something.";
+ next;
+ mes "[Merchant]";
+ mes "Of course, I won't ask you";
+ mes "to give me that stuff for free. What about if I trade a Red Potion for 1 Worm Peeling, 7 Feather of Birds, or 10 Jellopies?";
+ next;
+ switch(select("Sure!:I think it's a rip-off!:No, thanks.")) {
+ case 1:
+ mes "[Merchant]";
+ mes "So which item do";
+ mes "you want to bring me?";
+ mes "Feathers of Birds?";
+ mes "Worm Peelings?";
+ mes "Or Jellopies?";
+ next;
+ switch(select("Worm Peelings:Feathers of Birds:Jellopies:Cancel")) {
+ case 1: callfunc "F_PotExchange",955,1;
+ case 2: callfunc "F_PotExchange",916,7;
+ case 3: callfunc "F_PotExchange",909,10;
+ case 4:
+ mes "[Merchant]";
+ mes "Sure~";
+ mes "No problem.";
+ close;
+ }
+ case 2:
+ mes "[Merchant]";
+ mes "A rip-off...?";
+ mes "If you check the market value";
+ mes "of the items being traded, I'm actually the one getting";
+ mes "ripped off here.";
+ close;
+ case 3:
+ mes "[Merchant]";
+ mes "Alright,";
+ mes "no problem.";
+ mes "But come back to me";
+ mes "if you change your mind.";
+ close;
+ }
+}
+
+geffen,173,88,5 script Merchant#geff 85,{
+ set .@now_weight,MaxWeight-Weight;
+ if (.@now_weight < 6301 || checkweight(1201,1) == 0) {
+ mes "[Merchant]";
+ mes "Haha!";
+ mes "What are you, superhuman?";
+ mes "You're carrying so much stuff!";
+ mes "You better put some of that";
+ mes "into Kafra Storage~";
+ close;
+ }
+ mes "[Merchant]";
+ mes "Good day!";
+ mes "Have you collected any";
+ mes "items like Shells or Chrysalises?";
+ mes "What about Jellopies? Oh yeah,";
+ mes "I need those for something.";
+ next;
+ mes "[Merchant]";
+ mes "Of course, I won't ask you";
+ mes "to give me that stuff for free. What about if I trade a Red Potion for 5 Shells or 6 Chrysalises, or 10 Jellopies?";
+ next;
+ switch(select("Sure!:I think it's a rip-off!:No, thanks.")) {
+ case 1:
+ mes "[Merchant]";
+ mes "So which item do";
+ mes "you want to bring me?";
+ mes "Shells, Chrysalises, or Jellopies?";
+ next;
+ switch(select("Shells:Chrysalises:Jellopies:Cancel")) {
+ case 1: callfunc "F_PotExchange",935,5;
+ case 2: callfunc "F_PotExchange",915,6;
+ case 3: callfunc "F_PotExchange",909,10;
+ case 4:
+ mes "[Merchant]";
+ mes "Sure~";
+ mes "No problem.";
+ close;
+ }
+ case 2:
+ mes "[Merchant]";
+ mes "A rip-off...?";
+ mes "If you check the market value";
+ mes "of the items being traded, I'm actually the one getting";
+ mes "ripped off here.";
+ close;
+ case 3:
+ mes "[Merchant]";
+ mes "Alright,";
+ mes "no problem.";
+ mes "But come back to me";
+ mes "if you change your mind.";
+ close;
+ }
+}
+
+function script F_PotExchange {
+ if (countitem(getarg(0)) < getarg(1)) {
+ mes "[Merchant]";
+ mes "Hey, where are";
+ mes "all those "+getitemname(getarg(0))+"";
+ mes "that you promised?";
+ mes "Give me "+getitemname(getarg(0))+"!";
+ close;
+ }
+ else {
+ mes "[Merchant]";
+ mes "Okay, let me check";
+ mes "how many "+getitemname(getarg(0))+" you";
+ mes "have on you. Hmm...";
+ next;
+ mes "[Merchant]";
+ mes "You have";
+ mes "a total of " + countitem(getarg(0)) + " "+getitemname(getarg(0))+".";
+ mes "I can give you a total";
+ mes "of " + (countitem(getarg(0))/getarg(1)) + " Red Potions for those.";
+ next;
+ mes "[Merchant]";
+ mes "What do you say?";
+ mes "Do we have a deal?";
+ next;
+ if (select("Deal.:No deal.") == 1) {
+ mes "[Merchant]";
+ mes "You know the exact";
+ mes "number of Red Potions";
+ mes "you want to receive for";
+ mes "those "+getitemname(getarg(0))+", don't you?";
+ next;
+ mes "[Merchant]";
+ mes "Now, I can trade you";
+ mes "a minimum of 1 Red Potion";
+ mes "and a maximum of 100 Red Potions";
+ mes "at one time. If you change your";
+ mes "mind, just enter '0' to cancel.";
+ next;
+ while(1) {
+ input .@input,0,101;
+ if (.@input == 0) {
+ mes "[Merchant]";
+ mes "What...?";
+ mes "Why the hell do you";
+ mes "even bother to talk to me?";
+ mes "Pretty indecisive, aren't you?";
+ close;
+ }
+ else if (.@input > 100) {
+ mes "[Merchant]";
+ mes "I can't give you more";
+ mes "than 100 Red Potions";
+ mes "at once. Let's try";
+ mes "this again.";
+ next;
+ }
+ else {
+ break;
+ }
+ }
+ set .@put_out_item,.@input * getarg(1);
+ if (countitem(getarg(0)) < .@put_out_item) {
+ mes "[Merchant]";
+ mes "Uh oh, the number you entered doesn't seem right. You better check the number of Red Potions that you can trade for again.";
+ close;
+ }
+ mes "[Merchant]";
+ mes "There you go!";
+ mes "Check how many Red Potions";
+ mes "I've given you, it should be good. Thanks, that was a good deal~";
+ delitem getarg(0),.@put_out_item; //Shell
+ getitem 501,.@input; //Red_Potion
+ close;
+ }
+ mes "[Merchant]";
+ mes "Huh~";
+ mes "Alright.";
+ mes "Though aren't";
+ mes "Red Potions more useful";
+ mes "to an adventurer like you?";
+ close;
+ }
+}
+
+//============================================================
+// Old changelog
+//============================================================
+//= 1.1 Made it as a function. U can add your own Merchs [Lupus]
+//= 1.1a Fixed item select [KarLaeda]
+//============================================================