|
@@ -18,138 +18,35 @@
|
|
//= 1.4 Updated to match the official scripts. [Euphy]
|
|
//= 1.4 Updated to match the official scripts. [Euphy]
|
|
//= 1.5 Added Izlude duplicates. [Euphy]
|
|
//= 1.5 Added Izlude duplicates. [Euphy]
|
|
//= 1.5a Remove useless array & misc. [Capuche]
|
|
//= 1.5a Remove useless array & misc. [Capuche]
|
|
|
|
+//= 1.6 Changing Shape of NPCs. [JohnnyPlayy]
|
|
//============================================================
|
|
//============================================================
|
|
|
|
|
|
// Poison Herb Merchants (Guillotine Cross) :: poison_herb_3rd_trader
|
|
// Poison Herb Merchants (Guillotine Cross) :: poison_herb_3rd_trader
|
|
//============================================================
|
|
//============================================================
|
|
-- script ::phs -1,{
|
|
|
|
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
|
|
|
|
- mes "- Wait a minute !! -";
|
|
|
|
- mes "- Currently you're carrying -";
|
|
|
|
- mes "- too many items with you. -";
|
|
|
|
- mes "- Please try again -";
|
|
|
|
- mes "- after you lose some weight. -";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- mes "[Poison Herb Merchant]";
|
|
|
|
- mes "I am the professional";
|
|
|
|
- mes "Poison Herb merchant.";
|
|
|
|
- mes "Each Herb costs 4,000 zeny.";
|
|
|
|
- mes "What would you like?";
|
|
|
|
- next;
|
|
|
|
- .@i = select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit:Cancel")-1;
|
|
|
|
- mes "[Poison Herb Merchant]";
|
|
|
|
- if (.@i < 6) {
|
|
|
|
- .@item = 7932+.@i;
|
|
|
|
- .@price = 4000;
|
|
|
|
- .@max = 2000;
|
|
|
|
- } else if (.@i == 6) {
|
|
|
|
- .@item = 7931;
|
|
|
|
- .@price = 5000;
|
|
|
|
- .@max = 500;
|
|
|
|
- mes "Each Poison Kit costs 5,000 zeny.";
|
|
|
|
- } else {
|
|
|
|
- mes "Well, I see. Come back again~!";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- mes "How many do you want?";
|
|
|
|
- mes "You can only buy a maximum of '"+.@max+"' ea.";
|
|
|
|
- mes "Enter '0' if you want to cancel.";
|
|
|
|
- next;
|
|
|
|
- input .@amount;
|
|
|
|
- if (.@amount == 0) {
|
|
|
|
- mes "[Poison Herb Merchant]";
|
|
|
|
- mes "You've cancelled the trade.";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- if (.@amount > .@max) {
|
|
|
|
- mes "[Poison Herb Merchant]";
|
|
|
|
- mes "The number must be less than "+callfunc("F_InsertComma",.@max)+"!";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- .@total = .@amount * .@price;
|
|
|
|
- if (Zeny < .@total) {
|
|
|
|
- mes "[Poison Herb Merchant]";
|
|
|
|
- mes "You don't have enough money.";
|
|
|
|
- mes "Check how much money you have first.";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- Zeny = Zeny - .@total;
|
|
|
|
- getitem .@item, .@amount;
|
|
|
|
- mes "[Poison Herb Merchant]";
|
|
|
|
- mes "Thank you. Come back again~!";
|
|
|
|
- close;
|
|
|
|
|
|
+- shop Herb_Seller HIDDEN_NPC,no,7932:4000,7933:4000,7934:4000,7935:4000,7936:4000,7937:4000,7931:5000
|
|
|
|
+
|
|
|
|
+- script ::phs HIDDEN_NPC,{
|
|
|
|
+ npctalk "Do you need poison?", "", bc_self;
|
|
|
|
+ callshop "Herb_Seller",1;
|
|
|
|
+ end;
|
|
}
|
|
}
|
|
|
|
+
|
|
job3_guil01,79,96,3 duplicate(phs) Poison Herb Merchant 4_F_YUNYANG
|
|
job3_guil01,79,96,3 duplicate(phs) Poison Herb Merchant 4_F_YUNYANG
|
|
morocc,193,100,4 duplicate(phs) Poison Herb Merchant#moc 4_F_YUNYANG
|
|
morocc,193,100,4 duplicate(phs) Poison Herb Merchant#moc 4_F_YUNYANG
|
|
lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 4_F_YUNYANG
|
|
lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 4_F_YUNYANG
|
|
|
|
|
|
// Rune Stone Merchants (Rune Knight) :: rune_3rd_trader
|
|
// Rune Stone Merchants (Rune Knight) :: rune_3rd_trader
|
|
//============================================================
|
|
//============================================================
|
|
-- script ::runesale -1,{
|
|
|
|
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
|
|
|
|
- mes "- Wait a minute !! -";
|
|
|
|
- mes "- Currently you're carrying -";
|
|
|
|
- mes "- too many items with you. -";
|
|
|
|
- mes "- Please try again -";
|
|
|
|
- mes "- after you lose some weight. -";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- mes "[Rune Merchant]";
|
|
|
|
- mes "Hey, do you need Runes?!";
|
|
|
|
- mes "I sell all sorts of Rune Stones!";
|
|
|
|
- mes "What would you like?";
|
|
|
|
- next;
|
|
|
|
- .@i = select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones.");
|
|
|
|
- mes "[Rune Merchant]";
|
|
|
|
- if (.@i == 1) {
|
|
|
|
- mes "High-quality Runes!";
|
|
|
|
- mes "They cost 2,500 zeny each!";
|
|
|
|
- .@item = 12734; //Runstone_Quality
|
|
|
|
- .@price = 2500;
|
|
|
|
- } else {
|
|
|
|
- mes "Ordinary Rune Stones?";
|
|
|
|
- mes "They cost 1,000 zeny each!";
|
|
|
|
- .@item = 12737; //Runstone_Ordinary
|
|
|
|
- .@price = 1000;
|
|
|
|
- }
|
|
|
|
- mes "Tell me how many you want,";
|
|
|
|
- mes "and remember, you can only";
|
|
|
|
- mes "buy a maximum of '2000' ea.";
|
|
|
|
- next;
|
|
|
|
- input .@amount;
|
|
|
|
- if (.@amount == 0) {
|
|
|
|
- mes "[Rune Merchant]";
|
|
|
|
- mes "You're not buying? Please leave!";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- if (.@amount > 2000) {
|
|
|
|
- mes "[Rune Merchant]";
|
|
|
|
- mes "The number must be less than 2,000!";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- .@total = .@amount * .@price;
|
|
|
|
- if (Zeny < .@total) {
|
|
|
|
- mes "[Rune Merchant]";
|
|
|
|
- mes "Zeny! Zeny!";
|
|
|
|
- mes "You don't have enough money.";
|
|
|
|
- mes "Check how much money you have first.";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- if (!checkweight(.@item,.@amount)) {
|
|
|
|
- mes "[Rune Merchant]";
|
|
|
|
- mes "It doesn't seem like you are able to carry it all, why are you trying it?!";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- Zeny = Zeny - .@total;
|
|
|
|
- getitem .@item, .@amount;
|
|
|
|
- mes "[Rune Merchant]";
|
|
|
|
- mes "Thank you.";
|
|
|
|
- mes "Please come back again~!";
|
|
|
|
- close;
|
|
|
|
|
|
+- shop Runes_Seller HIDDEN_NPC,no,12737:1000,12734:2500,12738:7500,12735:18000,12736:50000,7939:20000,7938:10000
|
|
|
|
+
|
|
|
|
+- script ::runesale HIDDEN_NPC,{
|
|
|
|
+ npctalk "There are several types of runes.", "", bc_self;
|
|
|
|
+ callshop "Runes_Seller",1;
|
|
|
|
+ end;
|
|
}
|
|
}
|
|
-job3_rune01,90,62,3 duplicate(runesale) Rune Merchant#job3 4_M_YURI
|
|
|
|
-prontera,168,228,3 duplicate(runesale) Rune Merchant#prt 4_M_YURI
|
|
|
|
|
|
+
|
|
|
|
+job3_rune01,90,62,3 duplicate(runesale) Rune Merchant#job3 4W_M_01
|
|
|
|
+prontera,168,228,3 duplicate(runesale) Rune Merchant#prt 4W_M_01
|
|
|
|
|
|
// Rare Herb Merchants (Guillotine Cross) :: rare_herb_3rd_trader
|
|
// Rare Herb Merchants (Guillotine Cross) :: rare_herb_3rd_trader
|
|
//============================================================
|
|
//============================================================
|
|
@@ -216,49 +113,14 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{
|
|
|
|
|
|
// Point Merchants (Sorcerer) :: point_3rd_trader
|
|
// Point Merchants (Sorcerer) :: point_3rd_trader
|
|
//============================================================
|
|
//============================================================
|
|
-- script ::pss -1,{
|
|
|
|
- if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) {
|
|
|
|
- mes "- Wait a minute !! -";
|
|
|
|
- mes "- Currently you're carrying -";
|
|
|
|
- mes "- too many items with you. -";
|
|
|
|
- mes "- Please try again -";
|
|
|
|
- mes "- after you lose some weight. -";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- mes "[Point Merchant]";
|
|
|
|
- mes "Hello. I'm selling a catalyst called ^FF0000Points^000000 for Sorcerers. What would you like?";
|
|
|
|
- next;
|
|
|
|
- .@i = select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel")-1;
|
|
|
|
- mes "[Point Merchant]";
|
|
|
|
- if (.@i == 4) {
|
|
|
|
- mes "You can't find the stuff you need?";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- setarray .@itemid[0],6360,6363,6361,6362;
|
|
|
|
- setarray .@color$[0],"Scarlet","Lime Green","Indigo","Yellow Wish";
|
|
|
|
- mes "You have chosen "+.@color$[.@i]+" Points.";
|
|
|
|
- mes "How many do you want?";
|
|
|
|
- mes "If you want to cancel, enter 0.";
|
|
|
|
- next;
|
|
|
|
- input .@amount;
|
|
|
|
- mes "[Point Merchant]";
|
|
|
|
- if (.@amount == 0) {
|
|
|
|
- mes "You've cancelled the trade.";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- if (Zeny < .@amount*200) {
|
|
|
|
- mes "You don't seem to have enough money.";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- if (!checkweight(.@itemid[.@i],.@amount)) {
|
|
|
|
- mes "You don't have enough space in your inventory to buy this amount.";
|
|
|
|
- close;
|
|
|
|
- }
|
|
|
|
- Zeny = Zeny-(.@amount*200);
|
|
|
|
- getitem .@itemid[.@i],.@amount;
|
|
|
|
- mes "Thank you very much. See you~!";
|
|
|
|
- close;
|
|
|
|
|
|
+- shop Shard_Seller HIDDEN_NPC,no,6360:200,6363:200,6361:200,6362:200
|
|
|
|
+
|
|
|
|
+- script ::pss HIDDEN_NPC,{
|
|
|
|
+ npctalk "Do you have an element for each property?", "", bc_self;
|
|
|
|
+ callshop "Shard_Seller",1;
|
|
|
|
+ end;
|
|
}
|
|
}
|
|
|
|
+
|
|
gef_tower,105,172,5 duplicate(pss) Point Merchant#Sorcerer 8_F_GIRL
|
|
gef_tower,105,172,5 duplicate(pss) Point Merchant#Sorcerer 8_F_GIRL
|
|
prt_in,131,66,0 duplicate(pss) Point Merchant#Prontera 8_F_GIRL
|
|
prt_in,131,66,0 duplicate(pss) Point Merchant#Prontera 8_F_GIRL
|
|
alberta,105,52,7 duplicate(pss) Point Merchant#Alberta 8_F_GIRL
|
|
alberta,105,52,7 duplicate(pss) Point Merchant#Alberta 8_F_GIRL
|