Jump to content

[SHARE] AIO Auto Enchant - L2NET script (safe from auto kick)(Gracia Final)


Recommended Posts

Posted

Here is a fully working Auto Enchant script for Gracia Final, that has 7 methods of enchanting and is safe for auto kick.

 

Change Log v1.2(12:30 AM +2GMT 10.06.09):

Changed the "little_delay" with a random one, and added to enchant steps too, for more variety. This added some delay to the whole process.

Changed the SET_EVENT-s positions, for more safety. But still if you close the ingame enchant window and do something else you will mess up the whole thing.

 

 

INCLUDE StdLib\inventory.l2c
// ===================================================================================================================

// START OF EDITING PART (YOU SHOULD CHANGE THE SETTINGS FROM BELOW TO YOUR NEEDS)
// ===================================================================================================================
DEFINE_GLOBAL STRING item_name "Vesper Buster"        // Here you need to change with what item you want to enchant
DEFINE_GLOBAL STRING normal_enchant_name "Scroll: Enchant Weapon (S)"        // The exact name of your normal enchant scroll
DEFINE_GLOBAL STRING blessed_enchant_name "Blessed Scroll: Enchant Weapon (S)"        // The exact name of you blessed enchant scroll(only for blessed enchants)

DEFINE_GLOBAL INT type_of_enchanting 6    // The method of enchanting you want set from 1-7 (see below):
        // 1 - Normal enchant each One by One;
        // 2 - Normal enchant each One to Top;
        // 3 - Blessed enchant only one item;
        // 4 - Blessed enchant each One to Top;
        // 5 - Blessed enchant each One by One an keep the highest; 
        // 6 - Normal enchant each One by One and stop to Top;
        // 7 - Blessed enchant each One by One and stop to Top;
										  
DEFINE_GLOBAL INT keep_items_num 5        // How meny items you want to keep when enchanting One by One (for One by One enchanting + blessed)

DEFINE_GLOBAL INT enchant_to_top 16        // The top level witch enchantig should stop at (for One to Top enchanting + blessed)

DEFINE_GLOBAL INT enchant_safe 3        // Safe enchant level on witch normal anchant stop and continues with blessed (for Blessed enchanting)

DEFINE_GLOBAL INT min_little_delay 205        // min_little_delay should be always lower than max_little_delay - these two are for random delay between the values.
DEFINE_GLOBAL INT max_little_delay 327        // max_little_delay should be always higher than main_little_delay - this two will add some delay so carefull what you set.
// ===================================================================================================================
// END OF EDITING PART (DON'T CHANGE NOTHING FROM BELOW)
// ===================================================================================================================
//  
// AIO Auto Enchant v1.2 - have 7 methods of enchanting and is safe for auto kick 
//                                                                   (don't cancel the enchant window when ingame)
// Fully working with L2NET v370 and on L2J Gracia Final (ct2.3) servers.
//
// special thanks to: slothmo, mpj123, rocket666, easy2k4, trixy and everybody working for l2net project
// made by iosc 
// ===================================================================================================================
// ===================================================================================================================

DEFINE_GLOBAL INT min_delay 2118
DEFINE_GLOBAL INT max_delay 2533
DEFINE_GLOBAL INT rand_delay 0
DEFINE_GLOBAL INT some_loop 0
DEFINE_GLOBAL INT item_uid 0
DEFINE_GLOBAL INT enchant_result 9999
DEFINE_GLOBAL INT n_scroll_id 0
DEFINE_GLOBAL INT b_scroll_id 0
DEFINE_GLOBAL INT n_scrolls_count 0
DEFINE_GLOBAL INT b_scrolls_count 0
DEFINE_GLOBAL Inventory n_enchant_scroll 0
DEFINE_GLOBAL Inventory b_enchant_scroll 0
DEFINE_GLOBAL ARRAYLIST full_inventory 0

ITEM_GET_ID n_scroll_id "<&normal_enchant_name&>"
ITEM_GET_ID b_scroll_id "<&blessed_enchant_name&>"

GET_INVENTORY full_inventory
PRINT_TEXT "10 seconds ========================"
PRINT_TEXT "== AIO Auto Enchant Script v1.1"
PRINT_TEXT "================================"
SLEEP 1000
//SLEEP "<&little_delay&>"
ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"
ITEM_COUNT b_scrolls_count "<&b_scroll_id&>"

FOREACH x Inventory full_inventory
IF full_inventory.x.name == normal_enchant_name
	n_enchant_scroll = full_inventory.x
ENDIF
IF full_inventory.x.name == blessed_enchant_name
	b_enchant_scroll = full_inventory.x
ENDIF
NEXTEACH

IF n_scrolls_count == ONE
PRINT_TEXT "You don't have <&normal_enchant_name&>"
JUMP_TO_LABEL THE_END
ENDIF

SWITCH type_of_enchanting
CASE #i3
CASE #i4
CASE #i5
CASE #i7
	IF b_scrolls_count == ONE
		PRINT_TEXT "You don't have <&blessed_enchant_name&>"
		JUMP_TO_LABEL THE_END
	ENDIF
	BREAK 1
DEFAULT
	BREAK 1
ENDSWITCH

SWITCH type_of_enchanting
CASE #i1
	PRINT_TEXT "== "
	PRINT_TEXT "== You chosed the One by One method"
	PRINT_TEXT "== Enchanting: <&item_name&>"
	PRINT_TEXT "== Keeping: <&keep_items_num&>"
	PRINT_TEXT "== "
	PRINT_TEXT "9 seconds ========================="
	SLEEP 9000
	CALL EnchantEachOnebyOne
	BREAK 1
