Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prontera,152,187,3 script Shadow Blacksmith 1_M_SMITH,{
- disable_items;
- mes "[Shadow Blacksmith]";
- mes "I'm the Armsmith.";
- mes "I can refine all kinds of weapons, armor and equipment, so let me";
- mes "know what you want me to refine.";
- next;
- setarray .@position$[1], "Costume Head Low", "Costume Head Mid", "Costume Head Top", "Costume Head Garment", "Shadow Armor", "Shadow Weapon", "Shadow Shield", "Shadow Shoes", "Shadow Accessory Right", "Shadow Accessory Left";
- .@menu$ = "";
- for(.@i = 1; .@i <= getarraysize(.@position$); ++.@i) {
- .@pos = .@i + 10;
- if(getequipisequiped(.@pos)) {
- .@menu$ += .@position$[.@i] + "-" + "[" + getequipname(.@pos) + "]";
- .@equipped = 1;
- }
- .@menu$ += ":";
- }
- if (.@equipped == 0) {
- mes "[Shadow Blacksmith]";
- mes "I don't think I can refine any items you have...";
- close;
- }
- .@part = select(.@menu$) + 10;
- if(!getequipisequiped(.@part)) { //custom check
- mes "[Shadow Blacksmith]";
- mes "You're not wearing";
- mes "anything there that";
- mes "I can refine.";
- emotion e_an;
- close;
- }
- //Check if the item is refinable...
- if(!getequipisenableref(.@part)) {
- mes "[Shadow Blacksmith]";
- mes "I don't think I can";
- mes "refine this item at all...";
- close;
- }
- //Check to see if the items is already +10
- if(getequiprefinerycnt(.@part) >= 10) {
- mes "[Shadow Blacksmith]";
- mes "I can't refine this";
- mes "any more. This is as";
- mes "refined as it gets!";
- close;
- }
- .@refineitemid = getequipid(.@part); // save id of the item
- .@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
- switch(getequipweaponlv(.@part)){
- case 0: //Refine Armor
- .@price = 2000;
- .@material = 985;
- .@safe = 4;
- break;
- case 1: //Refine Level 1 Weapon
- .@price = 50;
- .@material = 1010;
- .@safe = 7;
- break;
- case 2: //Refine Level 2 Weapon
- .@price = 200;
- .@material = 1011;
- .@safe = 6;
- break;
- case 3: //Refine Level 3 Weapon
- .@price = 5000;
- .@material = 984;
- .@safe = 5;
- break;
- case 4: //Refine Level 4 Weapon
- .@price = 20000;
- .@material = 984;
- .@safe = 4;
- break;
- case 5: //Refine other stuff?
- .@price = 2000;
- .@material = 985;
- .@safe = 4;
- break;
- }
- mes "[Shadow Blacksmith]";
- mes "To refine this I need";
- mes "one ^003366"+getitemname(.@material)+"^000000 and";
- mes "a service fee of " + .@price + " Zeny.";
- mes "Do you really wish to continue?";
- next;
- if(select("Yes:No") == 2){
- mes "[Shadow Blacksmith]";
- mes "Yeah...";
- mes "There's no need to";
- mes "rush. Take your time.";
- close;
- }
- if(getequippercentrefinery(.@part) < 100) {
- mes "[Shadow Blacksmith]";
- mes "Oh no! If I continue to";
- mes "refine this, there's a risk it could";
- switch(.@material) {
- case 985:
- mes "be destroyed! That means that ^FF0000this equipment^000000, and ^FF0000any cards^000000 or special properties added to this armor, ^FF0000will be gone^000000.";
- break;
- default:
- mes "be destroyed, and you'd ^FF0000lose the weapon^000000, any ^FF0000cards in the weapon^000000,";
- mes "or any added special properties.";
- break;
- }
- next;
- mes "["+getarg(0)+"]";
- mes "I can't make it any clearer.";
- mes "Once a weapon is destroyed,";
- mes "there's no getting it back.";
- mes "You really have a chance to";
- mes "^FF0000lose this weapon^000000 forever.";
- mes "Do you still want to refine?";
- next;
- if(select("Yes:No") == 2){
- mes "[Shadow Blacksmith]";
- mes "I completely agree...";
- mes "I might be a great refiner, but sometimes even I make mistakes.";
- close;
- }
- }
- if((countitem(.@material) < 1) || (Zeny < .@price)) {
- mes "[Shadow Blacksmith]";
- mes "You don't seem to have";
- mes "enough Zeny or "+getitemname(.@material)+"...";
- mes "Go get some more. I'll be";
- mes "here all day if you need me.";
- close;
- }
- Zeny -= .@price;
- delitem .@material,1;
- //custom checks
- if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?)
- mes "[Shadow Blacksmith]";
- mes "Look here... you don't have any Items on...";
- close;
- }
- if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item
- mes "[Shadow Blacksmith]";
- emotion e_an;
- mes "Wait a second...";
- mes "Do you think I'm stupid?!";
- mes "You switched the item while I wasn't looking! Get out of here!";
- close;
- }
- if(getequippercentrefinery(.@part) <= rand(100)) {
- failedrefitem .@part;
- mes "[Shadow Blacksmith]";
- emotion (!rand(5))?e_cash:e_omg;
- .@lose = rand(1,3);
- if (.@lose == 1) {
- mes "OH! MY GOD!";
- mes "Damn it! Not again!";
- mes "I'm terribly sorry, but you know practice does make perfect.";
- mes "Um, right? Heh heh...";
- } else if(.@lose == 2) {
- mes "Nooooooo!";
- mes "It broke!";
- mes "I-I'm sorry!";
- } else {
- mes "Crap!";
- mes "It couldn't take";
- mes "much more tempering!";
- mes "Sorry about this...";
- }
- close;
- }
- mes "["+getarg(0)+"]";
- successrefitem .@part;
- emotion e_heh;
- .@win = rand(1,3);
- if (.@win == 1) {
- mes "Perfect!";
- mes "Heh heh!";
- mes "Once again,";
- mes "flawless work";
- mes "from the master~";
- } else if(.@win == 2) {
- mes "Success...!";
- mes "Yet again, my amazing";
- mes "talent truly dazzles";
- mes "and shines today.";
- } else {
- mes "Heh heh!";
- mes "I'm all done.";
- mes "No doubt, my work is";
- mes "to your satisfaction.";
- mes "Sheer, utter perfection~";
- }
- close;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement