pastebin - collaborative debugging tool
kpaste.net RSS


Untitled
Posted by Anonymous on Sun 4th Feb 2024 01:01
raw | new post

  1. baldr2,130,43,6 script  Enchant Master  998,{
  2.         disable_items;
  3.         if(.s_only_vip){
  4.                 if(!vip_status(VIP_STATUS_ACTIVE)){
  5.                         mes "this service only for vip";
  6.                         close;
  7.                 }
  8.         }
  9.         if (BaseLevel < .s_level_required[0]){
  10.                 mes "Your level is too Low.";
  11.                 mes "   ";
  12.                 mes "Minimum level "+.s_level_required[0]+".";
  13.                 close;
  14.         }else if(BaseLevel > .s_level_required[1]){
  15.                 mes "Your level is too High.";
  16.                 mes "   ";
  17.                 mes "Maximum level "+.s_level_required[1]+".";
  18.                 close;
  19.         }
  20.         mes "[ Enchant Master ] ";
  21.         mes "Hello!";
  22.         mes "Do you want to enchant you items!";
  23.         mes "I am the best enchanter in the world!";
  24.         next;
  25.         if(.s_zeny > 0)
  26.                 mes "[ Enchant Master ] ";
  27.                 mes "this will cost you " + .s_zeny + " Zeny only!";
  28.         if(.item_is_required)
  29.                 mes "and an enchantment orb";
  30.         mes "I will do my best to enchant it Successfully!";
  31.         mes "but remember,";
  32.         mes "There is luck in this work too.";
  33.         next;
  34.         mes "[ Enchant Master ] ";
  35.         mes "please if you have items same";
  36.         mes "as the item you want to enchant";
  37.         mes "but them in the storage and come back to me!";
  38.         next;
  39.         .@string$[0] = "Enchant";
  40.         if(.remove_enchant)
  41.                 .@string$[1] = "Remove Enchant";
  42.         if(.enable_the_shop)
  43.                 .@string$[2] = "The Items you can enchant";
  44.         mes "[ Enchant Master ] ";
  45.         mes "So what you want to do?!";
  46.         menu .@string$[0],L_Enchant,.@string$[1],L_Remove,.@string$[2],-;
  47.         callsub Q_shop; end;
  48.         L_Remove: .@remove_orbs = true;
  49.         L_Enchant:
  50.         next;
  51.         mes "[ Enchant Master ] ";
  52.         mes "please select the item you want to enchant";
  53.         for(.@i=0; .@i<getarraysize(.s_all$); .@i++)
  54.                 if(getequipid(.s_all_loc[.@i])>-1) {
  55.                         set .@armor_menu$, .@armor_menu$ + .s_all$[.@i] + " - [ ^E81B02" + getitemname(getequipid(.s_all_loc[.@i])) + "^000000 ]:";
  56.                 }else{
  57.                         set .@armor_menu$, .@armor_menu$ + .s_all$[.@i] + " - [ ^D6C4E8" + "No Equip" + "^000000 ]:";
  58.                 }
  59.         set .@s_all_selected, select(.@armor_menu$) -1;
  60.         if(getequipid(.s_all_loc[.@s_all_selected])< 0){
  61.                 mes "[ Enchant Master ] ";
  62.                 mes "You don't have item equiped there.";
  63.                 close;
  64.         }
  65.         if (countitem(getequipid(.s_all_loc[.@s_all_selected])) > 1){
  66.                         mes "[ Enchant Master ] ";
  67.                         mes "You have more then one item";
  68.                         mes "from the item that you want to enchant";
  69.                         close;
  70.         }
  71.         .@s_item_refine = getequiprefinerycnt(.s_all_loc[.@s_all_selected]);
  72.         if( getd(".specific_" + .s_all$[.@s_all_selected] + "s") ==1){
  73.                 for(.@i=0;.@i<getarraysize(getd("." + .s_all$[.@s_all_selected] + "s$"));.@i++){
  74.                         if(getequipid(.s_all_loc[.@s_all_selected]) == atoi(getd("." + .s_all$[.@s_all_selected] + "s$["+.@i+"]"))){
  75.                                 .@good_to_go = true;
  76.                         }
  77.                 }
  78.         }else{
  79.                 for(.@i=0;.@i<getarraysize(.black_list$);.@i++){
  80.                         if(getequipid(.s_all_loc[.@s_all_selected]) == atoi(.black_list$[.@i])){
  81.                                 .@black_list_item = true;
  82.                         }
  83.                 }
  84.                 .@good_to_go = true;
  85.         }
  86.         if(!.@good_to_go || .@black_list_item){
  87.                 mes "^FF0000Sorry^000000";
  88.                 mes "^FF0000I can't enchant this item.^000000";
  89.                 close;
  90.         }
  91.         for(.@i=0;.@i<(MAX_ITEM_RDM_OPT);.@i++){
  92.                 .@r_id[.@i] = getequiprandomoption(.s_all_loc[.@s_all_selected],.@i,ROA_ID);
  93.                 .@r_v[.@i] = getequiprandomoption(.s_all_loc[.@s_all_selected],.@i,ROA_VALUE);
  94.                 .@r_p[.@i] = getequiprandomoption(.s_all_loc[.@s_all_selected],.@i,ROA_PARAM);
  95.         }
  96.        
  97.         .@card0 = getequipcardid(.s_all_loc[.@s_all_selected],0);
  98.         .@card1 = getequipcardid(.s_all_loc[.@s_all_selected],1);
  99.         .@card2 = getequipcardid(.s_all_loc[.@s_all_selected],2);
  100.         .@card3 = getequipcardid(.s_all_loc[.@s_all_selected],3);
  101.         if(.@remove_orbs){
  102.                 next;
  103.                 mes "[ Enchant Master ] ";
  104.                 mes "this will remove all the cards and orbs inside the item!";
  105.                 if (.s_zeny_remove > 0) {
  106.                         mes "this will cost you " + .s_zeny_remove + " Zeny.";
  107.                 }
  108.                 mes "are you sure?";
  109.                         switch(select("NO:Yes")){
  110.                                 case 1: end;
  111.                                 case 2:
  112.                                         mes "[ Enchant Master ] ";
  113.                                         mes "for the last time!";
  114.                                         mes "are you sure?";
  115.                                         switch(select("NO:Yes")){
  116.                                         case 1: end;
  117.                                         case 2:
  118.                                                 if (Zeny < .s_zeny_remove) {
  119.                                                         mes "[ Enchant Master ] ";
  120.                                                         mes "Sorry, but you don't have enough zeny.";
  121.                                                         close;
  122.                                                 }
  123.                                                 if(.select_remove_orb){
  124.                                                         if(.@card0 == 0).@card0$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]"; else .@card0$ = getitemname(.@card0);
  125.                                                         if(.@card1 == 0).@card1$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]"; else .@card1$ = getitemname(.@card1);
  126.                                                         if(.@card2 == 0).@card2$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]"; else .@card2$ = getitemname(.@card2);
  127.                                                         if(.@card3 == 0).@card3$ = " - [ ^D6C4E8" + "No Equip" + "^000000 ]"; else .@card3$ = getitemname(.@card3);
  128.                                                         switch(select(.@card0$,.@card1$,.@card2$,.@card3$)){
  129.                                                                 case 1: .@card0 = 0; break;
  130.                                                                 case 2: .@card1 = 0; break;
  131.                                                                 case 3: .@card2 = 0; break;
  132.                                                                 case 4: .@card3 = 0; break;
  133.                                                         }
  134.                                                         specialeffect2 EF_REPAIRWEAPON;
  135.                                                         set .@item, getequipid(.s_all_loc[.@s_all_selected]);
  136.                                                         delitem .@item,1;
  137.                                                         getitem3 .@item, 1, 1, .@s_item_refine, 0, .@card0, .@card1, .@card2, .@card3,.@r_id,.@r_v,.@r_p;
  138.                                                         set Zeny, Zeny-.s_zeny_remove;
  139.                                                         end;
  140.                                                 }
  141.                                                 specialeffect2 EF_REPAIRWEAPON;
  142.                                                 set .@item, getequipid(.s_all_loc[.@s_all_selected]);
  143.                                                 delitem .@item,1;
  144.                                                 getitem3 .@item, 1, 1, .@s_item_refine, 0, 0, 0, 0, 0,.@r_id,.@r_v,.@r_p;
  145.                                                 set Zeny, Zeny-.s_zeny_remove;
  146.                                                 end;
  147.                                         }
  148.                         }
  149.         }
  150.         if(.chosse_orb){
  151.                 next;
  152.                 mes "[ Enchant Master ] ";
  153.                 mes "select the orb you want";
  154.                 for(.@i=0; .@i<getarraysize(getd("." + .s_all$[.@s_all_selected] + "$")); .@i++)
  155.                                 set .@orb_menu$, .@orb_menu$ + getitemname(atoi(getd("." + .s_all$[.@s_all_selected] + "$["+.@i+"]"))) + ":";
  156.                 set .@s_orb_selected, select(.@orb_menu$) -1;
  157.                 .@selected_orb_id = getd("." + .s_all$[.@s_all_selected] + "$["+.@s_orb_selected+"]");
  158.         }else{
  159.                 .@selected_orb_size = rand(getarraysize(getd("." + .s_all$[.@s_all_selected] + "$")));
  160.                 .@selected_orb_id = getd("." + .s_all$[.@s_all_selected] + "$["+.@selected_orb_size+"]");
  161.         }
  162.         next;
  163.         mes "[ Enchant Master ] ";
  164.         mes "which slot ?";
  165.         for(.@i=getd(".slot_count_" + .s_all$[.@s_all_selected]); .@i<4; .@i++)
  166.                 if(getequipcardid(.s_all_loc[.@s_all_selected],.@i)!= null) {
  167.                         set .@slot_menu$, .@slot_menu$ + " [ ^E81B02" + getitemname(getequipcardid(.s_all_loc[.@s_all_selected],.@i)) + "^000000 ]:";
  168.                 }else{
  169.                         set .@slot_menu$, .@slot_menu$ + " [ ^D6C4E8" + "Empty" + "^000000 ]:";
  170.                 }
  171.         set .@s_slot_selected, select(.@slot_menu$) -1;
  172.         .@s_slot_selected += getd(".slot_count_" + .s_all$[.@s_all_selected]);
  173.         if(!.s_enchant_overwrite){
  174.                 if(getequipcardid(.s_all_loc[.@s_all_selected],.@s_slot_selected) > 0){
  175.                         mes "[ Enchant Master ] ";
  176.                         mes "you already have orb in this slot";
  177.                         close;
  178.                 }
  179.         }
  180.         if (Zeny < .s_zeny) {
  181.                         mes "[ Enchant Master ] ";
  182.                         mes "Sorry, but you don't have enough zeny.";
  183.                         close;
  184.                 }
  185.         if(.item_is_required && .chosse_orb){
  186.                 if (countitem(.@selected_orb_id) < 1){
  187.                         mes "[ Enchant Master ] ";
  188.                         mes"you don't have enchant orb";
  189.                         close;
  190.                 }
  191.         }
  192.         close2;
  193.         specialeffect2 EF_MAPPILLAR;
  194.         progressbar "ffff00",.progress_time;
  195.         set Zeny, Zeny-.s_zeny;
  196.         if(.item_is_required && .chosse_orb){delitem .@selected_orb_id,1;}
  197.         if (rand(100) < .success_chanse[.@s_slot_selected]){
  198.                 mes "We did it!";
  199.                 specialeffect2 154;
  200.                 setd(".@card" + .@s_slot_selected, .@selected_orb_id);
  201.                 set .@item, getequipid(.s_all_loc[.@s_all_selected]);
  202.                 delitem .@item,1;
  203.                 getitem3 .@item, 1, 1, .@s_item_refine, 0, .@card0, .@card1, .@card2, .@card3,.@r_id,.@r_v,.@r_p;
  204.                 equip .@item;
  205.                 close;
  206.         }else{
  207.                 specialeffect2 155;
  208.                 mes "[ Enchant Master ] ";
  209.                 mes "I am sorry";
  210.                 mes "We did Fail";
  211.                 specialeffect2 EF_PHARMACY_FAIL;
  212.                 if (rand(100) < .brack_chance){
  213.                         set .@item, getequipid(.s_all_loc[.@s_all_selected]);
  214.                         delitem .@item,1;
  215.                         mes "[ Enchant Master ] ";
  216.                         mes "and it broke!!";
  217.                         specialeffect EF_SUI_EXPLOSION;
  218.                 }
  219.                 close;
  220.         }
  221.        
  222.        
  223. Q_shop:
  224.         switch(select("Germents:Uppers:Middels:Lowers")){
  225.         //case 1: callshop "enchantable_items_Weapon",1; break;
  226.         //case 2: callshop "enchantable_items_Armor",1; break;
  227.         //case 3: callshop "enchantable_items_Shield",1; break;
  228.         case 1: callshop "enchantable_items_Germent",1; break;
  229.         //case 5: callshop "enchantable_items_Shose",1; break;
  230.         //case 6: callshop "enchantable_items_Accessary",1; break;
  231.         case 2: callshop "enchantable_items_Upper",1; break;
  232.         case 3: callshop "enchantable_items_Middel",1; break;
  233.         case 4: callshop "enchantable_items_Lower",1; break;
  234.         }
  235. end;   
  236.  
  237. OnInit:
  238.         //--------------------------------------------------------------//
  239.         //--------------------------------------------------------------//
  240.         //--------------------   configuration   -----------------------//
  241.         //--------------------------------------------------------------//
  242.         //--------------------------------------------------------------//
  243.        
  244.         //--------------------------------------------------------------//
  245.         //if you want to remove one from the menu you need to remove it down too!! /or add
  246.         //--------------------------------------------------------------//
  247.         setarray .s_all$,
  248.                         //"Weapon",
  249.                         //"Armor",
  250.                         //"Shield",
  251.                         "Germent",
  252.                         //"Shose",
  253.                         //"Accessary",
  254.                         "Upper",
  255.                         "Middel",
  256.                         "Lower";
  257.         setarray .s_all_loc,EQI_COSTUME_GARMENT,EQI_COSTUME_HEAD_TOP,EQI_COSTUME_HEAD_MID,EQI_COSTUME_HEAD_LOW;
  258.        
  259.         //--------------------------------------------------------------//
  260.         //Orbs IDs (Note : Shield = left hand so the weapon on the left hand count as Shield too!
  261.         //--------------------------------------------------------------//
  262.         //setarray .Weapon$,4741,4933,4861,4762,4934;   //right handed weapons
  263.         //setarray .Armor$,4933,4861,4762,4934; //Armors
  264.         //setarray .Shield$,4861,4762,4934;     //Shields and left hand weapons
  265.         setarray .Germent$,4741,4933,4861,4762,4934;    //Germent
  266.         //setarray .Shose$,4741,4933,4861,4762,4934;    //Shose
  267.         //setarray .Accessary$,4741,4933,4861,4762,4934;        //orbs id
  268.         setarray .Upper$,4741,4933,4861,4762,4934;      //Accessary
  269.         setarray .Middel$,4741,4933,4861,4762,4934;     //Middel
  270.         setarray .Lower$,4741,4933,4861,4762,4934;      //Lower
  271.        
  272.         //--------------------------------------------------------------//
  273.         //if you want to put specific IDs for kind of gear put it to 1
  274.         //--------------------------------------------------------------//
  275.         //.specific_Weapons = true;
  276.         //.specific_Armors = true;
  277.         //.specific_Shields = true;
  278.         .specific_Germents = true;
  279.         //.specific_Shoses = true;
  280.         //.specific_Accessarys = true;
  281.         .specific_Uppers = true;
  282.         .specific_Middels = true;
  283.         .specific_Lowers = true;
  284.        
  285.         //--------------------------------------------------------------//
  286.         //if specific put the IDs here
  287.         //--------------------------------------------------------------//
  288.         //setarray .Weapons$,1601,1201,1204,1207,1210,1213,1216,1219,1222,1247,1248,1249;       //right handed weapons
  289.         //setarray .Armors$,2301,2303,2305,2307,2307,2309,2312,2314,2316,2321,2323,2325,2328,2330,2332; //Armors
  290.         //setarray .Shields$,2101,2103,2105,2107,2113,2117;     //Shields and left hand weapons
  291.         setarray .Germents$,20590;      //Germents
  292.         //setarray .Shoses$,2416,2401,2403,2405,2411;   //Shoses
  293.         //setarray .Accessarys$,2628,2608,2609,2612,2613,2627;  //Accessarys
  294.         setarray .Uppers$,2206,2208,2211,2216;  //Uppers
  295.         setarray .Middels$,2218,2241;   //Middels
  296.         setarray .Lowers$,2628,2206;    //Lowers
  297.        
  298.         //--------------------------------------------------------------//
  299.         //if not specific put the black list IDs here (if you want
  300.         //--------------------------------------------------------------//
  301.         setarray .black_list$,2335,2338,2340,2341;
  302.        
  303.         //--------------------------------------------------------------//
  304.         //here you can make a specific slot number for each kind
  305.         //0 = all 4 slot ,1 = last 3 slot ,2 = last 2 slot ,3 = last 1 slot
  306.         //--------------------------------------------------------------//
  307.         //.slot_count_Weapon = 0;
  308.         //.slot_count_Armor = 3;
  309.         //.slot_count_Shield = 0;
  310.         .slot_count_Germent = 3;
  311.         //.slot_count_Shose = 0;
  312.         //.slot_count_Accessary = 0;
  313.         .slot_count_Upper = 3;
  314.         .slot_count_Middel = 3;
  315.         .slot_count_Lower = 3;
  316.        
  317.         //--------------------------------------------------------------//
  318.         //other configuration
  319.         //--------------------------------------------------------------//
  320.         setarray .s_level_required,0,99;        //the level required to use the npc
  321.         .s_only_vip = false;    //if you want only vip to use it put it to 1
  322.         setarray .success_chanse,100,100,100,100;       //success chanse [1st_slot_chanse,2nd_slot_chanse,3rd_slot_chanse,4th_slot_chanse]
  323.         .s_zeny = 1000000;      //if you don't want zeny requirment set it to 0
  324.         .s_zeny_remove = 200000;        //this for enchantment reset
  325.         .item_is_required = true;       //if you want the orb it self to be required true = yes , false = no(if .chosse_orb = false this will be false too)
  326.         .s_enchant_overwrite = false;   //if true then you can overwrite the enchant
  327.         .progress_time = 7;     //the time that needed to wait until the socket end
  328.         .chosse_orb = true;     //false = random ,true = yes
  329.         .brack_chance = 0;      //the chanse that it will brack if it fail
  330.         .remove_enchant = true; //false = no ,true = yes
  331.         .select_remove_orb = true;
  332.         //--------------------------------------------------------------//
  333.         //this will only show the items that the npc can enchant in a shop but no one can buy from it as long as you don't give them the value
  334.         //--------------------------------------------------------------//
  335.         .enable_the_shop = false;
  336.  
  337.  
  338.        
  339.        
  340.        
  341.         //--------------------------------------------------------------//
  342.         //Do not edit here
  343.         //--------------------------------------------------------------//
  344.         //npcshopdelitem "enchantable_items_Weapon",512;
  345.         //npcshopdelitem "enchantable_items_Armor",512;
  346.         //npcshopdelitem "enchantable_items_Shield",512;
  347.         npcshopdelitem "enchantable_items_Germent",512;
  348.         //npcshopdelitem "enchantable_items_Shose",512;
  349.         //npcshopdelitem "enchantable_items_Accessary",512;
  350.         npcshopdelitem "enchantable_items_Upper",512;
  351.         npcshopdelitem "enchantable_items_Middel",512;
  352.         npcshopdelitem "enchantable_items_Lower",512;
  353.        
  354.         //for (.@i = 0; .@i < getarraysize(.Weapons$); .@i++)
  355.         //              npcshopadditem "enchantable_items_Weapon", atoi(.Weapons$[.@i]),1;
  356.         //for (.@i = 0; .@i < getarraysize(.Armors$); .@i++)
  357.         //              npcshopadditem "enchantable_items_Armor", atoi(.Armors$[.@i]),1;
  358.         ///for (.@i = 0; .@i < getarraysize(.Shields$); .@i++)
  359.         //              npcshopadditem "enchantable_items_Shield", atoi(.Shields$[.@i]),1;
  360.         for (.@i = 0; .@i < getarraysize(.Germents$); .@i++)
  361.                         npcshopadditem "enchantable_items_Germent", atoi(.Germents$[.@i]),1;   
  362.         //for (.@i = 0; .@i < getarraysize(.Shoses$); .@i++)
  363.         //              npcshopadditem "enchantable_items_Shose", atoi(.Shoses$[.@i]),1;       
  364.         //for (.@i = 0; .@i < getarraysize(.Accessarys$); .@i++)
  365.         //              npcshopadditem "enchantable_items_Accessary", atoi(.Accessarys$[.@i]),1;       
  366.         for (.@i = 0; .@i < getarraysize(.Uppers$); .@i++)
  367.                         npcshopadditem "enchantable_items_Upper", atoi(.Uppers$[.@i]),1;               
  368.         for (.@i = 0; .@i < getarraysize(.Middels$); .@i++)
  369.                         npcshopadditem "enchantable_items_Middel", atoi(.Middels$[.@i]),1;     
  370.         for (.@i = 0; .@i < getarraysize(.Lowers$); .@i++)
  371.                         npcshopadditem "enchantable_items_Lower", atoi(.Lowers$[.@i]),1;       
  372.         end;
  373. }
  374. //-     pointshop       enchantable_items_Weapon        -1,#YOU_CAN_ENCHANT_Weapons,512:1;
  375. //-     pointshop       enchantable_items_Armor -1,#YOU_CAN_ENCHANT_Armors,512:1;
  376. //-     pointshop       enchantable_items_Shield        -1,#YOU_CAN_ENCHANT_Shields,512:1;
  377. -       pointshop       enchantable_items_Germent       -1,#YOU_CAN_ENCHANT_Germents,512:1;
  378. //-     pointshop       enchantable_items_Shose -1,#YOU_CAN_ENCHANT_Shoses,512:1;
  379. //-     pointshop       enchantable_items_Accessary     -1,#YOU_CAN_ENCHANT_Accessarys,512:1;
  380. -       pointshop       enchantable_items_Upper -1,#YOU_CAN_ENCHANT_Uppers,512:1;
  381. -       pointshop       enchantable_items_Middel        -1,#YOU_CAN_ENCHANT_Middels,512:1;
  382. -       pointshop       enchantable_items_Lower -1,#YOU_CAN_ENCHANT_Lowers,512:1;

Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:

To highlight particular lines, prefix each line with {%HIGHLIGHT}




All content is user-submitted.
The administrators of this site (kpaste.net) are not responsible for their content.
Abuse reports should be emailed to us at