CASE #i2
	PRINT_TEXT "== "
	PRINT_TEXT "== You chosed the One to Top method"
	PRINT_TEXT "== Enchanting: <&item_name&>"
	PRINT_TEXT "== Enchant till: +<&enchant_to_top&>"
	PRINT_TEXT "== "
	PRINT_TEXT "9 seconds ========================="
	SLEEP 9000
	CALL EnchantEachOnetoTop
	BREAK 1
CASE #i3
	PRINT_TEXT "== "
	PRINT_TEXT "== You chosed Blessed Enchant one item"
	PRINT_TEXT "== Enchanting: <&item_name&>"
	PRINT_TEXT "== Enchant till: +<&enchant_to_top&>"
	PRINT_TEXT "== Safe enchant is set to: +<&enchant_safe&>"
	PRINT_TEXT "== "
	PRINT_TEXT "9 seconds ========================="
	SLEEP 9000
	CALL BlessedEnchantOne
	BREAK 1
CASE #i4
	PRINT_TEXT "== "
	PRINT_TEXT "== You chosed Blessed Enchant each One to Top"
	PRINT_TEXT "== Enchanting: <&item_name&>"
	PRINT_TEXT "== Enchant till: +<&enchant_to_top&>"
	PRINT_TEXT "== Safe enchant is set to: +<&enchant_safe&>"
	PRINT_TEXT "== "
	PRINT_TEXT "9 seconds ========================="
	SLEEP 9000
	CALL EnchantEachOnetoTop
	BREAK 1
CASE #i5
	PRINT_TEXT "== "
	PRINT_TEXT "== You chosed Blessed Enchant each One by One"
	PRINT_TEXT "== Enchanting: <&item_name&>"
	PRINT_TEXT "== Keep enchanted: <&keep_items_num&>"
	PRINT_TEXT "== Safe enchant is set to: +<&enchant_safe&>"
	PRINT_TEXT "== "
	PRINT_TEXT "9 seconds ========================="
	SLEEP 9000
	CALL EnchantEachOnebyOne
	BREAK 1
CASE #i6
	PRINT_TEXT "== "
	PRINT_TEXT "== You chosed each One by One and stop to Top"
	PRINT_TEXT "== Enchanting: <&item_name&>"
	PRINT_TEXT "== Keep - <&keep_items_num&> - items or stop to +<&enchant_to_top&>"
	PRINT_TEXT "== "
	PRINT_TEXT "9 seconds ========================="
	SLEEP 9000
	CALL EnchantEachOnebyOne
	BREAK 1
CASE #i7
	PRINT_TEXT "== "
	PRINT_TEXT "== You chosed Blessed - One by One and stop to Top"
	PRINT_TEXT "== Enchanting: <&item_name&>"
	PRINT_TEXT "== Enchant till: +<&enchant_to_top&>"
	PRINT_TEXT "== "
	PRINT_TEXT "9 seconds ========================="
	SLEEP 9000
	CALL EnchantEachOnebyOne
	BREAK 1
DEFAULT
	PRINT_TEXT "Bad option chosen at Type of Enchant"
ENDSWITCH


LABEL THE_END
GET_RAND rand_delay "<&min_little_delay&>" "<&max_little_delay&>"
SLEEP "<&rand_delay&>"
full_inventory.clear
GET_INVENTORY full_inventory
GET_RAND rand_delay "<&min_little_delay&>" "<&max_little_delay&>"
SLEEP "<&rand_delay&>"

PRINT_TEXT "==============================="
PRINT_TEXT "== Thanks for using AIO Auto Enchant Script =="
PRINT_TEXT "==============================="
FOREACH x Inventory full_inventory
IF full_inventory.x.name == item_name
	PRINT_TEXT "==  <&item_name&> +<&full_inventory.x.enchant&>" 
ENDIF 
NEXTEACH
PRINT_TEXT "=======================iosc======"


END_SCRIPT



FUNCTION EnchantEachOnebyOne

DEFINE ARRAYLIST current_items 0

DEFINE INT total_items 0
DEFINE INT enchanting_level 0
DEFINE INT lag_flag1 0
DEFINE INT lag_flag2 0
DEFINE INT lag_flag6 0
DEFINE INT bless_start 0
LABEL A_FLAGS

current_items.clear
full_inventory.clear
GET_INVENTORY full_inventory
GET_RAND rand_delay "<&min_little_delay&>" "<&max_little_delay&>"
SLEEP "<&rand_delay&>"

enchanting_level = #i65535
total_items = ZERO
ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"
ITEM_COUNT b_scrolls_count "<&b_scroll_id&>"

