Leaderboard
Popular Content
Showing content with the highest reputation on 05/29/23 in Posts
-
1 pointIm not really sure what you want, but i understood that you wanted the enchantment to be random instead of it to be selected in a list. I had made here a modification on line 47 making it random instead of selecting it from the list. mes .n$; mes "Hello, "+strcharinfo(0)+"!"; mes "If you like I can enchant your costume equipment with any enchantment I have in store"; mes ( (.exchange_cost[0] > 0)?"in exchange for "+.enchant_cost[1]+"x "+getitemname(.enchant_cost[0]):"for free")+"."; mes "I can also reset an Enchantment "+ ((.enchant_reset[0] > 0)?", but I require "+.enchant_reset[1]+"x "+getitemname(.enchant_reset[0]):"for free")+"."; next; switch(select("- Enchant Costumes:- Reset Enchantment:- Nevermind")) { case 1: mes .n$; mes "Please select the Costume you want me to enchant:"; for ( set .@s,0; .@s < getarraysize(.enchant_slot); set .@s,.@s + 1) { switch(.enchant_slot[.@s]) { case EQI_COSTUME_HEAD_TOP: set .@c_slot$,"Top Headgear"; break; case EQI_COSTUME_HEAD_MID: set .@c_slot$,"Mid Headgear"; break; case EQI_COSTUME_HEAD_LOW: set .@c_slot$,"Low Headgear"; break; case EQI_COSTUME_GARMENT: set .@c_slot$,"Garment"; break; case EQI_SHADOW_ARMOR: set .@c_slot$,"Armor"; break; case EQI_SHADOW_WEAPON: set .@c_slot$,"Weapon"; break; case EQI_SHADOW_SHIELD: set .@c_slot$,"Shield"; break; case EQI_SHADOW_SHOES: set .@c_slot$,"Shoes"; break; case EQI_SHADOW_ACC_R: set .@c_slot$,"Accessory Right"; break; case EQI_SHADOW_ACC_L: set .@c_slot$,"Accessory Left"; break; } set .@c_m$,.@c_m$ + ((getequipid(.enchant_slot[.@s]) != -1)?.@c_slot$ + " - "+getitemname(getequipid(.enchant_slot[.@s])):"") + ( (.enchant_slot[.@s+1] != 0)?":":""); } set .@c_m$,.@c_m$ + ":- Cancel"; set .@c,select(.@c_m$); if(.@c >= getarraysize(.enchant_slot)) close; set .@part,.enchant_slot[.@c-1]; next; mes .n$; if(getequipid(.@part) == -1) { mes "It looks like you don't have any costume equipped on there."; close; } set .@hg,getequipid(.@part); // Saving Item ID set .@ref,getequiprefinerycnt(.@part); // Saving Refine Level, if there is one set .@card1,getequipcardid(.@part,0); // Save Item ID of Card Slot 1 mes "Selected Costume: "+getitemname(getequipid(.@part)); if(getequipcardid(.@part,3) != 0) { mes "But it looks like you already have an enchantment in this costume."; close; } mes "Now please select the Enchantment:"; next; set .@rune,rand(0, getarraysize(.enchant_id) - 1); mes .n$; mes "Selected Enchantment: "+getitemname(.enchant_id[.@rune]); if(.enchant_cost[0] > 0 && countitem(.enchant_cost[0]) < .enchant_cost[1]) { mes "But it looks like you don't have enough "+getitemname(.enchant_cost[0])+"!"; close; } mes "Proceed?"; if(select("- Yes:- No") - 1) close; next; if(.enchant_cost[0] > 0) delitem .enchant_cost[0],.enchant_cost[1]; delequip .@part; getitem2 .@hg,1,1,.@ref,0,.@card1,0,0,.enchant_id[.@rune]; equip .@hg; mes .n$; mes "The enchantment was a success."; mes "See ya next time."; enable_items; break; case 2: mes .n$; mes "Please select the Costume you want me to reset the enchantment!"; for ( set .@s,0; .@s < getarraysize(.enchant_slot); set .@s,.@s + 1) { switch(.enchant_slot[.@s]) { case EQI_COSTUME_HEAD_TOP: set .@c_slot$,"Top Headgear"; break; case EQI_COSTUME_HEAD_MID: set .@c_slot$,"Mid Headgear"; break; case EQI_COSTUME_HEAD_LOW: set .@c_slot$,"Low Headgear"; break; case EQI_COSTUME_GARMENT: set .@c_slot$,"Garment"; break; case EQI_SHADOW_ARMOR: set .@c_slot$,"Armor"; break; case EQI_SHADOW_WEAPON: set .@c_slot$,"Weapon"; break; case EQI_SHADOW_SHIELD: set .@c_slot$,"Shield"; break; case EQI_SHADOW_SHOES: set .@c_slot$,"Shoes"; break; case EQI_SHADOW_ACC_R: set .@c_slot$,"Accessory Right"; break; case EQI_SHADOW_ACC_L: set .@c_slot$,"Accessory Left"; break; } set .@c_m$,.@c_m$ + ((getequipid(.enchant_slot[.@s]) != -1)?.@c_slot$ + " - "+getitemname(getequipid(.enchant_slot[.@s])):"") + ( (.enchant_slot[.@s+1] != 0)?":":""); } set .@c_m$,.@c_m$ + ":- Cancel"; set .@c,select(.@c_m$); if(.@c >= getarraysize(.enchant_slot)) close; set .@part,.enchant_slot[.@c-1]; next; mes .n$; if(getequipcardid(.@part,3) == 0) { mes "It looks like you don't have any enchantment in this costume."; close; } set .@hg,getequipid(.@part); // Saving Item ID set .@ref,getequiprefinerycnt(.@part); // Saving Refine Level, if there is one set .@card1,getequipcardid(.@part,0); // Save Item ID of Card Slot 1 mes "Selected Costume: "+getitemname(getequipid(.@part)); if(.enchant_reset[0] > 0 && countitem(.enchant_reset[0]) < .enchant_reset[1]) { mes "But you don't have the required Items to reset the enchantment!"; close; } mes "Proceed?"; if(select("- Yes:- No") - 1) close; next; if(.enchant_reset[0]) delitem .enchant_reset[0],.enchant_reset[1]; delequip .@part; getitem2 .@hg,1,1,.@ref,0,.@card1,0,0,0; equip .@hg; mes .n$; mes "The enchantment has been reseted."; mes "See ya next time."; break; case 3: break; } end; OnInit: set .n$,"[Costume Enchanter]"; // Enter here every Costume Slot, which you want to be enchantable // Valid Entries: // - EQI_COSTUME_HEAD_TOP // - EQI_COSTUME_HEAD_MID // - EQI_COSTUME_HEAD_LOW // - EQI_COSTUME_GARMENT // - EQI_SHADOW_ARMOR // - EQI_SHADOW_WEAPON // - EQI_SHADOW_SHIELD // - EQI_SHADOW_SHOES // - EQI_SHADOW_ACC_R // - EQI_SHADOW_ACC_L setarray .enchant_slot[0],EQI_COSTUME_HEAD_TOP,EQI_COSTUME_HEAD_MID,EQI_COSTUME_HEAD_LOW; // Enchantment ID's setarray .enchant_id[0],6636,6637,6638,6639,6640,6641; // Price for enchanting: // To disable the price, put 0 as values setarray .enchant_cost[0],501,10; // Item ID,Amount // Price for reseting: // To disable the price, put 0 as values setarray .enchant_reset[0],501,10; // Item ID,Amount end; } If you can be more specific of what do you need maybe i can help you further. If you dont know how to say it you can use the help of google translate