Thanks to trixy, you should check L2net's forum, there are tons of usefull scripts.
Buy weapons, buy scrolls, it'll enchant them all and let you the hightest. You can edit it if you don't want to enchant it over a limit, or just stop the script if you don't know how to do it ^^
Code:
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// made by easy2k4
// gracia final ct2.3 trixy/phear3d
// enchanting w/a/j (with different enchant's levels) one by one
// starting from item with the lowest enchant's level, and stops
// on the last one (or few if you wish)
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
INCLUDE StdLib\inventory.l2c
///////////////////////////////////////////////////////////////////////////////
// You can (need to) change these values :)
DEFINE_GLOBAL STRING selected_enchanted_item "Demon Dagger"
DEFINE_GLOBAL STRING selected_enchanted_scroll "Scroll: Enchant Weapon (B)"
DEFINE_GLOBAL STRING selected_enchanted_crystals "Crystal: B-Grade"
DEFINE_GLOBAL INT loop_delay 2000 // DO NOT LOWER MUST BE 2000 OR HIGHER or WILL BE KICKED
DEFINE_GLOBAL INT number_of_items_which_should_stay 1
///////////////////////////////////////////////////////////////////////////////
// start -->>
Enchant_one_by_one_v2
SCRIPT_END
FUNCTION Enchant_one_by_one_v2
DEFINE STRING item_name 0
DEFINE ARRAYLIST bag_inventory 0
DEFINE INT enchanted_items_count 0
DEFINE INT enchanted_scrolls_count 0
DEFINE INT crystals_count 0
DEFINE INT crystals_count_after_enchanting 0
DEFINE INT id_of_item 0
DEFINE INT id_of_enchant 0
DEFINE INT id_of_crystals 0
DEFINE Inventory current_enchanted_item 0
DEFINE INT current_enchant_level 9999
DEFINE INT current_items_count 0
DEFINE Inventory item_of_scroll 0
DEFINE INT enchanting_process 0
DEFINE INT enchant_size 0
DEFINE INT random_loop_delay 0
ITEM_GET_ID id_of_enchant "<&selected_enchanted_scroll&>"
ITEM_COUNT enchanted_scrolls_count "<&id_of_enchant&>"
ITEM_GET_ID id_of_crystals "<&selected_enchanted_crystals&>"
ITEM_COUNT crystals_count "<&id_of_crystals&>"
ITEM_COUNT crystals_count_after_enchanting "<&id_of_crystals&>"
ITEM_GET_ID id_of_item "<&selected_enchanted_item&>"
PRINT_TEXT " "
PRINT_TEXT "------------------------------"
PRINT_TEXT "Enchant one by one has started"
PRINT_TEXT "v 2"
PRINT_TEXT "by easy2k4"
PRINT_TEXT "------------------------------"
PRINT_TEXT " "
GET_INVENTORY bag_inventory
FOREACH item Inventory bag_inventory
item_name = bag_inventory.item.name
if item_name == selected_enchanted_item
enchanted_items_count = enchanted_items_count + ONE
endif
if item_name == selected_enchanted_scroll
item_of_scroll = bag_inventory.item
endif
NEXTEACH
PRINT_TEXT "Selected item is: <&selected_enchanted_item&> (x<&enchanted_items_count&>)"
PRINT_TEXT "Selected scroll is <&selected_enchanted_scroll&> (x<&enchanted_scrolls_count&>)"
PRINT_TEXT "Selected crystals are <&selected_enchanted_crystals&> (x<&crystals_count&>)"
PRINT_TEXT "Number of items which you want to keep is <&number_of_items_which_should_stay&>"
PRINT_TEXT " "
if enchanted_items_count <= number_of_items_which_should_stay
PRINT_TEXT "Not enough items to enchanting."
RETURN VOID
endif
if enchanted_scrolls_count < ONE
PRINT_TEXT "Not enough scrolls to enchanting."
RETURN VOID
endif
enchanting_process = ONE
do
bag_inventory.clear
GET_INVENTORY bag_inventory
current_enchant_level = #i9999
current_items_count = ZERO
ITEM_COUNT crystals_count "<&id_of_crystals&>"
ITEM_COUNT enchanted_scrolls_count "<&id_of_enchant&>"
FOREACH item Inventory bag_inventory
item_name = bag_inventory.item.name
if item_name == selected_enchanted_item
current_items_count = current_items_count + ONE
if bag_inventory.item.enchant < current_enchant_level
current_enchant_level = bag_inventory.item.enchant
current_enchanted_item = bag_inventory.item
endif
endif
NEXTEACH
if current_items_count <= number_of_items_which_should_stay
PRINT_TEXT " "
PRINT_TEXT "The number of items which you have kept is: <¤t_items_count&>"
PRINT_TEXT " "
enchanting_process = ZERO
endif
if enchanted_scrolls_count < ONE
PRINT_TEXT " "
PRINT_TEXT "Not enough scrolls to enchanting."
PRINT_TEXT " "
enchanting_process = ZERO
endif
if enchanting_process == ONE
DEFINE BYTEBUFFER buffer_of_selected_enchant 256
DEFINE BYTEBUFFER buffer_of_selected_item 256
DEFINE BYTEBUFFER buffer_of_selecting_item 256
buffer_of_selected_enchant.write_byte #i25
buffer_of_selected_enchant.write_int32 item_of_scroll.id
buffer_of_selected_enchant.write_int32 #i0
buffer_of_selected_enchant.trim_to_index
INJECTBB buffer_of_selected_enchant
SLEEP "<&loop_delay&>"
buffer_of_selecting_item.write_byte #I208
buffer_of_selecting_item.write_byte #I76
buffer_of_selecting_item.write_byte #I0
buffer_of_selecting_item.write_int32 current_enchanted_item.id
buffer_of_selecting_item.trim_to_index
INJECTBB buffer_of_selecting_item
SLEEP "<&loop_delay&>"
GET_RAND random_loop_delay 200 400
SLEEP "<&random_loop_delay&>"
buffer_of_selected_item.write_byte #i95
buffer_of_selected_item.write_int32 current_enchanted_item.id
buffer_of_selected_item.write_int32 #i0
buffer_of_selected_item.trim_to_index
INJECTBB buffer_of_selected_item
SLEEP "<&loop_delay&>"
ITEM_COUNT crystals_count_after_enchanting "<&id_of_crystals&>"
if crystals_count_after_enchanting > crystals_count
PRINT_TEXT "<&selected_enchanted_item&> has been crystallized at +<¤t_enchant_level&>"
else
PRINT_TEXT "<&selected_enchanted_item&> has been enchanted from +<¤t_enchant_level&>"
endif
DELETE buffer_of_selected_enchant
DELETE buffer_of_selected_item
DELETE buffer_of_selecting_item
endif
loop enchanting_process == ONE
PRINT_TEXT "List of enchanted items:"
PRINT_TEXT "--------------------------------------------------------"
GET_INVENTORY bag_inventory
ITEM_COUNT crystals_count "<&id_of_crystals&>"
ITEM_COUNT enchanted_scrolls_count "<&id_of_enchant&>"
FOREACH item Inventory bag_inventory
item_name = bag_inventory.item.name
if item_name == selected_enchanted_item
PRINT_TEXT "<&bag_inventory.item.name&> +<&bag_inventory.item.enchant&>"
endif
NEXTEACH
PRINT_TEXT " "
PRINT_TEXT "The end of Enchanting One by One v2 :) by easy2k4 "
PRINT_TEXT "Gracia Final (CT2.3) trixy/phear3d"
PRINT_TEXT " "
RETURN VOID