updated novice_exchange
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9019 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
da6e94ebee
commit
028fb47447
@ -30,6 +30,7 @@ Playtester
|
||||
Date Added
|
||||
======
|
||||
10/20 * Fixed The Sign Exploits [Lupus]
|
||||
- Optimized Novice Exchanged (loot->Red Potions), moved the file to NPC\Merchants
|
||||
- Fixed The Sign bugs, thanks to Tantarian
|
||||
+ added get rid of sobbing pieces to let people reborn
|
||||
If u finished the Sign Quest and have some undeleted sobbing pieces, then visit this man
|
||||
|
152
npc/merchants/novice_exchange.txt
Normal file
152
npc/merchants/novice_exchange.txt
Normal file
@ -0,0 +1,152 @@
|
||||
//===== eAthena Script ========================================
|
||||
//= Novice Goods Exchanger
|
||||
//===== By: ==================================================
|
||||
//= ???, eAthena Team
|
||||
//===== Current Version: =====================================
|
||||
//= 1.1
|
||||
//===== Compatible With: =====================================
|
||||
//= eAthena 1.0+
|
||||
//===== Description: =========================================
|
||||
//= Exchanges your cheap loot to Red Potions.
|
||||
//= Official NPC.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.1 Made it as a function. U can add your own Merchs [Lupus]
|
||||
//============================================================
|
||||
|
||||
function script F_NMerch {
|
||||
mes "["+getarg(0)+"]";
|
||||
if((Weight*100)/MaxWeight >= 90){
|
||||
mes "You will exceed your weight limit if you exchange for the Red Potions.";
|
||||
close;
|
||||
}
|
||||
mes "Good day!";
|
||||
mes "Do you have any collection items such as "+getitemname(getarg(1))+"s or "+getitemname(getarg(3))+"s ?";
|
||||
if(getarg(5))
|
||||
mes "...how about "+getitemname(getarg(5))+"-s ?..";
|
||||
mes "Oh, yeah, I need those for something.";
|
||||
next;
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "Of course I am not asking you to give those for free!";
|
||||
mes "How about...if I give you 1 Red";
|
||||
mes "Potion for "+getarg(2)+" "+getitemname(getarg(1))+"s or "+getarg(4)+" "+getitemname(getarg(3))+"s ?";
|
||||
if(getarg(5))
|
||||
mes "or "+getarg(6)+" "+getitemname(getarg(5))+" ?";
|
||||
next;
|
||||
switch (select("Sure!:Think you're ripping me off...:No, thanks")) {
|
||||
case 1:
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "So which item do you bring me ?";
|
||||
mes ""+getitemname(getarg(1))+"-s? "+getitemname(getarg(3))+"-s ?";
|
||||
mes "Or "+getitemname(getarg(5))+"-s?";
|
||||
next;
|
||||
if(getarg(5))
|
||||
set @i,select(""+getitemname(getarg(1))+"",""+getitemname(getarg(3))+"",""+getitemname(getarg(5))+"","Cancel");
|
||||
else
|
||||
set @i,select(""+getitemname(getarg(1))+"",""+getitemname(getarg(3))+"","Cancel");
|
||||
if(@i==4 || (@i==3 && !getarg(5))) {
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "Sure, no problem.";
|
||||
close;
|
||||
}
|
||||
set @have,countitem(getarg(1+@i*2));
|
||||
if(@have < getarg(2+@i*2)) {
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "Hey, where are all those";
|
||||
mes getitemname(getarg(1+@i*2))+"-s you promised?";
|
||||
close;
|
||||
}
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "Okay, let me take a look at the stuff you brought.";
|
||||
next;
|
||||
set @max,@have / getarg(2+@i*2)];
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "You have total "+@have+" "+getitemname(getarg(1+@i*2))+"-s...";
|
||||
mes "I can give you";
|
||||
mes "total "+@max+" Red Potion for those.";
|
||||
next;
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "What do you say? Deal?";
|
||||
next;
|
||||
if(select("Deal.:No deal.")==2) {
|
||||
mes "[Merchant]";
|
||||
mes "Bah~ whatever.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "You know the exact number of Red Potions";
|
||||
mes "you can receive for "+getitemname(getarg(1+@i*2))+"-s, don't you?";
|
||||
next;
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "You can get Red Potions";
|
||||
mes "from minimum 1 to maximum 100 at once.";
|
||||
mes "If you change your mind, enter '0'";
|
||||
mes "to cancel.";
|
||||
while(1) {
|
||||
next;
|
||||
input @val;
|
||||
if(@val<0 || @val>100) {
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
mes "["+getarg(0)+"]";
|
||||
if(@val == 0) {
|
||||
mes "What...how the hell did you even";
|
||||
mes "bother to talk to me?";
|
||||
mes "Leave, I don't deal with whimsical";
|
||||
mes "people.";
|
||||
close;
|
||||
}
|
||||
if(@val > @max) {
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
close;
|
||||
}
|
||||
delitem getarg(1+@i*2),getarg(2+@i*2)*@val;
|
||||
getitem 501,@val;
|
||||
mes "There you go!";
|
||||
mes "Thanks, it was a good deal.";
|
||||
close;
|
||||
case 2:
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "Did you say I am ripping you off?!";
|
||||
mes "You got to know how ignorant that comment was!";
|
||||
mes "When you check the price of each item,";
|
||||
mes "I am doing a losing business.";
|
||||
mes "If you don't want to do then, fine!";
|
||||
close;
|
||||
case 3:
|
||||
mes "["+getarg(0)+"]";
|
||||
mes "Hah, no problem.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
prontera.gat,123,102,5 script Merchant#1 85,{
|
||||
callfunc "F_NMerch","Merchant",935,5,914,10,909,10;
|
||||
}
|
||||
|
||||
geffen.gat,173,88,5 script Merchant#2 85,{
|
||||
callfunc "F_NMerch","Merchant",935,5,915,6,909,10;
|
||||
}
|
||||
morocc.gat,180,259,3 script Merchant#3 85,{
|
||||
callfunc "F_NMerch","Merchant",935,5,916,7,909,10;
|
||||
}
|
||||
|
||||
aldebaran.gat,152,63,5 script Merchant#4 85,{
|
||||
callfunc "F_NMerch","Merchant",955,1,916,7,909,10;
|
||||
}
|
||||
|
||||
payon.gat,200,134,5 script Merchant#5 85,{
|
||||
//we remove 3rd item, by adding 0,0
|
||||
callfunc "F_NMerch","Merchant",902,6,909,10,0,0;
|
||||
}
|
@ -1,613 +0,0 @@
|
||||
prontera.gat,123,102,5 script Merchant#1 85,{
|
||||
if(Weight*100/MaxWeight >= 90){
|
||||
mes "[Merchant]";
|
||||
mes "You will exceed your weight limit if you exchange for the Red Potions.";
|
||||
close;
|
||||
}
|
||||
setarray @need,935,914,909;
|
||||
setarray @amount,5,10,10;
|
||||
|
||||
mes "[Merchant]";
|
||||
mes "Good day!";
|
||||
mes "Do you have any collection items such as "+getitemname(@need[0])+"s or "+getitemname(@need[1])+"s ?";
|
||||
mes "...how about Jellopies ?..";
|
||||
mes "Oh, yeah, I need those for";
|
||||
mes "something.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "Of course I am not asking you to give those for free!";
|
||||
mes "How about...if I give you 1 Red";
|
||||
mes "Potion for "+@amount[0]+" "+getitemname(@need[0])+"s or "+@amount[1]+" "+getitemname(@need[1])+"s???";
|
||||
mes "or "+@amount[2]+" Jelopies ???";
|
||||
|
||||
next;
|
||||
switch (select("Sure!","Think you're ripping me off...","No,thanks")) {
|
||||
case 1:
|
||||
mes "[Merchant]";
|
||||
mes "So which item do you bring me ?";
|
||||
mes ""+getitemname(@need[0])+"s? "+getitemname(@need[1])+"s ?";
|
||||
mes "Or Jellopies?";
|
||||
next;
|
||||
set @i,select(""+getitemname(@need[0])+"",""+getitemname(@need[1])+"",""+getitemname(@need[2])+"","Cancel")-1;
|
||||
if(@i==3) {
|
||||
mes "[Merchant]";
|
||||
mes "Sure, no problem.";
|
||||
close;
|
||||
}
|
||||
set @have,countitem(@need[@i]);
|
||||
if(@have < @amount[@i]) {
|
||||
mes "[Merchant]";
|
||||
if(@i > 0)
|
||||
mes "Hey, where are all those";
|
||||
mes getitemname(@need[@i])+"s you promised?";
|
||||
mes "Give me "+getitemname(@need[@i])+"s !";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "Okay, let me take a look at the stuff you brought";
|
||||
next;
|
||||
set @max,@have / @amount[@i];
|
||||
mes "[Merchant]";
|
||||
mes "You have total "+@have+" "+getitemname(@need[@i])+"s...";
|
||||
mes "I can give you";
|
||||
mes "total "+@max+" Red Potion for those.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "What do you say? Deal?";
|
||||
next;
|
||||
if(select("Deal.","No deal.")==2) {
|
||||
mes "[Merchant]";
|
||||
mes "Bah~ whatever.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "You know the exact number of Red Potions";
|
||||
mes "you can receive for "+getitemname(@need[@i])+"s, don't you?";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "You can get Red Potions";
|
||||
mes "from minimum 1 to maximum 100 at once.";
|
||||
mes "If you change your mind, enter '0'";
|
||||
mes "to cancel.";
|
||||
while(1) {
|
||||
next;
|
||||
input @val;
|
||||
if(@val<0 || @val>100) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(@val == 0) {
|
||||
mes "[Merchant]";
|
||||
mes "What...how the hell did you even";
|
||||
mes "bother to talk to me?";
|
||||
mes "Leave, I don't deal with whimsical";
|
||||
mes "people.";
|
||||
close;
|
||||
}
|
||||
if(@val > @max) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
close;
|
||||
}
|
||||
delitem @need[@i],@amount[@i]*@val;
|
||||
getitem 501,@val;
|
||||
mes "[Merchant]";
|
||||
mes "There you go!";
|
||||
mes "Check the numbers again.";
|
||||
mes "Thanks, it was a good deal.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Merchant]";
|
||||
mes "Did you say I am ripping you off?!";
|
||||
mes "You got to know how ignorant that comment was!";
|
||||
mes "When you check the price of each item,";
|
||||
mes "I am doing a losing business.";
|
||||
mes "If you don't want to do then, fine!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Merchant]";
|
||||
mes "Hah, no problem.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
geffen.gat,173,88,5 script Merchant#2 85,{
|
||||
if(Weight*100/MaxWeight >= 90){
|
||||
mes "[Merchant]";
|
||||
mes "You will exceed your weight limit if you exchange for the Red Potions.";
|
||||
close;
|
||||
}
|
||||
setarray @need,935,915,909;
|
||||
setarray @amount,5,6,10;
|
||||
mes "[Merchant]";
|
||||
mes "Good day!";
|
||||
mes "Do you have any collection items such as "+getitemname(@need[0])+"s or "+getitemname(@need[1])+"s?";
|
||||
mes "...how about Jellopies?..";
|
||||
mes "Oh, yeah, I need those for";
|
||||
mes "something.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "Of course I am not asking you to give those for free!";
|
||||
mes "How about...if I give you 1 Red";
|
||||
mes "Potion for "+@amount[0]+" "+getitemname(@need[0])+"s or "+@amount[1]+" "+getitemname(@need[1])+"s ???";
|
||||
mes "or "+@amount[2]+" Jellopies ???";
|
||||
|
||||
next;
|
||||
switch (select("Sure!","Think you're ripping me off...","No,thanks")) {
|
||||
case 1:
|
||||
mes "[Merchant]";
|
||||
mes "So which item do you bring me ?";
|
||||
mes ""+getitemname(@need[0])+"s ? "+getitemname(@need[1])+"s ?";
|
||||
mes "Or Jellopies ?";
|
||||
next;
|
||||
set @i,select(""+getitemname(@need[0])+"",""+getitemname(@need[1])+"",""+getitemname(@need[2])+"","Cancel")-1;
|
||||
if(@i==3) {
|
||||
mes "[Merchant]";
|
||||
mes "Sure, no problem.";
|
||||
close;
|
||||
}
|
||||
set @have,countitem(@need[@i]);
|
||||
if(@have < @amount[@i]) {
|
||||
mes "[Merchant]";
|
||||
if(@i > 0)
|
||||
mes "Hey, where are all those";
|
||||
mes getitemname(@need[@i])+"s you promised?";
|
||||
mes "Give me "+getitemname(@need[@i])+"s!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "Okay, let me take a look at the stuff you brought";
|
||||
next;
|
||||
set @max,@have / @amount[@i];
|
||||
mes "[Merchant]";
|
||||
mes "You have total "+@have+" "+getitemname(@need[@i])+"s...";
|
||||
mes "I can give you";
|
||||
mes "total "+@max+" Red Potion for those.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "What do you say? Deal?";
|
||||
next;
|
||||
if(select("Deal.","No deal.")==2) {
|
||||
mes "[Merchant]";
|
||||
mes "Bah~ whatever.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "You know the exact number of Red Potions";
|
||||
mes "you can receive for "+getitemname(@need[@i])+"s,don't you?";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "You can get Red Potions";
|
||||
mes "from minimum 1 to maximum 100 at once.";
|
||||
mes "If you change your mind, enter '0'";
|
||||
mes "to cancel.";
|
||||
while(1) {
|
||||
next;
|
||||
input @val;
|
||||
if(@val<0 || @val>100) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(@val == 0) {
|
||||
mes "[Merchant]";
|
||||
mes "What...how the hell did you even";
|
||||
mes "bother to talk to me?";
|
||||
mes "Leave, I don't deal with whimsical";
|
||||
mes "people.";
|
||||
close;
|
||||
}
|
||||
if(@val > @max) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
close;
|
||||
}
|
||||
delitem @need[@i],@amount[@i]*@val;
|
||||
getitem 501,@val;
|
||||
mes "[Merchant]";
|
||||
mes "There you go!";
|
||||
mes "Check the numbers again.";
|
||||
mes "Thanks, it was a good deal.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Merchant]";
|
||||
mes "Did you say I am ripping you off?!";
|
||||
mes "You got to know how ignorant that comment was!";
|
||||
mes "When you check the price of each item,";
|
||||
mes "I am doing a losing business.";
|
||||
mes "If you don't want to do then, fine!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Merchant]";
|
||||
mes "Hah, no problem.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
morocc.gat,180,259,3 script Merchant#3 85,{
|
||||
if(Weight*100/MaxWeight >= 90){
|
||||
mes "[Merchant]";
|
||||
mes "You will exceed your weight limit if you exchange for the Red Potions.";
|
||||
close;
|
||||
}
|
||||
setarray @need,935,916,909;
|
||||
setarray @amount,5,7,10;
|
||||
mes "[Merchant]";
|
||||
mes "Good day!";
|
||||
mes "Do you have any collection items such as "+getitemname(@need[0])+"s or "+getitemname(@need[1])+"s ?";
|
||||
mes "...how about Jellopies?..";
|
||||
mes "Oh, yeah, I need those for";
|
||||
mes "something.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "Of course I am not asking you to give those for free!";
|
||||
mes "How about...if I give you 1 Red";
|
||||
mes "Potion for "+@amount[0]+" "+getitemname(@need[0])+"s or "+@amount[1]+" "+getitemname(@need[1])+"s ???";
|
||||
mes "or "+@amount[2]+" Jellopies???";
|
||||
|
||||
next;
|
||||
switch (select("Sure!","Think you're ripping me off...","No,thanks")) {
|
||||
case 1:
|
||||
mes "[Merchant]";
|
||||
mes "So which item do you bring me ?";
|
||||
mes ""+getitemname(@need[0])+"s? "+getitemname(@need[1])+"s ?";
|
||||
mes "Or Jellopies?";
|
||||
next;
|
||||
set @i,select(""+getitemname(@need[0])+"",""+getitemname(@need[1])+"",""+getitemname(@need[2])+"","Cancel")-1;
|
||||
if(@i==3) {
|
||||
mes "[Merchant]";
|
||||
mes "Sure, no problem.";
|
||||
close;
|
||||
}
|
||||
set @have,countitem(@need[@i]);
|
||||
if(@have < @amount[@i]) {
|
||||
mes "[Merchant]";
|
||||
if(@i > 0)
|
||||
mes "Hey, where are all those";
|
||||
mes getitemname(@need[@i])+"s you promised?";
|
||||
mes "Give me "+getitemname(@need[@i])+"s!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "Okay, let me take a look at the stuff you brought";
|
||||
next;
|
||||
set @max,@have / @amount[@i];
|
||||
mes "[Merchant]";
|
||||
mes "You have total "+@have+" "+getitemname(@need[@i])+"s...";
|
||||
mes "I can give you";
|
||||
mes "total" +@max+ "Red Potion for those.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "What do you say? Deal?";
|
||||
next;
|
||||
if(select("Deal.","No deal.")==2) {
|
||||
mes "[Merchant]";
|
||||
mes "Bah~ whatever.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "You know the exact number of Red Potions";
|
||||
mes "you can receive for "+getitemname(@need[@i])+"s,don't you?";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "You can get Red Potions";
|
||||
mes "from minimum 1 to maximum 100 at once.";
|
||||
mes "If you change your mind, enter '0'";
|
||||
mes "to cancel.";
|
||||
while(1) {
|
||||
next;
|
||||
input @val;
|
||||
if(@val<0 || @val>100) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(@val == 0) {
|
||||
mes "[Merchant]";
|
||||
mes "What...how the hell did you even";
|
||||
mes "bother to talk to me?";
|
||||
mes "Leave, I don't deal with whimsical";
|
||||
mes "people.";
|
||||
close;
|
||||
}
|
||||
if(@val > @max) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
close;
|
||||
}
|
||||
delitem @need[@i],@amount[@i]*@val;
|
||||
getitem 501,@val;
|
||||
mes "[Merchant]";
|
||||
mes "There you go!";
|
||||
mes "Check the numbers again.";
|
||||
mes "Thanks, it was a good deal.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Merchant]";
|
||||
mes "Did you say I am ripping you off?!";
|
||||
mes "You got to know how ignorant that comment was!";
|
||||
mes "When you check the price of each item,";
|
||||
mes "I am doing a losing business.";
|
||||
mes "If you don't want to do then, fine!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Merchant]";
|
||||
mes "Hah, no problem.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
aldebaran.gat,152,63,5 script Merchant#4 85,{
|
||||
if(Weight*100/MaxWeight >= 90){
|
||||
mes "[Merchant]";
|
||||
mes "You will exceed your weight limit if you exchange for the Red Potions.";
|
||||
close;
|
||||
}
|
||||
setarray @need,955,916,909;
|
||||
setarray @amount,1,7,10;
|
||||
mes "[Merchant]";
|
||||
mes "Good day!";
|
||||
mes "Do you have any collection items such as "+getitemname(@need[0])+"s or "+getitemname(@need[1])+"s ?";
|
||||
mes "...how about Jellopies?..";
|
||||
mes "Oh, yeah, I need those for";
|
||||
mes "something.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "Of course I am not asking you to give those for free!";
|
||||
mes "How about...if I give you 1 Red";
|
||||
mes "Potion for "+ @amount[0]+" "+getitemname(@need[0])+"s or "+@amount[1]+" "+getitemname(@need[1])+"s ???";
|
||||
mes "or "+@amount[2]+" Jellopies ???";
|
||||
|
||||
next;
|
||||
switch (select("Sure!","Think you're ripping me off...","No,thanks")) {
|
||||
case 1:
|
||||
mes "[Merchant]";
|
||||
mes "So which item do you bring me ?";
|
||||
mes ""+getitemname(@need[0])+"s ? "+getitemname(@need[1])+"s ?";
|
||||
mes "Or Jellopies ?";
|
||||
next;
|
||||
set @i,select(""+getitemname(@need[0])+"",""+getitemname(@need[1])+"",""+getitemname(@need[2])+"","Cancel")-1;
|
||||
if(@i==3) {
|
||||
mes "[Merchant]";
|
||||
mes "Sure, no problem.";
|
||||
close;
|
||||
}
|
||||
set @have,countitem(@need[@i]);
|
||||
if(@have < @amount[@i]) {
|
||||
mes "[Merchant]";
|
||||
if(@i > 0)
|
||||
mes "Hey, where are all those";
|
||||
mes getitemname(@need[@i])+"s you promised?";
|
||||
mes "Give me "+getitemname(@need[@i])+"s!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "Okay, let me take a look at the stuff you brought";
|
||||
next;
|
||||
set @max,@have / @amount[@i];
|
||||
mes "[Merchant]";
|
||||
mes "You have total "+@have+" "+getitemname(@need[@i])+"s...";
|
||||
mes "I can give you";
|
||||
mes "total "+@max+" Red Potion for those.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "What do you say? Deal?";
|
||||
next;
|
||||
if(select("Deal.","No deal.")==2) {
|
||||
mes "[Merchant]";
|
||||
mes "Bah~ whatever.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "You know the exact number of Red Potions";
|
||||
mes "you can receive for "+getitemname(@need[@i])+"s,don't you?";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "You can get Red Potions";
|
||||
mes "from minimum 1 to maximum 100 at once.";
|
||||
mes "If you change your mind, enter '0'";
|
||||
mes "to cancel.";
|
||||
while(1) {
|
||||
next;
|
||||
input @val;
|
||||
if(@val<0 || @val>100) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(@val == 0) {
|
||||
mes "[Merchant]";
|
||||
mes "What...how the hell did you even";
|
||||
mes "bother to talk to me?";
|
||||
mes "Leave, I don't deal with whimsical";
|
||||
mes "people.";
|
||||
close;
|
||||
}
|
||||
if(@val > @max) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
close;
|
||||
}
|
||||
delitem @need[@i],@amount[@i]*@val;
|
||||
getitem 501,@val;
|
||||
mes "[Merchant]";
|
||||
mes "There you go!";
|
||||
mes "Check the numbers again.";
|
||||
mes "Thanks, it was a good deal.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Merchant]";
|
||||
mes "Did you say I am ripping you off?!";
|
||||
mes "You got to know how ignorant that comment was!";
|
||||
mes "When you check the price of each item,";
|
||||
mes "I am doing a losing business.";
|
||||
mes "If you don't want to do then, fine!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Merchant]";
|
||||
mes "Hah, no problem.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
payon.gat,200,134,5 script Merchant#5 85,{
|
||||
if(Weight*100/MaxWeight >= 90){
|
||||
mes "[Merchant]";
|
||||
mes "You will exceed your weight limit if you exchange for the Red Potions.";
|
||||
close;
|
||||
}
|
||||
setarray @need,902,909;
|
||||
setarray @amount,6,10;
|
||||
mes "[Merchant]";
|
||||
mes "Good day!";
|
||||
mes "Do you have any collection items such as "+getitemname(@need[0])+"s ?";
|
||||
mes "...how about Jellopies?..";
|
||||
mes "Oh, yeah, I need those for";
|
||||
mes "something.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "Of course I am not asking you to give those for free!";
|
||||
mes "How about...if I give you 1 Red";
|
||||
mes "Potion for "+@amount[0]+" "+getitemname(@need[0])+"s or "+@amount[1]+" "+getitemname(@need[1])+"s???";
|
||||
|
||||
next;
|
||||
switch (select("Sure!","Think you're ripping me off...","No,thanks")) {
|
||||
case 1:
|
||||
mes "[Merchant]";
|
||||
mes "So which item do you bring me ?";
|
||||
mes ""+getitemname(@need[0])+"s? Or "+getitemname(@need[1])+" ?";
|
||||
next;
|
||||
set @i,select(""+getitemname(@need[0])+"",""+getitemname(@need[1])+"","Cancel")-1;
|
||||
if(@i==2) {
|
||||
mes "[Merchant]";
|
||||
mes "Sure, no problem.";
|
||||
close;
|
||||
}
|
||||
set @have,countitem(@need[@i]);
|
||||
if(@have < @amount[@i]) {
|
||||
mes "[Merchant]";
|
||||
if(@i > 0)
|
||||
mes "Hey, where are all those";
|
||||
mes getitemname(@need[@i])+"s you promised?";
|
||||
mes "Give me "+getitemname(@need[@i])+"s!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "Okay, let me take a look at the stuff you brought";
|
||||
next;
|
||||
set @max,@have / @amount[@i];
|
||||
mes "[Merchant]";
|
||||
mes "You have total "+@have+" "+getitemname(@need[@i])+"s...";
|
||||
mes "I can give you";
|
||||
mes "total "+@max+" Red Potion for those.";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "What do you say? Deal?";
|
||||
next;
|
||||
if(select("Deal.","No deal.")==2) {
|
||||
mes "[Merchant]";
|
||||
mes "Bah~ whatever.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
mes "[Merchant]";
|
||||
mes "You know the exact number of Red Potions";
|
||||
mes "you can receive for "+getitemname(@need[@i])+"s,don't you?";
|
||||
next;
|
||||
mes "[Merchant]";
|
||||
mes "You can get Red Potions";
|
||||
mes "from minimum 1 to maximum 100 at once.";
|
||||
mes "If you change your mind, enter '0'";
|
||||
mes "to cancel.";
|
||||
while(1) {
|
||||
next;
|
||||
input @val;
|
||||
if(@val<0 || @val>100) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(@val == 0) {
|
||||
mes "[Merchant]";
|
||||
mes "What...how the hell did you even";
|
||||
mes "bother to talk to me?";
|
||||
mes "Leave, I don't deal with whimsical";
|
||||
mes "people.";
|
||||
close;
|
||||
}
|
||||
if(@val > @max) {
|
||||
mes "[Merchant]";
|
||||
mes "Uh oh, the number you entered";
|
||||
mes "seemed incorrect.";
|
||||
mes "You'd better check how many red";
|
||||
mes "potions you can get.";
|
||||
close;
|
||||
}
|
||||
delitem @need[@i],@amount[@i]*@val;
|
||||
getitem 501,@val;
|
||||
mes "[Merchant]";
|
||||
mes "There you go!";
|
||||
mes "Check the numbers again.";
|
||||
mes "Thanks, it was a good deal.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Merchant]";
|
||||
mes "Did you say I am ripping you off?!";
|
||||
mes "You got to know how ignorant that comment was!";
|
||||
mes "When you check the price of each item,";
|
||||
mes "I am doing a losing business.";
|
||||
mes "If you don't want to do then, fine!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Merchant]";
|
||||
mes "Hah, no problem.";
|
||||
mes "Bah!";
|
||||
close;
|
||||
}
|
||||
}
|
@ -56,6 +56,8 @@ npc: npc/merchants/shuriken_maker.txt
|
||||
npc: npc/merchants/socket_enchant.txt
|
||||
npc: npc/merchants/ammo_boxes.txt
|
||||
npc: npc/merchants/ammo_dealer.txt
|
||||
//Not properly tested yet
|
||||
//npc: npc/merchants/novice_exchange.txt
|
||||
// --------------------------------------------------------------
|
||||
// -------------------------- Airport ---------------------------
|
||||
npc: npc/airports/airships.txt
|
||||
@ -107,7 +109,6 @@ npc: npc/quests/seals/sleipnir_seal.txt
|
||||
//
|
||||
npc: npc/quests/newgears/2004_headgears.txt
|
||||
npc: npc/quests/newgears/2005_headgears.txt
|
||||
npc: npc/quests/novice_exchange.txt
|
||||
//it's iRO script, uncomment it if you want to soil your economics with cheap OBBs
|
||||
//npc: npc/quests/obb_quest.txt
|
||||
npc: npc/quests/cooking_quest.txt
|
||||
|
Loading…
x
Reference in New Issue
Block a user