IF ( type_of_enchanting == #i5 ) && ( bless_start == ONE )
	FOREACH x Inventory full_inventory
		IF ( full_inventory.x.name == item_name ) && ( full_inventory.x.enchant > ZERO )
			total_items = total_items + ONE
			IF  full_inventory.x.enchant < enchanting_level
				enchanting_level = full_inventory.x.enchant
			ENDIF
		ENDIF 
	NEXTEACH
ELSE
	IF type_of_enchanting == #i6
		FOREACH x Inventory full_inventory
			IF full_inventory.x.name == item_name
				total_items = total_items + ONE
				IF (full_inventory.x.enchant < enchanting_level) && ( full_inventory.x.enchant < enchant_to_top )
					enchanting_level = full_inventory.x.enchant
				ENDIF
			ENDIF 
		NEXTEACH
	ELSE
		IF type_of_enchanting == #i7
			FOREACH x Inventory full_inventory
				IF full_inventory.x.name == item_name
					IF ( full_inventory.x.enchant < enchanting_level ) && ( full_inventory.x.enchant < enchant_to_top )
						enchanting_level = full_inventory.x.enchant
					ENDIF
				ENDIF 
			NEXTEACH
		ELSE
			FOREACH x Inventory full_inventory
				IF full_inventory.x.name == item_name
					total_items = total_items + ONE
					IF full_inventory.x.enchant < enchanting_level
						enchanting_level = full_inventory.x.enchant
					ENDIF
				ENDIF 
			NEXTEACH
		ENDIF
	ENDIF
ENDIF
FOREACH x Inventory full_inventory
	IF full_inventory.x.name == item_name
		IF full_inventory.x.enchant == enchanting_level
			current_items.ADD full_inventory.x.id
		ENDIF
	ENDIF 
NEXTEACH

IF current_items.count == ZERO
	lag_flag1 = lag_flag1 + ONE
	IF lag_flag1 == #i3
		PRINT_TEXT "No more items to echant."
		JUMP_TO_LABEL THE_END
	ENDIF
	JUMP_TO_LABEL A_FLAGS
	lag_flag1 = ZERO
ENDIF

FOREACH y INT current_items
	IF type_of_enchanting != #i7
		IF total_items <= keep_items_num
			lag_flag1 = lag_flag1 + ONE
			IF lag_flag1 == #i3
				PRINT_TEXT "We are done here. Your items number is <&total_items&>"
				JUMP_TO_LABEL THE_END
			ENDIF
			JUMP_TO_LABEL A_FLAGS
		ENDIF
	ENDIF
	IF n_scrolls_count == ONE
		lag_flag2 = lag_flag2 + ONE
		IF lag_flag2 == #i3
			PRINT_TEXT "You are out of <&normal_enchant_name&>"
			JUMP_TO_LABEL THE_END
		ENDIF
		JUMP_TO_LABEL A_FLAGS
	ENDIF
	IF ( type_of_enchanting == #i5 ) || ( type_of_enchanting == #i7 )
		IF b_scrolls_count == ONE
			lag_flag6 = lag_flag6 + ONE
			IF lag_flag6 == #i3
				PRINT_TEXT "You are out of <&blessed_enchant_name&>"
				JUMP_TO_LABEL THE_END
			ENDIF
			JUMP_TO_LABEL A_FLAGS
		ENDIF
	ENDIF
	lag_flag1 = ZERO
	lag_flag2 = ZERO
	lag_flag6 = ZERO

	item_uid = current_items.y

	IF ( type_of_enchanting == #i5 ) || ( type_of_enchanting == #i7 )

		IF enchanting_level < enchant_safe
			CALL Enchanting VOID 1 n_enchant_scroll.id
		ELSE
			CALL Enchanting VOID 1 b_enchant_scroll.id
			IF type_of_enchanting == #i5
			bless_start = ONE
			ENDIF
		ENDIF

		ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"
		ITEM_COUNT b_scrolls_count "<&b_scroll_id&>"

		IF enchant_result > ZERO
			IF type_of_enchanting == #i5
				total_items = total_items - ONE
			ELSE
				JUMP_TO_LABEL A_FLAGS
			ENDIF
			PRINT_TEXT "Enchanting <&item_name&> faild at +<&enchanting_level&>. (<&n_scrolls_count&>/<&b_scrolls_count&> scrolls left)"
		ELSE
			PRINT_TEXT "Enchanting <&item_name&> succeeded from +<&enchanting_level&>. (<&n_scrolls_count&>/<&b_scrolls_count&> scrolls left)"
		ENDIF

	ELSE

		CALL Enchanting VOID 1 n_enchant_scroll.id

		ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"

		IF enchant_result > ZERO
			total_items = total_items - ONE
			PRINT_TEXT "<&item_name&> was cristalized at +<&enchanting_level&>. (<&n_scrolls_count&> scrolls left)"
		ELSE
			PRINT_TEXT "Enchanting <&item_name&> succeeded from +<&enchanting_level&>. (<&n_scrolls_count&> scrolls left)"
		ENDIF
	ENDIF
NEXTEACH
JUMP_TO_LABEL A_FLAGS

RETURN VOID



FUNCTION EnchantEachOnetoTop

DEFINE INT enchant_level 0
DEFINE INT lag_flag3 0
DEFINE INT lag_flag4 0
DEFINE INT lag_flag5 0
LABEL B_FLAGS

full_inventory.clear
GET_INVENTORY full_inventory
GET_RAND rand_delay "<&min_little_delay&>" "<&max_little_delay&>"
SLEEP "<&rand_delay&>"

item_uid = ZERO
enchant_level = ZERO
ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"
ITEM_COUNT b_scrolls_count "<&b_scroll_id&>"

FOREACH x Inventory full_inventory
	IF full_inventory.x.name == item_name
		IF full_inventory.x.enchant < enchant_to_top
			item_uid = full_inventory.x.id
			enchant_level = full_inventory.x.enchant
		ENDIF
	ENDIF 
NEXTEACH

IF item_uid == ZERO
	lag_flag3 = lag_flag3 + ONE
	IF lag_flag3 == #i3
		PRINT_TEXT "We are done here. No more items to enchant."
		JUMP_TO_LABEL THE_END
	ENDIF
	JUMP_TO_LABEL B_FLAGS
ENDIF
IF n_scrolls_count == ONE
	lag_flag4 = lag_flag4 + ONE
	IF lag_flag4 == #i3
		PRINT_TEXT "You are out of <&normal_enchant_name&>"
		JUMP_TO_LABEL THE_END
	ENDIF
	JUMP_TO_LABEL B_FLAGS
ENDIF
IF type_of_enchanting == #i4
	IF b_scrolls_count == ONE
		lag_flag5 = lag_flag5 + ONE
		IF lag_flag5 == #i3
			PRINT_TEXT "You are out of <&blessed_enchant_name&>"
			JUMP_TO_LABEL THE_END
		ENDIF
		JUMP_TO_LABEL B_FLAGS
	ENDIF
	lag_flag5 = ZERO
ENDIF
lag_flag3 = ZERO
lag_flag4 = ZERO


DO
	IF n_scrolls_count == ONE
		PRINT_TEXT "You are out of <&normal_enchant_name&>"
		JUMP_TO_LABEL THE_END
	ENDIF

	IF type_of_enchanting == #i4

		IF b_scrolls_count == ONE
			PRINT_TEXT "You are out of <&blessed_enchant_name&>"
			JUMP_TO_LABEL THE_END
		ENDIF

		IF enchant_level < enchant_safe
			CALL Enchanting VOID 1 n_enchant_scroll.id
		ELSE
			CALL Enchanting VOID 1 b_enchant_scroll.id
		ENDIF

		ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"
		ITEM_COUNT b_scrolls_count "<&b_scroll_id&>"

		IF enchant_result > ZERO
			PRINT_TEXT "Enchanting <&item_name&> faild at +<&enchant_level&>. (<&n_scrolls_count&>/<&b_scrolls_count&> scrolls left)"
			enchant_level = ZERO
		ELSE
			enchant_level = enchant_level + ONE
			PRINT_TEXT "Enchanting <&item_name&> succeeded to +<&enchant_level&>. (<&n_scrolls_count&>/<&b_scrolls_count&> scrolls left)"
		ENDIF

	ELSE

		CALL Enchanting VOID 1 n_enchant_scroll.id

		ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"

		IF enchant_result > ZERO
			PRINT_TEXT "<&item_name&> was cristalized at +<&enchant_level&>. (<&n_scrolls_count&> scrolls left)"
			JUMP_TO_LABEL B_FLAGS
		ELSE
			enchant_level = enchant_level + ONE
			PRINT_TEXT "Enchanting <&item_name&> succeeded to +<&enchant_level&>. (<&n_scrolls_count&> scrolls left)"
		ENDIF

	ENDIF

LOOP enchant_level < enchant_to_top

JUMP_TO_LABEL B_FLAGS

RETURN VOID


FUNCTION BlessedEnchantOne

DEFINE INT enchant_level 0
DEFINE INT lag_flag8 0
LABEL C_FLAGS

full_inventory.clear
GET_INVENTORY full_inventory
GET_RAND rand_delay "<&min_little_delay&>" "<&max_little_delay&>"
SLEEP "<&rand_delay&>"

item_uid = ZERO
enchant_level = ZERO
ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"
ITEM_COUNT b_scrolls_count "<&b_scroll_id&>"

FOREACH x Inventory full_inventory
	IF full_inventory.x.name == item_name
		IF full_inventory.x.enchant < enchant_to_top
			item_uid = full_inventory.x.id
			enchant_level = full_inventory.x.enchant
		ENDIF
	ENDIF 
NEXTEACH

IF item_uid == ZERO
	lag_flag8 = lag_flag8 + ONE
	IF lag_flag8 == #i3
		PRINT_TEXT "No item to enchant!"
		JUMP_TO_LABEL THE_END
	ENDIF
	JUMP_TO_LABEL C_FLAGS
ENDIF
lag_flag8 = ZERO

DO

	IF n_scrolls_count == ONE
		PRINT_TEXT "You are out of <&normal_enchant_name&>"
		JUMP_TO_LABEL THE_END
	ENDIF
	IF b_scrolls_count == ONE
		PRINT_TEXT "You are out of <&blessed_enchant_name&>"
		JUMP_TO_LABEL THE_END
	ENDIF

	IF enchant_level < enchant_safe
		CALL Enchanting VOID 1 n_enchant_scroll.id
	ELSE
		CALL Enchanting VOID 1 b_enchant_scroll.id
	ENDIF

	ITEM_COUNT b_scrolls_count "<&b_scroll_id&>"
	ITEM_COUNT n_scrolls_count "<&n_scroll_id&>"

	IF enchant_result > ZERO
		PRINT_TEXT "Enchanting <&item_name&> faild at +<&enchant_level&>. (<&n_scrolls_count&>/<&b_scrolls_count&> scrolls left)"
		enchant_level = ZERO
	ELSE
		enchant_level = enchant_level + ONE
		PRINT_TEXT "Enchanting <&item_name&> succeeded to +<&enchant_level&>. (<&n_scrolls_count&>/<&b_scrolls_count&> scrolls left)"
	ENDIF

LOOP enchant_level < enchant_to_top

JUMP_TO_LABEL THE_END

RETURN VOID


FUNCTION Enchanting 1 scroll_id

enchant_result = #i9999
some_loop = ZERO
GET_RAND rand_delay "<&min_little_delay&>" "<&max_little_delay&>"
SLEEP "<&rand_delay&>"
SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" InsertItem 124
DEFINE BYTEBUFFER use_scroll_buffer 256
use_scroll_buffer.write_byte #i25
use_scroll_buffer.write_int32 scroll_id
use_scroll_buffer.write_int32 #i0
use_scroll_buffer.trim_to_index
INJECTBB use_scroll_buffer
DELETE use_scroll_buffer

WHILE some_loop == ZERO
SLEEP 50
WEND
LOCK A
SLEEP 50
UNLOCK A

RETURN VOID



FUNCTION InsertItem

LOCK A
some_loop = ONE

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" BlankFunc 124
SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" ClickOK 129

GET_RAND rand_delay "<&min_little_delay&>" "<&max_little_delay&>"
SLEEP "<&rand_delay&>"

DEFINE BYTEBUFFER use_item_buffer 256
use_item_buffer.write_byte #i208
use_item_buffer.write_int16 #i76
use_item_buffer.write_int32 item_uid
use_item_buffer.trim_to_index
INJECTBB use_item_buffer
DELETE use_item_buffer

RETURN VOID


FUNCTION ClickOK

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" BlankFunc 129
SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" EnchantComplete 135

GET_RAND rand_delay "<&min_delay&>" "<&max_delay&>"
SLEEP "<&rand_delay&>"

DEFINE BYTEBUFFER confirm_enchant_buffer 256
confirm_enchant_buffer.write_byte #i95
confirm_enchant_buffer.write_int32 item_uid
confirm_enchant_buffer.write_int32 #i0
confirm_enchant_buffer.trim_to_index
INJECTBB confirm_enchant_buffer
DELETE confirm_enchant_buffer

RETURN VOID


FUNCTION EnchantComplete

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" BlankFunc 135

DEFINE INT result_byte 0

PACKET.READ_BYTE result_byte
PACKET.READ_INT32 enchant_result

DELETE result_byte

UNLOCK A

RETURN VOID


FUNCTION BlankFunc

SLEEP 25 //e = mc^2 nonsence

RETURN VOID

 

 

Enjoy it. And if there are some problems post it and i'll watch in to it.

Posted

The 7 methods of enchanting are:

 

1 - Enchanting with normal enchant scroll all items at a time one by one level, (all items lvl to +1 ... then all items to +2 ...) and it will keep the number of items that you set.

With this method you will need to set:

- the name of the item ( "item_name" ) (ex: "Vesper Caster") - just the name nothing else

- the normal enchant scroll name ( "normal_enchant_name" ) (ex: "Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the method of enchant that you want in this case is "type_of_enchanting 1"

- and the number of items that you want to keep ( "keep_items_num" )

The rest you can ignore

 

2 - Enchanting with normal enchant scroll one item to a given limit, once the limit level of enchant reached it starts enchanting the next item.

With this method you will need to set:

- the name of the item ( "item_name" ) (ex: "Vesper Caster") - just the name nothing else

- the normal enchant scroll name ( "normal_enchant_name" ) (ex: "Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the method of enchant that you want in this case is "type_of_enchanting 2"

- and the top limit that enchant should stop and enchant the next item ( "enchant_to_top" )

The rest you can ignore

 

3 - Enchanting with blessed and normal enchant scroll only one item, first enchant with normal scroll till the enchant lvl reach the given safe limit, then starts enchanting with blessed scroll till the given top limit.

With this method you will need to set:

- the name of the item ( "item_name" ) (ex: "Vesper Caster") - just the name nothing else

- the normal enchant scroll name ( "normal_enchant_name" ) (ex: "Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the blessed encahnt scroll name ( "blessed_enchant_name" ) (ex: "Blessed Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the method of enchant that you want in this case is "type_of_enchanting 3"

- the safe enchant limit that normal enchant will be changed with blessed enchant ( "enchant_safe" )

- and the top limit that enchant should stop ( "enchant_to_top" )

The rest you can ignore

 

4 - Enchanting with blessed and normal enchant scroll one item at a time (all items when them time come), first starting with normal scroll till the given safe limit from there it's enchanting with blessed scroll till the top limit, and then take the next item to enchant

With this method you will need to set:

- the name of the item ( "item_name" ) (ex: "Vesper Caster") - just the name nothing else

- the normal enchant scroll name ( "normal_enchant_name" ) (ex: "Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the blessed encahnt scroll name ( "blessed_enchant_name" ) (ex: "Blessed Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the method of enchant that you want in this case is "type_of_enchanting 4"

- the safe enchant limit that normal enchant will be changed with blessed enchant ( "enchant_safe" )

- and the top limit that enchant should stop and enchant the next item ( "enchant_to_top" )

The rest you can ignore

 

5 - Enchanting with blessed and normal enchant scroll all items in a row one by one level starting with normal scrolls till safe enchant limit then with blessed scrolls, and it will keep enchanted the number of items that you set, the items that fail with blessed remain at 0.

With this method you will need to set:

- the name of the item ( "item_name" ) (ex: "Vesper Caster") - just the name nothing else

- the normal enchant scroll name ( "normal_enchant_name" ) (ex: "Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the blessed encahnt scroll name ( "blessed_enchant_name" ) (ex: "Blessed Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the method of enchant that you want in this case is "type_of_enchanting 5"

- the safe enchant limit that normal enchant will be changed with blessed enchant ( "enchant_safe" )

- and the number of items that you want to keep ( "keep_items_num" )

The rest you can ignore

 

6 - Enchanting with normal enchant scroll all items at a time one by one level, keeping the number of items that you set or it stop to a given top limit if there are more items that was set.

With this method you will need to set:

- the name of the item ( "item_name" ) (ex: "Vesper Caster") - just the name nothing else

- the normal enchant scroll name ( "normal_enchant_name" ) (ex: "Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the method of enchant that you want in this case is "type_of_enchanting 6"

- the top limit that enchant should stop if the items remaining at this level are more that you set to retain ( "enchant_to_top" )

- and the number of items that you want to keep if the top limit is not reached ( "keep_items_num" )

The rest you can ignore

 

7 - Enchanting with blessed and normal enchant scroll all items at a time one by one level with normal enchant till safe limit then with blessed scroll till a top limit, if items fail at a given point it start enchant thoes items till they reach top.

With this method you will need to set:

- the name of the item ( "item_name" ) (ex: "Vesper Caster") - just the name nothing else

- the normal enchant scroll name ( "normal_enchant_name" ) (ex: "Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the blessed encahnt scroll name ( "blessed_enchant_name" ) (ex: "Blessed Scroll: Enchant Weapon (S)" ) - the exact name with grade ...

- the method of enchant that you want in this case is "type_of_enchanting 7"

- the top limit that enchant should stop ( "enchant_to_top" )

- and the safe enchant limit that normal enchant will be changed with blessed enchant ( "enchant_safe" )

The rest you can ignore

 

 

Posted

Its pretty obvious, just read the post. Copy the script, put it in l2.net once logged in (www.ltwonet.com) change the values in the first 30 lines of the script to your needs, and run it.

  • 2 weeks later...
Posted

sorry guys but its fisrt time that im using scripts and all time it said to me that im doing something wrong...can some1 post a working script how to enchant Icarus Spitter  to +25 with blessed scrolls...

thanks and sorry for noob question...

Posted

ok i want to use 7th ebchant type of this script canu explain me what i have to do...i copy paste this on l2net change the first lines and put weapon that i want and then???if i ll try to start it,it dont work...i dont know really how to use it...

Posted

I have 1 problem. "No more items to echant." but that item which i want enchant still exist on inventory (it woks fine on Bow of peril, Demon dagger and so on accept Vesper item and icarus). Addition to mean, how l2net v.370 recognize the vesper item.?

Posted

18:27:06 :[#############################

18:27:14 :[#############################

18:27:14 :[ERROR: SCRIPT ERROR: LINE 0 : INCLUDE

18:27:14 :[#############################

18:27:14 :[#############################

18:27:14 :[ERROR: SCRIPT ERROR: LINE 49: INVALID VARIABLE TYPE

18:27:14 :[#############################

18:27:14 :[#############################

18:27:14 :[ERROR: SCRIPT ERROR: LINE 50: INVALID VARIABLE TYPE

18:27:14 :[#############################

18:27:14 :[10 seconds ========================

18:27:14 :[== AIO Auto Enchant Script v1.1

18:27:14 :[================================

18:27:15 :[#############################

 

i have this error :/ what is this

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • ✔ We offer more services than listed. Prices of goods may vary depending on country, warranty, phone number, and other factors. We are available 24/7. ⠀⠀⠀⠀⠀⠀⣀⣠⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣴⡿⠋⠉⠉⠻⢿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠹⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⣿⡄⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠸⣷⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⢀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢻⣇⠀⠀⠀⠀⠀⢸⣿⣿⡿⠿⠿⠟⠛⠛⠻⢿⣿⣶⣄⠀⠀⠀ ⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣤⣤⠀⠈⠻⣿⣇⠀⠀ ⠀⠀⠀⠀⢀⣾⡏⠀⠀⠀⠀⠀⠀⠀⣴⡿⠋⠉⠀⠀⠀⠀⠀⠀⠀⢹⡿⠀⠀ ⠀⠀⣀⣤⣼⣿⠀⠀⠀⠀⠀⠀⠀⢸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣷⣄⠀ ⢠⣾⠟⠋⠉⠋⠀⠀⠀⠀⠀⠀⠀⠈⣿⣦⣀⣀⣀⣤⣤⣶⣶⠿⠋⠁⢹ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡟⢉⣿⠋⠉⠉⠉⠁⠀⠀⠀⠀⢸⣿⠀ ⢸⣿⠀⠀⠀⠀⠀⢀⣀⣀⣤⣴⠿⠋⠀⠘⣷⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⠏⠀ ⢸⣿⡄⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠀⠀⣸⣿⢶⣤⣤⣴⡶⠿⠛⠙⣿ ⠈⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⣽⣿⠀ ⠀⠘⣿⣆⠀⠀⠀⠀⣠⣤⡀⠀⠀⠀⠀⠈⠻⣧⣀⡀⠀⠀⠀⣀⣠⣴⡿⠇⠀ ⠀⠀⠘⢿⣿⣦⣤⣴⡿⠻⠿⣷⣦⣤⣤⣤⣴⣾⣿⡿⠿⠿⠿⠟⠛⠉⠀⠀⠀ ⠀⠀⠀⠀⠀⠀
    • Frozen is more popular coz adm can edit npc from client side and no need dig in xml and etc  )
    • Your work is as good as your arrogance. If you didn't break 10 systems to fix 1, I would recommend aCis. Yes, I use aCis and I fixed a lot of things that you left aside to reorganize and rename things. You insist on recommending your broken public project. Don't do that because there are many people who dream of owning a server, and in aCis 409 every dream is broken. I've seen many people break things by using this. aCis 409 doesn't work at the basics. Water movement and flying movements are broken, which is the basics. Seven Sings is completely broken, Sieges need fixing, and worst of all, level 3 and 4 clan quests are bugged, besides other quests that you intentionally broke and still recommend. You are an excellent programmer, but your arrogance in feeling superior to everyone is killing you. Happy New Year to you, and be more transparent and honest when recommending this. I'm not sharing the corrections I made, nor my Geodata system, precisely because of your arrogance. I'll soon post a video of my Geoengine system, which you spent 12 years on and didn't finish. I can send you a list of everything you need to fix, but you're too arrogant for that because you're a superior God and don't accept advice from mortals.
    • Changelog   All notable changes to this project will be documented in this file. [English Version](#english-version) | [Versión en Español](#versión-en-español)   ---   English Version   [1.1.3] - 2026-01-05   Added   Donation System Integration - Integrated comprehensive donation panel into the main CMS - Implemented direct donation system without requiring user login - Added automatic coin crediting directly to character inventory - Created new React component for donation interface with modern design - Implemented real-time coin calculation based on payment method and currency - Added support for multiple payment gateways:   - MercadoPago (ARS)   - PayPal (USD, BRL, EUR)   - PagSeguro (BRL) - Developed new backend endpoint for processing direct donations - Implemented character validation system before payment processing - Added automatic webhook handling for payment confirmations - Created comprehensive logging system for all donation transactions - Implemented bonus system for bulk coin purchases - Added donation history tracking and management   Vote Reward System - Integrated vote reward panel into the CMS - Implemented multi-topsite voting system - Added automatic reward delivery upon vote verification - Created vote tracking and cooldown management - Implemented anti-fraud measures for vote validation - Added vote history and statistics for users - Developed admin panel for vote reward configuration - Implemented automatic vote verification through topsite APIs   Database Enhancements - Created new table structure for donation management (`site_donations`) - Added `auto_credit` field for automatic coin delivery - Implemented balance tracking system (`site_balance`) - Created conversion and transfer logging tables - Added comprehensive indexing for performance optimization - Implemented transaction history tracking   Frontend Improvements - Developed new donation panel component with consistent site design - Added multi-language support (Spanish, English, Portuguese) - Implemented form validation and error handling - Created responsive design for mobile and desktop - Added real-time price calculation display - Implemented loading states and user feedback messages   Backend Infrastructure - Created secure API endpoints for donation processing - Implemented webhook system for payment gateway integration - Added comprehensive error logging and debugging tools - Developed configuration management system - Implemented security measures for sensitive data handling - Added support for sandbox and production environments   Documentation - Created comprehensive production setup guide - Developed security checklist for deployment - Added database setup scripts with detailed instructions - Created API integration documentation - Developed troubleshooting guides - Added configuration examples for all payment gateways   Changed - Updated navigation system to include donation and vote panels - Modified routing to support new panel pages - Enhanced translation system with new text strings - Improved error handling across the application - Updated proxy configuration for backend communication   Security - Implemented credential protection in configuration files - Added example configuration files without sensitive data - Created .htaccess rules for protecting sensitive directories - Implemented webhook signature validation - Added SQL injection prevention measures - Implemented session security enhancements   Technical Details - React 19.2.0 for frontend components - TypeScript for type safety - Vite 6.2.0 for build tooling - PHP 7.4+ for backend processing - SQL Server 2012+ for database management - Integration with MercadoPago SDK - RESTful API architecture   ---   Versión en Español   [1.1.3] - 2026-01-05   Agregado   Integración del Sistema de Donaciones - Integración completa del panel de donaciones al CMS principal - Implementación de sistema de donaciones directas sin requerir inicio de sesión - Agregada acreditación automática de coins directamente al inventario del personaje - Creación de nuevo componente React para interfaz de donaciones con diseño moderno - Implementación de cálculo de coins en tiempo real según método de pago y moneda - Agregado soporte para múltiples pasarelas de pago:   - MercadoPago (ARS)   - PayPal (USD, BRL, EUR)   - PagSeguro (BRL) - Desarrollo de nuevo endpoint backend para procesamiento de donaciones directas - Implementación de sistema de validación de personajes antes del procesamiento de pago - Agregado manejo automático de webhooks para confirmaciones de pago - Creación de sistema completo de logs para todas las transacciones de donación - Implementación de sistema de bonos para compras de coins en volumen - Agregado seguimiento y gestión de historial de donaciones   Sistema de Recompensas por Votación - Integración del panel de recompensas por votación al CMS - Implementación de sistema de votación multi-topsite - Agregada entrega automática de recompensas al verificar votos - Creación de seguimiento de votos y gestión de tiempos de espera - Implementación de medidas anti-fraude para validación de votos - Agregado historial de votos y estadísticas para usuarios - Desarrollo de panel administrativo para configuración de recompensas - Implementación de verificación automática de votos mediante APIs de topsites   Mejoras en Base de Datos - Creación de nueva estructura de tablas para gestión de donaciones (`site_donations`) - Agregado campo `auto_credit` para entrega automática de coins - Implementación de sistema de seguimiento de balance (`site_balance`) - Creación de tablas de registro de conversiones y transferencias - Agregada indexación completa para optimización de rendimiento - Implementación de seguimiento de historial de transacciones   Mejoras en Frontend - Desarrollo de nuevo componente de panel de donaciones con diseño consistente - Agregado soporte multi-idioma (Español, Inglés, Portugués) - Implementación de validación de formularios y manejo de errores - Creación de diseño responsive para móvil y escritorio - Agregada visualización de cálculo de precios en tiempo real - Implementación de estados de carga y mensajes de retroalimentación al usuario   Infraestructura Backend - Creación de endpoints API seguros para procesamiento de donaciones - Implementación de sistema de webhooks para integración con pasarelas de pago - Agregadas herramientas completas de registro de errores y depuración - Desarrollo de sistema de gestión de configuración - Implementación de medidas de seguridad para manejo de datos sensibles - Agregado soporte para entornos sandbox y producción   Documentación - Creación de guía completa de configuración para producción - Desarrollo de checklist de seguridad para despliegue - Agregados scripts de configuración de base de datos con instrucciones detalladas - Creación de documentación de integración de APIs - Desarrollo de guías de solución de problemas - Agregados ejemplos de configuración para todas las pasarelas de pago   Modificado - Actualización del sistema de navegación para incluir paneles de donación y votación - Modificación del enrutamiento para soportar nuevas páginas de paneles - Mejora del sistema de traducciones con nuevas cadenas de texto - Mejora del manejo de errores en toda la aplicación - Actualización de configuración de proxy para comunicación con backend   Seguridad - Implementación de protección de credenciales en archivos de configuración - Agregados archivos de configuración de ejemplo sin datos sensibles - Creación de reglas .htaccess para proteger directorios sensibles - Implementación de validación de firma de webhooks - Agregadas medidas de prevención de inyección SQL - Implementación de mejoras de seguridad en sesiones   Detalles Técnicos - React 19.2.0 para componentes frontend - TypeScript para seguridad de tipos - Vite 6.2.0 para herramientas de construcción - PHP 7.4+ para procesamiento backend - SQL Server 2012+ para gestión de base de datos - Integración con SDK de MercadoPago - Arquitectura API RESTful   ---   Migration Notes / Notas de Migración   For Existing Installations / Para Instalaciones Existentes   **English:** If you are upgrading from a previous version, please follow these steps: 1. Backup your database before applying any changes 2. Run the database migration script (`database_setup.sql`) 3. Update your configuration file with new settings 4. Configure payment gateway credentials 5. Test the donation flow in sandbox mode before going to production 6. Review the security checklist before deployment   **Español:** Si está actualizando desde una versión anterior, siga estos pasos: 1. Realice una copia de seguridad de su base de datos antes de aplicar cambios 2. Ejecute el script de migración de base de datos (`database_setup.sql`) 3. Actualice su archivo de configuración con las nuevas opciones 4. Configure las credenciales de las pasarelas de pago 5. Pruebe el flujo de donaciones en modo sandbox antes de pasar a producción 6. Revise el checklist de seguridad antes del despliegue   ---   Known Issues / Problemas Conocidos   **English:** - Webhook notifications may experience delays during high traffic periods - Some payment gateways require manual configuration of webhook URLs - Character names are case-sensitive in the donation form   **Español:** - Las notificaciones de webhook pueden experimentar retrasos durante períodos de alto tráfico - Algunas pasarelas de pago requieren configuración manual de URLs de webhook - Los nombres de personajes son sensibles a mayúsculas/minúsculas en el formulario de donación   ---   Roadmap / Hoja de Ruta   Planned Features / Características Planeadas   **English:** - Admin dashboard for donation management - Automated refund processing - Subscription-based donations - Gift card system - Enhanced reporting and analytics - Mobile application support   **Español:** - Panel administrativo para gestión de donaciones - Procesamiento automatizado de reembolsos - Donaciones basadas en suscripción - Sistema de tarjetas de regalo - Reportes y análisis mejorados - Soporte para aplicación móvil   ---   Contributors / Contribuidores   This release includes contributions from the development team focused on creating a secure, user-friendly donation and voting system integrated seamlessly with the existing CMS.   Este lanzamiento incluye contribuciones del equipo de desarrollo enfocado en crear un sistema de donaciones y votación seguro y fácil de usar, integrado perfectamente con el CMS existente.   ---   Support / Soporte   **English:** For issues, questions, or feature requests, please refer to: - `PRODUCTION_SETUP_GUIDE.md` for setup instructions - `SECURITY_CHECKLIST.md` for security guidelines - `DONATION_DIRECT_SYSTEM.md` for technical documentation   **Español:** Para problemas, preguntas o solicitudes de características, consulte: - `PRODUCTION_SETUP_GUIDE.md` para instrucciones de configuración - `SECURITY_CHECKLIST.md` para pautas de seguridad - `DONATION_DIRECT_SYSTEM.md` para documentación técnica   ---   License / Licencia   This project maintains its original licensing terms. Please refer to the LICENSE file for details.   Este proyecto mantiene sus términos de licencia originales. Consulte el archivo LICENSE para más detalles.   ---   **Last Updated / Última Actualización:** January 5, 2026   **Version / Versión:** 1.1.3
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock