johnlol

Master Craftsman

Jul 21st, 2023
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VeriLog 18.48 KB | Gaming | 0 0
  1. //===== rAthena Script =======================================
  2. //= Any-Equipment Enchanter
  3. //===== By: ==================================================
  4. //= SoulDestroyer (souldestroyer1030)
  5. //===== Current Version: =====================================
  6. //= 1.0
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= Add ANY enchant to ANY piece of equipment
  11. //===== Additional Comments: =================================
  12. //= N/A
  13. //============================================================
  14.  
  15. sec_in02,150,153,2  script  Master Craftsman    109,{
  16.     disable_items;
  17.     set .@action, 0;
  18.     mes "[Master Craftsman]";
  19.     mes "I have mastered the art of equipment enchantment.";
  20.     mes "Would you like to enchant something or reset enchantment?";
  21.     next;
  22.     switch(select("Enchant Equipment:Reset Enchantment:Maybe next time.")) {
  23.     case 1:
  24.         set .@action,1;
  25.         break;
  26.     case 2:
  27.         set .@action,2;
  28.         break;
  29.     case 3:
  30.         mes "[Master Craftsman]";
  31.         mes "Okay, come again.";
  32.         close;
  33.     }
  34.    
  35.     if (.@action == 1) {
  36.         next;
  37.         mes "[Master Craftsman]";
  38.         mes "Choose any of the equipment you're wearing that you'd like to enchant.";
  39.         next;
  40.         setarray .@position$[1], "Accessory Left","Shoes","Robe","Head 3","Head 2","Head","Body","Left hand","Right hand","Head Costume";
  41.         set .@menu$,"";
  42.         for(set .@i,1; .@i<=10; set .@i,.@i+1) {
  43.             if(getequipisequiped(.@i)) {
  44.                 set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
  45.                 set .@equipped,1;
  46.             }
  47.             set .@menu$, .@menu$ + ":";
  48.         }
  49.         if (.@equipped == 0) {
  50.             mes "[Master Craftsman]";
  51.             mes "Despite my exceptional skill,";
  52.             mes "I don't think I can enchant anything you have.";
  53.             close;
  54.         }
  55.         set .@part, select(.@menu$);
  56.         next;
  57.  
  58.         if(!getequipisequiped(.@part)) { //custom check
  59.             mes "[Master Craftsman]";
  60.             mes "Sorry, I can only enchant equipment,";
  61.             mes "not body parts. Come back when you're wearing something";
  62.             mes "on that slot.";
  63.             close;
  64.         }
  65.        
  66.         mes "[Master Craftsman]";
  67.         mes "What kind of enchantment do you desire?";
  68.         switch(select("Strength:Intelligence:Dexterity:Agility:Vitality:Luck:MATK:Evasion:Critical:ATK:Defense:MDEF:HP/SP:ASPD:Fighting Spirit:Spell:Sharp:Expert Archer:Fatal:DelayafterAttack:OGH Enchants:PVP?:AdobeRO:Cancel")) {
  69.             case 1:
  70.                 switch(select("STR+1:STR+2:STR+3:STR+4:STR+5:STR+6:STR+7:STR+8:STR+9:STR+10:Cancel")) {
  71.                     case 1: set .@enchantstoneid,4700; break;
  72.                     case 2: set .@enchantstoneid,4701; break;
  73.                     case 3: set .@enchantstoneid,4702; break;
  74.                     case 4: set .@enchantstoneid,4703; break;
  75.                     case 5: set .@enchantstoneid,4704; break;
  76.                     case 6: set .@enchantstoneid,4705; break;
  77.                     case 7: set .@enchantstoneid,4706; break;
  78.                     case 8: set .@enchantstoneid,4707; break;
  79.                     case 9: set .@enchantstoneid,4708; break;
  80.                     case 10: set .@enchantstoneid,4709; break;
  81.                     default: set .@enchantstoneid,0; break;
  82.                 }
  83.                 break;
  84.             case 2:
  85.                 switch(select("INT+1:INT+2:INT+3:INT+4:INT+5:INT+6:INT+7:INT+8:INT+9:INT+10:Cancel")) {
  86.                     case 1: set .@enchantstoneid,4710; break;
  87.                     case 2: set .@enchantstoneid,4711; break;
  88.                     case 3: set .@enchantstoneid,4712; break;
  89.                     case 4: set .@enchantstoneid,4713; break;
  90.                     case 5: set .@enchantstoneid,4714; break;
  91.                     case 6: set .@enchantstoneid,4715; break;
  92.                     case 7: set .@enchantstoneid,4716; break;
  93.                     case 8: set .@enchantstoneid,4717; break;
  94.                     case 9: set .@enchantstoneid,4718; break;
  95.                     case 10: set .@enchantstoneid,4719; break;
  96.                     default: set .@enchantstoneid,0; break;
  97.                 }
  98.                 break;
  99.             case 3:
  100.                 switch(select("DEX+1:DEX+2:DEX+3:DEX+4:DEX+5:DEX+6:DEX+7:DEX+8:DEX+9:DEX+10:Cancel")) {
  101.                     case 1: set .@enchantstoneid,4720; break;
  102.                     case 2: set .@enchantstoneid,4721; break;
  103.                     case 3: set .@enchantstoneid,4722; break;
  104.                     case 4: set .@enchantstoneid,4723; break;
  105.                     case 5: set .@enchantstoneid,4724; break;
  106.                     case 6: set .@enchantstoneid,4725; break;
  107.                     case 7: set .@enchantstoneid,4726; break;
  108.                     case 8: set .@enchantstoneid,4727; break;
  109.                     case 9: set .@enchantstoneid,4728; break;
  110.                     case 10: set .@enchantstoneid,4729; break;
  111.                     default: set .@enchantstoneid,0; break;
  112.                 }
  113.                 break;
  114.             case 4:
  115.                 switch(select("AGI+1:AGI+2:AGI+3:AGI+4:AGI+5:AGI+6:AGI+7:AGI+8:AGI+9:AGI+10:Cancel")) {
  116.                     case 1: set .@enchantstoneid,4730; break;
  117.                     case 2: set .@enchantstoneid,4731; break;
  118.                     case 3: set .@enchantstoneid,4732; break;
  119.                     case 4: set .@enchantstoneid,4733; break;
  120.                     case 5: set .@enchantstoneid,4734; break;
  121.                     case 6: set .@enchantstoneid,4735; break;
  122.                     case 7: set .@enchantstoneid,4736; break;
  123.                     case 8: set .@enchantstoneid,4737; break;
  124.                     case 9: set .@enchantstoneid,4738; break;
  125.                     case 10: set .@enchantstoneid,4739; break;
  126.                     default: set .@enchantstoneid,0; break;
  127.                 }
  128.                 break;
  129.             case 5:
  130.                 switch(select("VIT+1:VIT+2:VIT+3:VIT+4:VIT+5:VIT+6:VIT+7:VIT+8:VIT+9:VIT+10:Cancel")) {
  131.                     case 1: set .@enchantstoneid,4740; break;
  132.                     case 2: set .@enchantstoneid,4741; break;
  133.                     case 3: set .@enchantstoneid,4742; break;
  134.                     case 4: set .@enchantstoneid,4743; break;
  135.                     case 5: set .@enchantstoneid,4744; break;
  136.                     case 6: set .@enchantstoneid,4745; break;
  137.                     case 7: set .@enchantstoneid,4746; break;
  138.                     case 8: set .@enchantstoneid,4747; break;
  139.                     case 9: set .@enchantstoneid,4748; break;
  140.                     case 10: set .@enchantstoneid,4749; break;
  141.                     default: set .@enchantstoneid,0; break;
  142.                 }
  143.                 break;
  144.             case 6:
  145.                 switch(select("LUK+1:LUK+2:LUK+3:LUK+4:LUK+5:LUK+6:LUK+7:LUK+8:LUK+9:LUK+10:Cancel")) {
  146.                     case 1: set .@enchantstoneid,4750; break;
  147.                     case 2: set .@enchantstoneid,4751; break;
  148.                     case 3: set .@enchantstoneid,4752; break;
  149.                     case 4: set .@enchantstoneid,4753; break;
  150.                     case 5: set .@enchantstoneid,4754; break;
  151.                     case 6: set .@enchantstoneid,4755; break;
  152.                     case 7: set .@enchantstoneid,4756; break;
  153.                     case 8: set .@enchantstoneid,4757; break;
  154.                     case 9: set .@enchantstoneid,4758; break;
  155.                     case 10: set .@enchantstoneid,4759; break;
  156.                     default: set .@enchantstoneid,0; break;
  157.                 }
  158.                 break;
  159.             case 7:
  160.                 switch(select("MATK+1%:MATK+2%:MATK+3%:MATK+4%:MATK+5%:MATK+6%:MATK+7%:Cancel")) {
  161.                     case 1: set .@enchantstoneid,4760; break;
  162.                     case 2: set .@enchantstoneid,4761; break;
  163.                     case 3: set .@enchantstoneid,4806; break;
  164.                     case 4: set .@enchantstoneid,4898; break;
  165.                     case 5: set .@enchantstoneid,4899; break;
  166.                     case 6: set .@enchantstoneid,4906; break;
  167.                     case 7: set .@enchantstoneid,4907; break;
  168.                     default: set .@enchantstoneid,0; break;
  169.                 }
  170.                 break;
  171.             case 8:
  172.                 switch(select("Evasion1:Evasion3:Evasion6:Evasion12:Cancel")) {
  173.                     case 1: set .@enchantstoneid,4859; break;
  174.                     case 2: set .@enchantstoneid,4860; break;
  175.                     case 3: set .@enchantstoneid,4762; break;
  176.                     case 4: set .@enchantstoneid,4763; break;
  177.                     default: set .@enchantstoneid,0; break;
  178.                 }
  179.                 break;
  180.             case 9:
  181.                 switch(select("Critical1:Critical2:Critical4:Critical5:Critical7")) {
  182.                     case 1: set .@enchantstoneid,4926; break;
  183.                     case 2: set .@enchantstoneid,4939; break;
  184.                     case 3: set .@enchantstoneid,4941; break;
  185.                     case 4: set .@enchantstoneid,4764; break;
  186.                     case 5: set .@enchantstoneid,4765; break;
  187.                     default: set .@enchantstoneid,0; break;
  188.                 }
  189.                 break;
  190.             case 10:
  191.                 switch(select("Atk+1:Atk+2:Atk+3:Atk+1%:Atk+4%:Atk+5%:Atk+6%:Atk+7%:Cancel")) {
  192.                     case 1: set .@enchantstoneid,4819; break;
  193.                     case 2: set .@enchantstoneid,4766; break;
  194.                     case 3: set .@enchantstoneid,4767; break;
  195.                     case 4: set .@enchantstoneid,4882; break;
  196.                     case 5: set .@enchantstoneid,4894; break;
  197.                     case 6: set .@enchantstoneid,4895; break;
  198.                     case 7: set .@enchantstoneid,4904; break;
  199.                     case 8: set .@enchantstoneid,4905; break;
  200.                     default: set .@enchantstoneid,0; break;
  201.                 }
  202.                 break;
  203.             case 11:
  204.                 switch(select("Def+3:Def+6:Def+9:Def+12:Def+15:Def+18:Def+21:Cancel")) {
  205.                     case 1: set .@enchantstoneid,4791; break;
  206.                     case 2: set .@enchantstoneid,4792; break;
  207.                     case 3: set .@enchantstoneid,4793; break;
  208.                     case 4: set .@enchantstoneid,4794; break;
  209.                     case 5: set .@enchantstoneid,4893; break;
  210.                     case 6: set .@enchantstoneid,4902; break;
  211.                     case 7: set .@enchantstoneid,4903; break;
  212.                     default: set .@enchantstoneid,0; break;
  213.                 }
  214.                 break;
  215.             case 12:
  216.                 switch(select("Mdef+1:Mdef+2:Mdef+3:Mdef+4:Mdef+5:Mdef+6:Mdef+8:Mdef+10:Cancel")) {
  217.                     case 1: set .@enchantstoneid,4890; break;
  218.                     case 2: set .@enchantstoneid,4786; break;
  219.                     case 3: set .@enchantstoneid,4891; break;
  220.                     case 4: set .@enchantstoneid,4787; break;
  221.                     case 5: set .@enchantstoneid,4892; break;
  222.                     case 6: set .@enchantstoneid,4788; break;
  223.                     case 7: set .@enchantstoneid,4789; break;
  224.                     case 8: set .@enchantstoneid,4790; break;
  225.                     default: set .@enchantstoneid,0; break;
  226.                 }
  227.                 break;
  228.             case 13:
  229.                 switch(select("HP100:HP200:HP300:HP400:HP500:SP25:SP50:SP75:SP100:SP150:Cancel")) {
  230.                     case 1: set .@enchantstoneid,4795; break;
  231.                     case 2: set .@enchantstoneid,4796; break;
  232.                     case 3: set .@enchantstoneid,4797; break;
  233.                     case 4: set .@enchantstoneid,4798; break;
  234.                     case 5: set .@enchantstoneid,4799; break;
  235.                     case 6: set .@enchantstoneid,4870; break;
  236.                     case 7: set .@enchantstoneid,4800; break;
  237.                     case 8: set .@enchantstoneid,4871; break;
  238.                     case 9: set .@enchantstoneid,4801; break;
  239.                     case 10: set .@enchantstoneid,4802; break;
  240.                     default: set .@enchantstoneid,0; break;
  241.                 }
  242.                 break;
  243.             case 14:
  244.                 switch(select("Atk Speed1:Atk Speed2")) {
  245.                     case 1: set .@enchantstoneid,4807; break;
  246.                     case 2: set .@enchantstoneid,4842; break;
  247.                     default: set .@enchantstoneid,0; break;
  248.                 }
  249.                 break;
  250.             case 15:
  251.                 switch(select("Fighting Spirit1:Fighting Spirit2:Fighting Spirit3:Fighting Spirit4:Fighting Spirit5:Fighting Spirit6:Fighting Spirit7:Fighting Spirit8:Fighting Spirit9:Fighting Spirit10:Cancel")) {
  252.                     case 1: set .@enchantstoneid,4811; break;
  253.                     case 2: set .@enchantstoneid,4810; break;
  254.                     case 3: set .@enchantstoneid,4809; break;
  255.                     case 4: set .@enchantstoneid,4808; break;
  256.                     case 5: set .@enchantstoneid,4820; break;
  257.                     case 6: set .@enchantstoneid,4821; break;
  258.                     case 7: set .@enchantstoneid,4822; break;
  259.                     case 8: set .@enchantstoneid,4823; break;
  260.                     case 9: set .@enchantstoneid,4824; break;
  261.                     case 10: set .@enchantstoneid,4825; break;
  262.                     default: set .@enchantstoneid,0; break;
  263.                 }
  264.                 break;
  265.             case 16:
  266.                 switch(select("Spell1:Spell2:Spell3:Spell4:Spell5:Spell6:Spell7:Spell8:Spell9:Spell10:Cancel")) {
  267.                     case 1: set .@enchantstoneid,4815; break;
  268.                     case 2: set .@enchantstoneid,4814; break;
  269.                     case 3: set .@enchantstoneid,4813; break;
  270.                     case 4: set .@enchantstoneid,4812; break;
  271.                     case 5: set .@enchantstoneid,4826; break;
  272.                     case 6: set .@enchantstoneid,4827; break;
  273.                     case 7: set .@enchantstoneid,4828; break;
  274.                     case 8: set .@enchantstoneid,4829; break;
  275.                     case 9: set .@enchantstoneid,4830; break;
  276.                     case 10: set .@enchantstoneid,4831; break;
  277.                     default: set .@enchantstoneid,0; break;
  278.                 }
  279.                 break;
  280.             case 17:
  281.                 switch(select("Sharp1:Sharp2:Sharp3:Sharp4:Sharp5:Cancel")) {
  282.                     case 1: set .@enchantstoneid,4818; break;
  283.                     case 2: set .@enchantstoneid,4817; break;
  284.                     case 3: set .@enchantstoneid,4816; break;
  285.                     case 4: set .@enchantstoneid,4843; break;
  286.                     case 5: set .@enchantstoneid,4844; break;
  287.                     default: set .@enchantstoneid,0; break;
  288.                 }
  289.                 break;
  290.             case 18:
  291.                 switch(select("Expert Archer1:Expert Archer2:Expert Archer3:Expert Archer4:Expert Archer5:Expert Archer6:Expert Archer7:Expert Archer8:Expert Archer9:Expert Archer10:Cancel")) {
  292.                     case 1: set .@enchantstoneid,4832; break;
  293.                     case 2: set .@enchantstoneid,4833; break;
  294.                     case 3: set .@enchantstoneid,4834; break;
  295.                     case 4: set .@enchantstoneid,4835; break;
  296.                     case 5: set .@enchantstoneid,4836; break;
  297.                     case 6: set .@enchantstoneid,4837; break;
  298.                     case 7: set .@enchantstoneid,4838; break;
  299.                     case 8: set .@enchantstoneid,4839; break;
  300.                     case 9: set .@enchantstoneid,4840; break;
  301.                     case 10: set .@enchantstoneid,4841; break;
  302.                     default: set .@enchantstoneid,0; break;
  303.                 }
  304.                 break;
  305.             case 19:
  306.                 switch(select("Fatal1Lv:Fatal2Lv:Fatal3Lv:Fatal4Lv:Cancel")) {
  307.                     case 1: set .@enchantstoneid,4863; break;
  308.                     case 2: set .@enchantstoneid,4864; break;
  309.                     case 3: set .@enchantstoneid,4865; break;
  310.                     case 4: set .@enchantstoneid,4866; break;
  311.                     default: set .@enchantstoneid,0; break;
  312.                 }
  313.                 break;
  314.             case 20:
  315.                 switch(select("DelayafterAttackLv1:DelayafterAttackLv2:DelayafterAttackLv3:DelayafterAttackLv4:Cancel")) {
  316.                     case 1: set .@enchantstoneid,4869; break;
  317.                     case 2: set .@enchantstoneid,4872; break;
  318.                     case 3: set .@enchantstoneid,4873; break;
  319.                     case 4: set .@enchantstoneid,4881; break;
  320.                     default: set .@enchantstoneid,0; break;
  321.                 }
  322.                 break;
  323.             case 21:
  324.                 switch(select("Bear's Power:Hawkeye:Lucky Day:Muscle Fool:Runaway Magic:Speed of Light:Cancel")) {
  325.                     case 1: set .@enchantstoneid,4875; break;
  326.                     case 2: set .@enchantstoneid,4879; break;
  327.                     case 3: set .@enchantstoneid,4880; break;
  328.                     case 4: set .@enchantstoneid,4878; break;
  329.                     case 5: set .@enchantstoneid,4876; break;
  330.                     case 6: set .@enchantstoneid,4877; break;
  331.                     default: set .@enchantstoneid,0; break;
  332.                 }
  333.                 break;
  334.             case 22:
  335.                 switch(select("Immuned1:Cranial1:Heal_Amount5:Conjure5:MHP5:Skill_Delay3:Thrift3:Cancel")) {
  336.                     case 1: set .@enchantstoneid,4848; break;
  337.                     case 2: set .@enchantstoneid,4849; break;
  338.                     case 3: set .@enchantstoneid,4852; break;
  339.                     case 4: set .@enchantstoneid,4889; break;
  340.                     case 5: set .@enchantstoneid,4900; break;
  341.                     case 6: set .@enchantstoneid,4950; break;
  342.                     case 7: set .@enchantstoneid,4947; break;
  343.                     default: set .@enchantstoneid,0; break;
  344.                 }
  345.                 break;
  346.             case 23:
  347.                 switch(select("Mettle10:MagicEessence10:Acute10:MasterArcher10:Adamatine10:Affection10:JusticeOfGoddess_S:LoveOfGoddess_S:InsightOfGoddess_S:Identify:Resurrection:Cancel")) {
  348.                     case 1: set .@enchantstoneid,29070; break;
  349.                     case 2: set .@enchantstoneid,29080; break;
  350.                     case 3: set .@enchantstoneid,29090; break;
  351.                     case 4: set .@enchantstoneid,29100; break;
  352.                     case 5: set .@enchantstoneid,29110; break;
  353.                     case 6: set .@enchantstoneid,29120; break;
  354.                     case 7: set .@enchantstoneid,29122; break;
  355.                     case 8: set .@enchantstoneid,29124; break;
  356.                     case 9: set .@enchantstoneid,29126; break;
  357.                     case 10: set .@enchantstoneid,29146; break;
  358.                     case 11: set .@enchantstoneid,29147; break;
  359.                     default: set .@enchantstoneid,0; break;
  360.                 }
  361.                 break;
  362.             default:
  363.                 set .@enchantstoneid,0;
  364.                 break;
  365.         }
  366.        
  367.         set .@enchantitemid, getequipid(.@part); // save id of the item
  368.         set .@slots, getitemslots(.@enchantitemid); // slots of the item
  369.         set .@refinelevel, getequiprefinerycnt(.@part); // refine level of the item
  370.         setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3); // get current cards
  371.         next;
  372.         if (.@enchantstoneid == 0) {
  373.             mes "[Master Craftsman]";
  374.             mes "Stop wasting my time...";
  375.         }
  376.         else {
  377.             // anti-hack
  378.             if (callfunc("F_IsEquipIDHack", .@part, .@enchantitemid) ||
  379.                 callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3])) {
  380.                 mes "[Master Craftsman]";
  381.                 mes "Hey! What do you think you're doing!";
  382.                 mes "Don't you dare switch your gear while I'm working on them, okay?";
  383.                 close;
  384.             }
  385.            
  386.             if (.@equip_card[3] == 0 && .@slots < 4) {
  387.                 set .@equip_card[3],.@enchantstoneid;
  388.             }
  389.             else if (.@equip_card[2] == 0 && .@slots < 3) {
  390.                 set .@equip_card[2],.@enchantstoneid;
  391.             }
  392.             else if (.@equip_card[1] == 0 && .@slots < 2) {
  393.                 set .@equip_card[1],.@enchantstoneid;
  394.             }
  395.             else if (.@equip_card[0] == 0 && .@slots < 1) {
  396.                 set .@equip_card[0],.@enchantstoneid;
  397.             }
  398.             else {
  399.                 mes "[Master Craftsman]";
  400.                 mes "I don't think I can fit any more enchantments";
  401.                 mes "onto this piece of equipment.";
  402.                 close;
  403.             }
  404.            
  405.             specialeffect2 EF_REPAIRWEAPON;
  406.             delequip .@part;
  407.             getitem2 .@enchantitemid,1,1,.@refinelevel,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
  408.             mes "[Master Craftsman]";
  409.             mes "All done!";
  410.         }
  411.     }
  412.     else if (.@action == 2) {
  413.         next;
  414.         mes "[Master Craftsman]";
  415.         mes "Choose any of the equipment you're wearing that you'd like to have the enchants reset.";
  416.         next;
  417.         setarray .@position$[1], "Accessory Left","Shoes","Robe","Head 3","Head 2","Head","Body","Left hand","Right hand","Head Costume";
  418.         set .@menu$,"";
  419.         for(set .@i,1; .@i<=10; set .@i,.@i+1) {
  420.             if(getequipisequiped(.@i)) {
  421.                 set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
  422.                 set .@equipped,1;
  423.             }
  424.             set .@menu$, .@menu$ + ":";
  425.         }
  426.         if (.@equipped == 0) {
  427.             mes "[Master Craftsman]";
  428.             mes "I don't think I can work on this.";
  429.             close;
  430.         }
  431.         set .@part, select(.@menu$);
  432.         next;
  433.  
  434.         if(!getequipisequiped(.@part)) { //custom check
  435.             mes "[Master Craftsman]";
  436.             mes "Are you kidding me? You're not wearing anything on that slot.";
  437.             close;
  438.         }
  439.        
  440.         set .@enchantitemid, getequipid(.@part); // save id of the item
  441.         set .@slots, getitemslots(.@enchantitemid); // slots of the item
  442.         set .@refinelevel, getequiprefinerycnt(.@part); // refine level of the item
  443.         setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3); // get current cards
  444.            
  445.         // anti-hack
  446.         if (callfunc("F_IsEquipIDHack", .@part, .@enchantitemid) ||
  447.             callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3])) {
  448.             mes "[Master Craftsman]";
  449.             mes "Hey! What do you think you're doing!";
  450.             mes "Don't you dare switch your gear while I'm working on them, okay?";
  451.             close;
  452.         }
  453.        
  454.         if (.@equip_card[3] != 0 && .@slots < 4) {
  455.             set .@equip_card[3], 0;
  456.         }
  457.         if (.@equip_card[2] != 0 && .@slots < 3) {
  458.             set .@equip_card[2], 0;
  459.         }
  460.         if (.@equip_card[1] != 0 && .@slots < 2) {
  461.             set .@equip_card[1], 0;
  462.         }
  463.         if (.@equip_card[0] != 0 && .@slots < 1) {
  464.             set .@equip_card[0], 0;
  465.         }
  466.        
  467.         specialeffect2 EF_REPAIRWEAPON;
  468.         delequip .@part;
  469.         getitem2 .@enchantitemid,1,1,.@refinelevel,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
  470.         mes "[Master Craftsman]";
  471.         mes "All done!";
  472.     }
  473.     close;
  474. }
Add Comment
Please, Sign In to add comment