
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12257 54d463be-8e91-2dee-dedb-b68131a5f0ec
395 lines
11 KiB
Plaintext
395 lines
11 KiB
Plaintext
//===== eAthena Script =======================================
|
|
//= Novice Goods Exchanger
|
|
//===== By: ==================================================
|
|
//= ???, eAthena Team
|
|
//===== Current Version: =====================================
|
|
//= 1.4
|
|
//===== Compatible With: =====================================
|
|
//= eAthena 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]
|
|
//============================================================
|