Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - script enchanter -1,{
- OnInit:
- // Zeny cost for enchant
- .enchant_cost = 250000;
- // Armor that available for enchant
- setarray .equipment_1_id,2301;
- // Garment that available for enchant
- setarray .equipment_2_id,2503,2504;
- // Shoes that available for enchant
- setarray .equipment_3_id,2403;
- // Accesory that available for enchant
- setarray .equipment_4_id,2601;
- // chams that will be enchant into an armor
- setarray .charm_id,
- 4700,4701,4702,4703,4704,4705,4706,4707,4708,4709, // STR 1 ~ 10
- 4710,4711,4712,4713,4714,4715,4716,4717,4718,4719, // INT 1 ~ 10
- 4720,4721,4722,4723,4724,4725,4726,4727,4728,4729, // DEX 1 ~ 10
- 4730,4731,4732,4733,4734,4735,4736,4737,4738,4739, // AGI 1 ~ 10
- 4740,4741,4742,4743,4744,4745,4746,4747,4748,4749, // VIT 1 ~ 10
- 4750,4751,4752,4753,4754,4755,4756,4757,4758,4759; // LUK 1 ~ 10
- // Success Rate for each charm base on array above ( charm_id )
- // first time enchant success rate for charm enchant
- setarray .rate_1,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10;
- // second time enchant success rate for charm enchant
- setarray .rate_2,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10;
- // third time enchant success rate for charm enchant
- setarray .rate_3,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10,
- 100,90,80,70,60,50,40,30,20,10;
- setarray .equipment_name$,
- "Armor",
- "Garment",
- "Shoes",
- "Accessory";
- // --- DONT EDIT ---
- setarray .equipment_size,
- getarraysize( .equipment_1_id ),
- getarraysize( .equipment_2_id ),
- getarraysize( .equipment_3_id ),
- getarraysize( .equipment_4_id );
- .charm_size = getarraysize( .charm_id );
- .equipment_name_size = getarraysize( .equipment_name$ );
- while( .@category < .equipment_name_size ){
- if( .equipment_size[.@category] ){
- .@equip = 0;
- while( .@equip < .equipment_size[.@category] ){
- .@item_id = getd( ".equipment_"+( .@category + 1 )+"_id["+.@equip+"]" );
- if( getitemname( .@item_id ) != "null" ){
- .@slot = getitemslots( .@item_id );
- .@addtomenu$ = getitemname( .@item_id ) + ( ( .@slot )?" ["+.@slot+"]":"" );
- }
- setd( ".equipment_"+.@category+"_menu$" ),( getd( ".equipment_"+.@category+"_menu$" ) + .@addtomenu$ + ":" );
- .@addtomenu$ = "";
- .@equip++;
- }
- .category_menu$ = .category_menu$ + .equipment_name$[.@category];
- }
- .category_menu$ = .category_menu$ + ":";
- .@category++;
- }
- end;
- OnWhisperGlobal:
- if( getgmlevel() >= 90 ){
- dispbottom "=== CHARM LIST + 1st / 2nd / 3rd SUCCESS RATE ===";
- while( .@i < .charm_size ){
- dispbottom "Charm ID : "+.charm_id[.@i]+" | "+.rate_1[.@i]+"% | "+.rate_2[.@i]+"% | "+.rate_3[.@i]+"% | Name : "+getitemname( .charm_id[.@i] );
- .@i++;
- }
- dispbottom "====================== END ======================";
- }
- end;
- OnTalk:
- mes "Please select which equipment category..";
- .@category = select( .category_menu$ ) - 1;
- mes "Select desired ^0055FF"+.equipment_name$[.@category]+"^000000.";
- .@equipment = select( getd( ".equipment_"+.@category+"_menu$" ) ) - 1;
- .@equipment_id = getd( ".equipment_"+( .@category + 1 )+"_id["+.@equipment+"]" );
- if( !isequipped( .@equipment_id ) ){
- mes "You're not equipped with a "+getitemname( .@equipment_id );
- }else{
- for( .@i = 1; .@i <= 14; .@i++ )
- if( getequipid( .@i ) == .@equipment_id ){
- .@equipment_part = .@i;
- break;
- }
- if( !.@equipment_part ){
- mes "Didnt found "+getitemname( .@equipment_id )+" in your equipment window.";
- }else{
- for( .@i = 1; .@i <= 3; .@i++ )
- if( !getequipcardid( .@equipment_part,.@i ) ){
- .@enchant_slot = .@i;
- // break;
- }
- if( !.@enchant_slot ){
- mes "You can didnt have any available slot to enchant for this "+getitemname( .@equipment_id )+".";
- }else{
- next;
- .@refine = getequiprefinerycnt( .@equipment_part );
- for( .@i = 0; .@i < 4; .@i++ )
- .@compounded_item[.@i] = getequipcardid( .@equipment_part,.@i );
- .@charm_index = rand( .charm_size );
- .@compounded_item[.@enchant_slot] = .charm_id[ .@charm_index ];
- .@success_rate = getd( ".rate_"+.@enchant_slot+"["+.@charm_index+"]" );
- mes "Equipment : ";
- mes "^777777 ~ "+(( .@refine )?"+"+.@refine:"" )+" "+getitemname( .@equipment_id )+"["+getitemslots( .@equipment_id )+"]^000000";
- // mes "Charm : ^777777"+getitemname( .@compounded_item[.@enchant_slot] )+"^000000";
- mes "Success Rate : ^777777"+.@success_rate+"%^000000";
- mes "Cost : ^777777"+.enchant_cost+" z^000000";
- mes " ";
- if( Zeny >= .enchant_cost ){
- if( select( "Continue","Close" ) == 1 ){
- delequip .@equipment_part;
- if( rand( 100 ) <= .@success_rate ){
- specialeffect EF_REFINEOK;
- mes "^0055FFSuccess to enchant a new charm.^000000";
- getitem2 .@equipment_id,1,1,.@refine,0,.@compounded_item[0],.@compounded_item[1],.@compounded_item[2],.@compounded_item[3];
- }else{
- specialeffect EF_REFINEFAIL;
- mes "^FF0000Sorry failed..item destroyed.^000000";
- }
- }
- }
- }
- }
- }
- close;
- }
- prontera,155,181,5 script Enchanter#1 757,{
- doevent "enchanter::OnTalk";
- }
- prontera,155,171,5 duplicate(Enchanter#1) Enchanter#2 757
- prontera,155,172,5 duplicate(Enchanter#1) Enchanter#3 757
- prontera,155,173,5 duplicate(Enchanter#1) Enchanter#4 757
Advertisement
Add Comment
Please, Sign In to add comment