Advertisement
Emistry

[RO] Enchant - Armor

Feb 29th, 2020
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.92 KB | None | 0 0
  1. // https://rathena.org/board/messenger/34912/?tab=comments#comment-142576
  2.  
  3. prontera,155,181,5  script  Enchant 4_F_SE_SUN,{
  4.     mes "^0055FF[ "+strnpcinfo(0)+" ]^000000";
  5.     mes "Do you want to enchant your equipment?";
  6.     getinventorylist;
  7.     for (.@i = 0; .@i < @inventorylist_count; .@i++) {
  8.         if (@inventorylist_equip[.@i] > 0 && @inventorylist_equip[.@i] == EQP_ARMOR)
  9.             .@menu$ = .@menu$ + getitemname(@inventorylist_id[.@i]);
  10.         .@menu$ = .@menu$ + ":";
  11.     }
  12.     next;
  13.     .@i = select(.@menu$) - 1;
  14.     mes "^0055FF[ "+strnpcinfo(0)+" ]^000000";
  15.     if (@inventorylist_card1[.@i] == 455 || @inventorylist_card1[.@i] == 255) {
  16.         mes "I can't enchant a signed equipment";
  17.     }
  18.     else if (@inventorylist_expire[.@i] > 0) {
  19.         mes "I can't enchant a rental equipment";
  20.     }
  21.     else {
  22.         .@item = select(.menu_item_type$) - 1;
  23.        
  24.         if (.item_id[.@item] > 0) {
  25.             if (countitem(.item_id[.@item]) <= 0) {
  26.                 mes "Sorry, you need "+ getitemname(.item_id[.@item]) +" to enchant this armor.";
  27.             }
  28.             else {
  29.                 mes "^777777In progress...^000000";
  30.                 specialeffect2 EF_MAPPILLAR;
  31.                 progressbar "FFFF00",5;
  32.                 specialeffect2 EF_WATERBALL3;
  33.                
  34.                 delitem .item_id[.@item], 1;
  35.                 delitem2 @inventorylist_id[.@i], 1, @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i], @inventorylist_bound[.@i];
  36.                
  37.                 if (.item_id[.@item] == 4771) {    
  38.                     @inventorylist_card4[.@i] = .item_id[.@item];
  39.                 }
  40.                 else {
  41.                     .@rand = rand(.totalchance);
  42.                     while ((.@rand = .@rand - .rate[.@r]) >= 0) .@r++;
  43.                     .@o = rand(1); // orb of str/int/dex ....
  44.                     @inventorylist_card4[.@i] = 4766 + .@o * 6 + .@r;
  45.                 }
  46.                
  47.                 if (@inventorylist_bound[.@i]) {
  48.                     getitembound2 @inventorylist_id[.@i], 1, @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i], @inventorylist_bound[.@i];
  49.                 }
  50.                 else {
  51.                     getitem2 @inventorylist_id[.@i], 1, @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];
  52.                 }
  53.                 equip @inventorylist_id[.@i];
  54.                 announce "<SYSTEM> "+strcharinfo(0)+" - "+.item_type$[.@item]+" Enchantment Success!", bc_self;
  55.             }
  56.         }
  57.     }
  58.     close;
  59.    
  60.     OnInit:
  61.         setarray .item_type$, "VIP", "Bound";
  62.         setarray .item_id, 4771, 26686;
  63.        
  64.         setarray .rate, 80,50,15,10,5,2; // rate of getting +1 is 55%, +2 is 50% .... +10 is 10% ...
  65.            
  66.         .@rate_size = getarraysize(.rate);
  67.         for (.@i = 0; .@i < .@rate_size; .@i++)
  68.             .totalchance = .totalchance + .rate[.@i];
  69.         .@item_id_size = getarraysize(.item_id);
  70.         for (.@i = 0; .@i < .@item_id_size; .@i++)
  71.             .menu_item_type$ = .menu_item_type$ + .item_type$[.@i] + ":";
  72.         end;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement