فهرست منبع

Added Novice Exchange Quests provided by Dr.Evil, not tested yet

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6720 54d463be-8e91-2dee-dedb-b68131a5f0ec
Playtester 19 سال پیش
والد
کامیت
28454d3044
1فایلهای تغییر یافته به همراه613 افزوده شده و 0 حذف شده
  1. 613 0
      npc/quests/novice_exchange.txt

+ 613 - 0
npc/quests/novice_exchange.txt

@@ -0,0 +1,613 @@
+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;
+    }
+}