From 735c76e3d3ae5a09f41bc869664f8af202928a2b Mon Sep 17 00:00:00 2001 From: JohnnyPlayy Date: Fri, 7 Feb 2020 20:15:43 -0300 Subject: [PATCH] Updates 3rd Trader NPC according to KRO Sakray (#4387) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Updates Poison Herb, Rune Stone, and Point Merchants to a simple shop that doesn’t give discounts. Thanks to @JohnnyPlayy! Co-authored-by: Lemongrass3110 --- npc/re/merchants/3rd_trader.txt | 186 +++++--------------------------- 1 file changed, 24 insertions(+), 162 deletions(-) diff --git a/npc/re/merchants/3rd_trader.txt b/npc/re/merchants/3rd_trader.txt index 0d572a886d..71a704e3a5 100644 --- a/npc/re/merchants/3rd_trader.txt +++ b/npc/re/merchants/3rd_trader.txt @@ -18,138 +18,35 @@ //= 1.4 Updated to match the official scripts. [Euphy] //= 1.5 Added Izlude duplicates. [Euphy] //= 1.5a Remove useless array & misc. [Capuche] +//= 1.6 Changing Shape of NPCs. [JohnnyPlayy] //============================================================ // 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 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 // 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 //============================================================ @@ -216,49 +113,14 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{ // 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 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