Просмотр исходного кода

updated novice_exchange

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9019 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lupus 18 лет назад
Родитель
Сommit
028fb47447
4 измененных файлов с 155 добавлено и 614 удалено
  1. 1 0
      npc/Changelog.txt
  2. 152 0
      npc/merchants/novice_exchange.txt
  3. 0 613
      npc/quests/novice_exchange.txt
  4. 2 1
      npc/scripts_athena.conf

+ 1 - 0
npc/Changelog.txt

@@ -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 - 0
npc/merchants/novice_exchange.txt

@@ -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;
+}

+ 0 - 613
npc/quests/novice_exchange.txt

@@ -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;
-    }
-}

+ 2 - 1
npc/scripts_athena.conf

@@ -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