diff options
Diffstat (limited to 'npc/017-5/nahrec.txt')
-rw-r--r-- | npc/017-5/nahrec.txt | 109 |
1 files changed, 60 insertions, 49 deletions
diff --git a/npc/017-5/nahrec.txt b/npc/017-5/nahrec.txt index fdb94e794..bd430d7ba 100644 --- a/npc/017-5/nahrec.txt +++ b/npc/017-5/nahrec.txt @@ -8,50 +8,14 @@ // TODO: Silversmith on 24, 25 017-5,44,24,0 script Nahrec NPC_PLAYER,{ + function blacksmith_create; + // Debug if (!is_staff()) { mesn; mesq l("Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!"); - close; - } - - // blacksmith_create( BaseItem1, Amount, BaseItem2, Amount, PrizeItem, Price ) - function blacksmith_create { - .@base1=getarg(0); - .@amon1=getarg(1); - .@base2=getarg(2); - .@amon2=getarg(3); - .@prize=getarg(4); - .@price=getarg(5); - - mesn; - mesq l("Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.", - getitemlink(.@prize), .@amon1, getitemlink(.@base1), .@amon2, getitemlink(.@base2), .@price); - - select - l("Yes"), - l("No"); - - if (@menu == 2) - return; - - if (countitem(.@base1) >= .@amon1 && - countitem(.@base2) >= .@amon2 && - Zeny >= .@price) { - inventoryplace .@prize, 1; - delitem .@base1, .@amon1; - delitem .@base2, .@amon2; - Zeny = Zeny - .@price; - getitem .@prize, 1; - - mes ""; - mesn; - mesq l("Many thanks! Come back soon."); - } else { - speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT, - l("You don't have enough material, sorry."); - } - return; + //close; + next; } mesn; @@ -79,11 +43,13 @@ L_Makestuff: mesn; mesq l("Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals."); select - rif(countitem(WarlordPlate) > 0, l("Can you improve my Warlord Plate for me?")), - rif(countitem(LightPlatemail) > 0, l("Can you improve my Light Platemail for me?")), + rif(false && countitem(WarlordPlate) > 0, l("Can you improve my Warlord Plate for me?")), + rif(false && countitem(LightPlatemail) > 0, l("Can you improve my Light Platemail for me?")), + l("Can you craft Chainmail?"), l("Can you craft Light Platemail?"), - l("Can you craft Warlord Plate?"), + rif(false, l("Can you craft Warlord Plate?")), l("Can you craft Savior Pants?"), + l("Can you craft Chainmail Skirt?"), l("Do you know something about 'Mylarin Dust'?"), l("Nevermind, bye!"); mes ""; @@ -95,16 +61,22 @@ L_Makestuff: blacksmith_create(GoldIngot, 10, LightPlatemail, 1, GoldenLightPlatemail, 30000); break; case 3: - blacksmith_create(IronIngot, 15, SilverIngot, 5, LightPlatemail, 10000); + blacksmith_create(IronIngot, 10, SilverIngot, 2, Chainmail, 20000); break; case 4: - blacksmith_create(IronIngot, 5, GoldenLightPlatemail, 1, WarlordPlate, 5000); + blacksmith_create(IronIngot, 15, SilverIngot, 5, LightPlatemail, 40000); break; case 5: - goto L_Savior; + blacksmith_create(IronIngot, 5, GoldenLightPlatemail, 1, WarlordPlate, 5000); + break; case 6: - goto L_Mylarin; + goto L_Savior; case 7: + blacksmith_create(IronIngot, 10, SilverIngot, 15, ChainmailSkirt, 35000); + break; + case 8: + goto L_Mylarin; + case 9: closedialog; goodbye; close; @@ -130,10 +102,49 @@ L_Savior: mesn; mesq l("Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold."); select - "I'll be back with those items..", - "That's crazy!"; + l("I'll be back with those items.."), + l("That's crazy!"); close; +// blacksmith_create( BaseItem1, Amount, BaseItem2, Amount, PrizeItem, Price ) +function blacksmith_create { + .@base1=getarg(0); + .@amon1=getarg(1); + .@base2=getarg(2); + .@amon2=getarg(3); + .@prize=getarg(4); + .@price=getarg(5); + + mesn; + mesq l("Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.", + getitemlink(.@prize), .@amon1, getitemlink(.@base1), .@amon2, getitemlink(.@base2), .@price); + + select + l("Yes"), + l("No"); + + if (@menu == 2) + return; + + if (countitem(.@base1) >= .@amon1 && + countitem(.@base2) >= .@amon2 && + Zeny >= .@price) { + inventoryplace .@prize, 1; + delitem .@base1, .@amon1; + delitem .@base2, .@amon2; + Zeny = Zeny - .@price; + getitem .@prize, 1; + + mes ""; + mesn; + mesq l("Many thanks! Come back soon."); + } else { + speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT, + l("You don't have enough material, sorry."); + } + return; +} + OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, FancyHat); |