diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/Changelog.txt | 1 | ||||
-rw-r--r-- | npc/merchants/novice_exchange.txt | 152 | ||||
-rw-r--r-- | npc/quests/novice_exchange.txt | 613 | ||||
-rw-r--r-- | npc/scripts_athena.conf | 3 |
4 files changed, 155 insertions, 614 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt index a547df751..ce35fe2d8 100644 --- a/npc/Changelog.txt +++ b/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
diff --git a/npc/merchants/novice_exchange.txt b/npc/merchants/novice_exchange.txt new file mode 100644 index 000000000..746817149 --- /dev/null +++ b/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;
+}
\ No newline at end of file diff --git a/npc/quests/novice_exchange.txt b/npc/quests/novice_exchange.txt deleted file mode 100644 index e86651290..000000000 --- a/npc/quests/novice_exchange.txt +++ /dev/null @@ -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;
- }
-}
\ No newline at end of file diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf index f4302afc2..a1ff79a29 100644 --- a/npc/scripts_athena.conf +++ b/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
|