// TMW2/LoF scripts. // Authors: // TMW-LoF Team // Jesusalva // Description: // Forge firearms 017-4,34,23,0 script Pyndragon NPC_PLAYER,{ // craft_gun( BaseItem1, Amount, BaseItem2, Amount, BaseItem3, Amount, PrizeItem, Price ) function craft_gun { .@base1=getarg(0); .@amon1=getarg(1); .@base2=getarg(2); .@amon2=getarg(3); .@base3=getarg(4); .@amon3=getarg(5); .@prize=getarg(6); .@price=getarg(7); mesn; mesq l("Do you want to craft @@? For that I will need:", getitemlink(.@prize)); mesc l("@@/@@ @@", countitem(.@base1), .@amon1, getitemlink(.@base1)); mesc l("@@/@@ @@", countitem(.@base2), .@amon2, getitemlink(.@base2)); mesc l("@@/@@ @@", countitem(.@base3), .@amon3, getitemlink(.@base3)); mesc l("@@/@@ GP", format_number(Zeny), .@price); next; select l("Yes"), l("No"); if (@menu == 2) return; if (countitem(.@base1) >= .@amon1 && countitem(.@base2) >= .@amon2 && countitem(.@base3) >= .@amon3 && Zeny >= .@price) { inventoryplace .@prize, 1; delitem .@base1, .@amon1; delitem .@base2, .@amon2; delitem .@base3, .@amon3; 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; } mesn; if (is_night()) mesq l("Good @@. My name is @@ and I make @@.", l("evening"), .name$, l("firearms")); else mesq l("Good @@. My name is @@ and I make @@.", l("day"), .name$, l("firearms")); next; if (BaseLevel < 60) goto L_TooWeak; else if (BaseLevel < 70) goto L_Weak; goto L_Menu; L_TooWeak: mesn; mesq l("These weapons are only for masters, so you must get levels before being able to use them."); close; L_Weak: mesn; mesq l("You need level 70 to use these guns, but if you want to start collecting materials, you're allowed to."); next; goto L_Menu; L_Menu: menu l("I would like some information"), L_Info, l("I want a gun!"), L_Craft, l("I don't want anything right now, bye."), L_Close; L_Info: mes ""; mesn; mesq l("There are four basic class:"); mesc l("REVOLVERS"); mesc l("* The only one hand ranged weapon you'll ever find. Not amazing at all."); mesc l("RIFLES"); mesc l("* Huge damage and more criticals, but slow fire rate."); mesc l("GATLING"); mesc l("* Shoots like crazy, but deals less damage."); mesc l("SHOTGUNS"); mesc l("* Causes splash damage, and are very expensive."); next; mesn; mesq l("Select carefully which weapon you want, so there are no regrets."); next; goto L_Menu; L_Craft: select l("I changed my mind."), l("I want a REVOLVER."), l("I want a RIFLE."), l("I want a GATLING."), l("I want a SHOTGUN."); mes ""; switch (@menu) { case 2: craft_gun( LeadIngot, 6, TitaniumIngot, 6, Coal, 12, PynRevolver, 15000 ); goto L_Craft; case 3: craft_gun( LeadIngot, 8, TitaniumIngot, 8, Coal, 15, PynRifle, 15000 ); goto L_Craft; case 4: craft_gun( LeadIngot, 8, TitaniumIngot, 8, Coal, 15, PynGatling, 15000 ); goto L_Craft; case 5: craft_gun( LeadIngot, 12, TitaniumIngot, 12, Coal, 24, PynShotgun, 60000 ); goto L_Craft; } goto L_Menu; L_Close: closedialog; goodbye; close; OnInit: .@npcId = getnpcid(0, .name$); setunitdata(.@npcId, UDT_HEADTOP, WarlordHelmet); setunitdata(.@npcId, UDT_HEADMIDDLE, LightPlatemail); setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes); setunitdata(.@npcId, UDT_WEAPON, BromenalPants); setunitdata(.@npcId, UDT_HAIRSTYLE, 2); setunitdata(.@npcId, UDT_HAIRCOLOR, 4); .sex=G_MALE; .distance=5; end; }