Jump to content

Recommended Posts

Posted

Auto-Enchant script

 

For Gracia1-2-Final (i use version L2NET v.371) UDPATE!

 

INCLUDE StdLib\inventory.l2c

// ===================================================================================================================

// START OF EDITING PART (YOU SHOULD CHANGE THE SETTINGS FROM BELOW TO YOUR NEEDS)

// ===================================================================================================================

DEFINE_GLOBAL STRING item_name "Striped Mithril Shirt"        // Here you need to change with what item you want to enchant

DEFINE_GLOBAL STRING normal_enchant_name "Scroll: Enchant Armor (S)"        // The exact name of your normal enchant scroll

DEFINE_GLOBAL STRING blessed_enchant_name "Blessed Scroll: Enchant Armor (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 1        // 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 5        // Safe enchant level on witch normal anchant stop and continues with blessed (for Blessed enchanting)

DEFINE_GLOBAL INT min_little_delay 120        // 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 220        // 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)

// ===================================================================================================================

//  

// TEMP Auto Enchant IS temporary solution - have 7 methods of enchanting and is safe for auto kick

//                                                                   (don't cancel the enchant window when ingame)

// Fully working with L2NET v37x 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 2333

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

DEFINE_GLOBAL ARRAYLIST remove_uid 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 "== Temp Auto Enchant Script"

PRINT_TEXT "================================"

SLEEP 1000

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

CALL RemoveFromInv

PRINT_TEXT "==============================="

PRINT_TEXT "== Thanks for using Temp 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

   CALL RemoveFromInv

   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)"

               remove_uid.ADD "#i<&item_uid&>"

           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

   CALL RemoveFromInv

   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)"

               remove_uid.ADD "#i<&item_uid&>"

               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

   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 RemoveFromInv

   DEFINE ARRAYLIST temp_arr 0

   

   FOREACH igzs Inventory full_inventory

       FOREACH zedt INT remove_uid

           

           IF full_inventory.igzs.ID == remove_uid.zedt

               full_inventory.igzs.NAME = "none"

               full_inventory.igzs.ID = #i0

               full_inventory.igzs.ITEM_ID = #i0

               full_inventory.igzs.ENCHANT = #i0

           ENDIF

           

       NEXTEACH

   NEXTEACH

RETURN VOID

FUNCTION BlankFunc

SLEEP 25 //e = mc^2 nonsence

RETURN VOID

 

 

 

 

 

 

 

 

 

 

 

Posted

Auto-Augment    (this one is for figther passive pattack and focus you must change..search_for_skills.ADD #i3240 // Item Skill: Might - Passive: Increases P. Atk. when equipped

search_for_skills.ADD #i3249 // Item Skill: Focus - Passive: Increases critical attack rate when equipped.) if you want other passive/active.

 

INCLUDE StdLib\inventory.l2c

INCLUDE StdLib/npc.l2c

 

DEFINE_GLOBAL ARRAYLIST search_for_skills 0        // DON'T CHANGE

 

//===========================================================================================

//

// Augmentation script fully automated. v2.0.1 (13.06.09)

// Fully working with L2NET v370 and on L2J Gracia Final (ct2.3) servers.

//

//

// special thanks to: slothmo and everybody working for l2net project

// made by iosc

//===========================================================================================

 

 

 

DEFINE_GLOBAL STRING item_to_aug "Sword of Miracles"        // The name of the weapon you want to augment

DEFINE_GLOBAL STRING ls_for_aug "Top-Grade Life Stone: level 80"        // The EXACT name of the Life Stone used for augment

 

//===========================================================================================

// The skill ID's that you want to get

// You can add or delete some "search_for_skills.ADD #i" lines

// The IDs of skills are after "#i"  ex: #i3250 - 3250

//===========================================================================================

search_for_skills.ADD #i3240 // Item Skill: Might - Passive: Increases P. Atk. when equipped.

search_for_skills.ADD #i3249 // Item Skill: Focus - Passive: Increases critical attack rate when equipped.

 

 

 

 

 

//===========================================================================================

// DON'T EDIT ANYTHING FROM BELOW UNLESS U KNOW WHAT U'RE DOING

//===========================================================================================

DEFINE_GLOBAL STRING l2incgem "Magic Gem"

 

DEFINE_GLOBAL INT skills_flag 0

DEFINE_GLOBAL INT add_loop 0

DEFINE_GLOBAL INT rem_loop 0

DEFINE_GLOBAL INT first_round 0

DEFINE_GLOBAL INT _50d 50

DEFINE_GLOBAL INT adena_rem_aug 0

DEFINE_GLOBAL INT adena_checked 0

DEFINE_GLOBAL STRING request_skills "50"

DEFINE_GLOBAL STRING adena "Adena"

DEFINE_GLOBAL ARRAYLIST skill_ids 0

DEFINE_GLOBAL ARRAYLIST full_invent 0   

DEFINE_GLOBAL Inventory work_item 0

DEFINE_GLOBAL Inventory work_ls 0

DEFINE_GLOBAL Inventory work_gem 0

DEFINE_GLOBAL INT num_of_gems 0

DEFINE_GLOBAL INT ls_count 0

DEFINE_GLOBAL INT gem_count 0

DEFINE_GLOBAL INT id_of_ls 0

DEFINE_GLOBAL INT id_of_gem 0

DEFINE_GLOBAL INT id_of_adena 0

DEFINE_GLOBAL INT adena_count 0

DEFINE_GLOBAL INT uid_of_incgem 0

ITEM_GET_ID id_of_ls "<&ls_for_aug&>"

ITEM_GET_ID id_of_adena "<&adena&>"

ITEM_COUNT adena_count "<&id_of_adena&>"

ITEM_COUNT ls_count "<&id_of_ls&>"

CALL reload_invent

 

CALL f_random_delay VOID 1 ZERO

DEFINE STRING itemfound_name " "

ITEM_GET_NAME itemfound_name "<&work_item.ITEM_ID&>"

DEFINE STRING lsfound_name " "

ITEM_GET_NAME lsfound_name "<&work_ls.ITEM_ID&>"

 

 

PRINT_TEXT "====================================="

PRINT_TEXT "== Auto Augment Script started."

PRINT_TEXT "== Augmenting <&itemfound_name&>"

PRINT_TEXT "== With: <&lsfound_name&> (<&ls_count&>)"

PRINT_TEXT "====================================="

 

SLEEP 3000

 

LABEL INFINITE_LOOP

 

 

CALL reload_invent

 

CALL remove_augment

 

CALL f_random_delay VOID 1 ONE

 

CALL reload_invent

 

CALL add_augment

 

CALL f_random_delay VOID 1 ONE

 

CALL equip_augmented_item

 

CALL BeforeCheck

 

LOCK C

SLEEP 50

UNLOCK C

 

JUMP_TO_LABEL INFINITE_LOOP

 

 

LABEL THE_END

 

 

PRINT_TEXT "== Please go on ltwonet.org forum"

PRINT_TEXT "== and post you experience with this script."

PRINT_TEXT "====================================="

 

END_SCRIPT

 

 

 

 

FUNCTION add_augment

 

add_loop = ZERO

 

IF work_item.aug_id > ZERO

CALL f_random_delay VOID 1 ONE

CALL reload_invent

CALL f_random_delay VOID 1 ONE

IF work_item.aug_id > ZERO

RETURN VOID

ENDIF

ENDIF

 

 

ITEM_COUNT ls_count "<&id_of_ls&>"

CALL f_random_delay VOID 1 ZERO

 

IF ls_count <= ONE

CALL reload_invent

ITEM_COUNT ls_count "<&id_of_ls&>"

CALL f_random_delay VOID 1 ONE

CALL f_random_delay VOID 1 ONE

IF ls_count <= ONE

PRINT_TEXT "====================================="

PRINT_TEXT "== Not enough <&ls_for_aug&>."

PRINT_TEXT "====================================="

JUMP_TO_LABEL THE_END

 

ENDIF

ENDIF

 

IF first_round == ONE

ITEM_COUNT gem_count "<&id_of_gem&>"

CALL f_random_delay VOID 1 ZERO

 

IF gem_count <= num_of_gems

CALL reload_invent

ITEM_COUNT gem_count "<&id_of_gem&>"

CALL f_random_delay VOID 1 ONE

CALL f_random_delay VOID 1 ONE

 

IF gem_count <= num_of_gems

DEFINE STRING gem_name " "

ITEM_GET_NAME gem_name "<&id_of_gem&>"

PRINT_TEXT "====================================="

PRINT_TEXT "== Not enough <&gem_name&>."

PRINT_TEXT "====================================="

JUMP_TO_LABEL THE_END

 

ENDIF

ENDIF

ENDIF

PRINT_TEXT "====================================="

PRINT_TEXT "== Adding Augment..."

PRINT_TEXT "====================================="

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" add_after_target_talk 25

 

CALL f_random_delay VOID 1 ONE

 

CALL use_magic_gem

 

WHILE add_loop == ZERO

SLEEP 50

WEND

LOCK A

SLEEP 50

UNLOCK A

 

 

RETURN VOID

 

 

FUNCTION add_after_target_talk

 

LOCK A

add_loop = ONE

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" selecting_html_add_augment 25

 

NPC_DIALOG "bypass -h pc_augment_chat 0"

 

RETURN VOID

 

 

FUNCTION selecting_html_add_augment

CALL f_random_delay VOID 1 ONE

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 25

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" aug_insert_item 81

NPC_DIALOG "bypass -h pc_augment_start 1"

 

 

RETURN VOID

 

 

FUNCTION aug_insert_item

 

CALL f_random_delay VOID 1 ONE

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 81

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" aug_insert_ls 83

 

DEFINE BYTEBUFFER select_item_buffer 256

select_item_buffer.write_byte #i208

select_item_buffer.write_int16 #i38

select_item_buffer.write_int32 work_item.id

select_item_buffer.trim_to_index

INJECTBB select_item_buffer

DELETE select_item_buffer

 

RETURN VOID

 

 

FUNCTION aug_insert_ls

 

CALL f_random_delay VOID 1 ONE

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 83

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" aug_read_ins_gems 84

 

DEFINE BYTEBUFFER select_ls_buffer 256

select_ls_buffer.write_byte #i208

select_ls_buffer.write_int16 #i39

select_ls_buffer.write_int32 work_item.id

select_ls_buffer.write_int32 work_ls.id

select_ls_buffer.trim_to_index

INJECTBB select_ls_buffer

DELETE select_ls_buffer

 

RETURN VOID

 

 

FUNCTION aug_read_ins_gems

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 84

 

IF first_round == ZERO

DEFINE INT firstbyte 0

PACKET.READ_BYTE firstbyte

DELETE firstbyte

 

DEFINE INT expacket 0

PACKET.READ_INT16 expacket

DELETE expacket

 

DEFINE INT itemuid

PACKET.READ_INT32 itemuid

DELETE itemuid

 

DEFINE INT lsid

PACKET.READ_INT32 lsid

DELETE lsid

 

PACKET.READ_INT32 id_of_gem

PACKET.READ_INT32 num_of_gems

 

ITEM_COUNT gem_count "<&id_of_gem&>"

 

first_round = ONE

CALL reload_invent

 

ITEM_COUNT gem_count "<&id_of_gem&>"

CALL f_random_delay VOID 1 ZERO

 

IF gem_count <= num_of_gems

CALL reload_invent

ITEM_COUNT gem_count "<&id_of_gem&>"

CALL f_random_delay VOID 1 ONE

CALL f_random_delay VOID 1 ONE

 

IF gem_count <= num_of_gems

DEFINE STRING gem_name " "

ITEM_GET_NAME gem_name "<&id_of_gem&>"

PRINT_TEXT "====================================="

PRINT_TEXT "== Not enough <&gem_name&>."

PRINT_TEXT "====================================="

JUMP_TO_LABEL THE_END

 

ENDIF

ENDIF

ENDIF

CALL f_random_delay VOID 1 ONE

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" aug_start_aug 85

 

DEFINE BYTEBUFFER select_gem_buffer 256

select_gem_buffer.write_byte #i208

select_gem_buffer.write_int16 #i40

select_gem_buffer.write_int32 work_item.id

select_gem_buffer.write_int32 work_ls.id

select_gem_buffer.write_int32 work_gem.id

select_gem_buffer.write_int64 num_of_gems

select_gem_buffer.trim_to_index

INJECTBB select_gem_buffer

DELETE select_gem_buffer

 

RETURN VOID

 

 

FUNCTION aug_start_aug

CALL f_random_delay VOID 1 ONE

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 85

 

DEFINE BYTEBUFFER start_aug_buffer 256

start_aug_buffer.write_byte #i208

start_aug_buffer.write_int16 #i65

start_aug_buffer.write_int32 work_item.id

start_aug_buffer.write_int32 work_ls.id

start_aug_buffer.write_int32 work_gem.id

start_aug_buffer.write_int64 num_of_gems

start_aug_buffer.trim_to_index

INJECTBB start_aug_buffer

DELETE start_aug_buffer

 

UNLOCK A

 

RETURN VOID

 

FUNCTION remove_augment

rem_loop = ZERO

 

IF work_item.aug_id == ZERO

CALL f_random_delay VOID 1 ONE

CALL reload_invent

CALL f_random_delay VOID 1 ONE

IF work_item.aug_id == ZERO

RETURN VOID

ENDIF

ENDIF

PRINT_TEXT "== Removing Augment..."

PRINT_TEXT "====================================="

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" rem_after_target_talk 25

 

CALL f_random_delay VOID 1 ONE

 

CALL use_magic_gem

 

WHILE rem_loop == ZERO

SLEEP 50

WEND

LOCK B

SLEEP 50

UNLOCK B

RETURN VOID

 

FUNCTION rem_after_target_talk

 

LOCK B

rem_loop = ONE

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" selecting_html_rem_augment 25

NPC_DIALOG "bypass -h pc_augment_chat 0"

 

RETURN VOID

 

 

FUNCTION selecting_html_rem_augment

CALL f_random_delay VOID 1 ONE

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 25

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" rem_aug_item 82

NPC_DIALOG "bypass -h pc_augment_start 2"

 

RETURN VOID

 

FUNCTION rem_aug_item

 

CALL f_random_delay VOID 1 ONE

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 82

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" aug_start_rem 87

 

DEFINE BYTEBUFFER select_item_buffer 256

select_item_buffer.write_byte #i208

select_item_buffer.write_int16 #i66

select_item_buffer.write_int32 work_item.id

select_item_buffer.trim_to_index

INJECTBB select_item_buffer

DELETE select_item_buffer

 

RETURN VOID

 

 

FUNCTION aug_start_rem

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKETEX&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 87

IF adena_checked == ZERO

DEFINE INT firstbyte 0

PACKET.READ_BYTE firstbyte

DELETE firstByte

 

DEFINE INT expacket 0

PACKET.READ_INT16 expacket

DELETE expacket

 

DEFINE INT notinteresting 0

PACKET.READ_INT64 notinteresting

PACKET.READ_INT64 notinteresting

DELETE notinteresting

 

PACKET.READ_INT64 adena_rem_aug

CALL reload_invent

adena_checked = ONE

ENDIF

 

ITEM_COUNT adena_count "<&id_of_adena&>"

CALL f_random_delay VOID 1 ZERO

IF adena_count <= adena_rem_aug

CALL reload_invent

CALL f_random_delay VOID 1 ONE

CALL f_random_delay VOID 1 ONE

ITEM_COUNT adena_count "<&id_of_adena&>"

IF adena_count <= adena_rem_aug

PRINT_TEXT "====================================="

PRINT_TEXT "== Not enough Adena(<&adena_count&>) to remove augment!"

PRINT_TEXT "====================================="

JUMP_TO_LABEL THE_END

ENDIF

ENDIF

 

CALL f_random_delay VOID 1 ONE

DEFINE BYTEBUFFER rem_aug_buffer 256

rem_aug_buffer.write_byte #i208

rem_aug_buffer.write_int16 #i67

rem_aug_buffer.write_int32 work_item.id

rem_aug_buffer.trim_to_index

INJECTBB rem_aug_buffer

DELETE rem_aug_buffer

 

UNLOCK B

 

RETURN VOID

 

 

FUNCTION BeforeCheck

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" CheckSkillList 95

skills_flag = ZERO

 

DO

INJECT "<&request_skills&>"

CALL f_random_delay VOID 1 ONE

LOOP skills_flag == ZERO

 

RETURN VOID

 

 

FUNCTION CheckSkillList

 

SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" blankfunc 95

LOCK C

skills_flag = ONE

 

DEFINE INT skill_byte 0

DEFINE INT skill_list_size 0

 

PACKET.READ_BYTE skill_byte

PACKET.READ_INT32 skill_list_size

 

FOR Z 0 "<&skill_list_size&>" 1

 

DEFINE INT _i64

PACKET.READ_INT64 _i64

DELETE _i64

 

DEFINE INT skillID

PACKET.READ_INT32 skillID

skill_ids.ADD skillID

DELETE skillID

 

DEFINE INT c_byte

PACKET.READ_BYTE c_byte

DELETE c_byte

 

NEXT

 

DELETE skill_byte

DELETE skill_list_size

 

FOREACH X INT skill_ids

FOREACH Z INT search_for_skills

 

IF skill_ids.X == search_for_skills.Z

PRINT_TEXT "====================================="

PRINT_TEXT "== Augment Script finished."

PRINT_TEXT "== Augmentation with Skill ID <&search_for_skills.Z&> was succesfull."

PRINT_TEXT "====================================="

JUMP_TO_LABEL THE_END

ENDIF

 

NEXTEACH

NEXTEACH

CALL equip_augmented_item

 

ITEM_COUNT gem_count "<&id_of_gem&>"

DEFINE STRING gem_name " "

ITEM_GET_NAME gem_name "<&id_of_gem&>"

ITEM_COUNT ls_count "<&id_of_ls&>"

 

PRINT_TEXT "====================================="

PRINT_TEXT "== No luck this round..."

PRINT_TEXT "== Items Remaining:"

PRINT_TEXT "== <&gem_count&> - <&gem_name&>"

PRINT_TEXT "== <&ls_count&> - <&ls_for_aug&> "

PRINT_TEXT "====================================="

 

CALL f_random_delay VOID 1 ZERO

 

UNLOCK C

 

RETURN VOID

 

FUNCTION f_random_delay 1 lmh

DEFINE INT rand_min 0

DEFINE INT rand_max 0

SLEEP 25

SWITCH lmh

CASE #i0

rand_min = #i150

rand_max = #i300

BREAK 1

CASE #i1

rand_min = #i400

rand_max = #i550

BREAK 1

CASE #i2

rand_min = #i2103

rand_max = #i2408

BREAK 1

DEFAULT

BREAK 1

ENDSWITCH

DEFINE INT random_delay 0

GET_RAND random_delay "<&rand_min&>" "<&rand_max&>"

SLEEP 25

SLEEP "<&random_delay&>"

 

DELETE rand_min

DELETE rand_max

DELETE random_delay

 

RETURN VOID

 

FUNCTION reload_invent

 

GET_INVENTORY full_invent

CALL f_random_delay VOID 1 ZERO

 

FOREACH item Inventory full_invent

IF full_invent.item.name == item_to_aug   

work_item = full_invent.item

ENDIF

IF first_round == ONE

IF full_invent.item.ITEM_ID == id_of_gem   

work_gem = full_invent.item

ENDIF

ENDIF

IF full_invent.item.name == ls_for_aug   

work_ls = full_invent.item

ENDIF

IF full_invent.item.name == l2incgem

uid_of_incgem = full_invent.item.id

ENDIF

NEXTEACH

 

RETURN VOID

 

FUNCTION blankfunc

SLEEP 50

RETURN VOID

 

 

FUNCTION use_magic_gem

 

DEFINE BYTEBUFFER use_magic_gem_bufer 256

 

use_magic_gem_bufer.write_byte #i25

use_magic_gem_bufer.write_int32 uid_of_incgem

use_magic_gem_bufer.write_int32 #i0

use_magic_gem_bufer.trim_to_index

INJECTBB use_magic_gem_bufer

CALL f_random_delay VOID 1 ONE

 

DELETE use_magic_gem_bufer

 

RETURN VOID

 

 

FUNCTION equip_augmented_item

 

DEFINE BYTEBUFFER equip_item 256

 

equip_item.write_byte #i25

equip_item.write_int32 work_item.id

equip_item.write_int32 #i0

equip_item.trim_to_index

INJECTBB equip_item

CALL f_random_delay VOID 1 ONE

 

DELETE equip_item

 

RETURN VOID

Posted

i cant try it now but i will asap.. but i dont think that u made it by urself..

no i dont make it alone i just i ''fix'' the script i change some things like the type for enchant or i put passive might or focus passive at aug script

i just change some things and i post here if some1 need scripts for l2 net.

Posted

More information required.

 

Which client version?

Which L2.Net version? (Some people play Interlude, some KHG)

Posted

Okay, new rule was added how to post scripts, be sure to read it. I've edited your topic already so nothing to be worry about. I won't punish in next few days if somebody posts a script without proper pre-fix, cause it's a new rule. So be sure to read it :}

Posted

Okay, new rule was added how to post scripts, be sure to read it. I've edited your topic already so nothing to be worry about. I won't punish in next few days if somebody posts a script without proper pre-fix, cause it's a new rule. So be sure to read it :}

script working i test it allready in l2inc,i just i dont tell the version from l2net.but we are humans sometimes we can do wrong things but we can fix it too :S

  • 3 weeks later...

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

    • so u need to create them and then use the icon name in the prefered ones
    • ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━      ⚔️  A NEW ERA OF LINEAGE 2 PVP  ⚔️         High Five | 2026 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ We are building something that has never existed before. Not another copy. Not another "x2000 PvP server with TvT." This is a complete PvP ecosystem — where every kill matters,every rivalry has a face, and your legacy is worn on your character. We are sharing this here first, before anything is announced publicly. We want feedback. We want the right people. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌  CORE SERVER FEATURES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔹 Chronicle .............. High Five 🔹 Rates .................. x2000 🔹 Safe Enchant ........... +3 🔹 Max Enchant ............ +10 🔹 Enchant Rate ........... 33% 🔹 Buff Slots ............. 24 + 4 🔹 Song & Dance Slots ..... 12 🔹 Buff Duration .......... 4 hours 🔹 TvT .................... Every Hour  (Karma + PvP points) 🔹 Hero ................... Every Week 🔹 Olympiad ............... 3 Hours Daily 🔹 Castle Sieges .......... Weekly 🔹 Territory Wars ......... Weekly 🔹 Grand Bosses ........... 1 week respawn 🔹 Costume Farm Area ...... Custom mobs & zones 🔹 NPC Buffers + GM Shops 🔹 Custom Economy 🔹 Custom Playground 🔹 Custom Events 🔹 Anti-Bot | Anti-DDoS | Highly Secured 🔹 Stable | No Lag | No sudden wipes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚀  5 FEATURES THAT HAVE NEVER EXISTED      ON ANY LINEAGE 2 SERVER ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ─────────────────────────────────────── 💰  1. BOUNTY HUNTER SYSTEM ─────────────────────────────────────── Every player with high PvP points becomes a target. Anyone can place real in-game adena / currency / gear as a bounty on any specific player they want dead. Kill the target → collect the bounty. → Top 10 Active Bounties visible LIVE on website + in-game board → Updated in real time — anyone can see who has a price on their head → Clans place bounties on enemy leaders before sieges → Creates real economic stakes behind every single kill → 100% organic drama — no admin needed to create conflict ─────────────────────────────────────── 🏆  2. SEASON RANKED LADDER + REAL PRIZE POOL ─────────────────────────────────────── Every 45 days a Season ends. PvP Score resets. Gear stays. Glory is earned. → Top 3 players receive a REAL money prize pool at season end → Top clan earns a unique exclusive in-game title displayed for the entire next season → Permanent Hall of Fame on website — name, class, kills, and season — forever → Season end = fresh ranking start for everyone New players have a real shot. Veterans must defend. → This single feature will make clans actively recruit  and communities form around the server organically ─────────────────────────────────────── 📱  3. LIVE SERVER DASHBOARD ─────────────────────────────────────── A fully live website — accessible from any phone or browser: → Real-time Kill Feed — who killed who, where, when → Live PvP Leaderboard — updated every minute → Live Bounty Board — active bounties and claimed kills → Grand Boss timers — next Baium, Antharas, Valakas spawn → Siege countdown with registered clans visible → Server population — online now, today's peak, all-time peak Why this matters: Players check their phone at work and see their clan is losing the siege. They log in. They recruit a friend. That friend stays. Friends who have never played see the stats and ask what server it is. This is automatic word-of-mouth that no advertisement can buy. ─────────────────────────────────────── ⚔️  4. NEMESIS SYSTEM ─────────────────────────────────────── The system tracks who kills you most. If the same player kills you 5 times in a row — he becomes your official NEMESIS. → A red skull icon appears above his head — visible only to you → Kill your Nemesis → DOUBLE PvP points    + server-wide announcement: "[PlayerX] has avenged his honor against [PlayerY]!" → If he kills you 10 times consecutively → you receive the title [Hunted] — visible to the entire server    Public humiliation. Maximum motivation. → Eliminate your Nemesis → your title is removed    He receives [Defeated] for 1 hour This transforms anonymous PvP into personal rivalries. Players will bring friends just to help eliminate their Nemesis. These stories are what people talk about for years. ─────────────────────────────────────── 👑  5. CLAN SIEGE CROWN — WEARABLE LEGACY TROPHY  ─────────────────────────────────────── This feature does not exist on any L2 server in the world. Every clan that wins a Castle Siege receives 10 custom hat/accessory items — physically wearable in-game. Each Crown is: → UNIQUE per castle — Aden Crown has a different visual from Giran Crown, Rune Crown, Goddard Crown, etc. → PERSONALIZED — the clan name AND clan crest are embedded visually on the hat itself, like a clan cloak but on your head    Every player who sees you knows exactly who you are and what castle your clan owns → NUMBERED — tooltip reads:    "Crown of Aden #4/10 — Season 2"    A collectible. A proof. A statement. → PERMANENT — you lose the castle at next siege, you keep the Crown → LEGACY — at season end it becomes a permanent trophy:    "Crown of Aden — Season 2  |  [YourClanName]"    Stored in your inventory as living history When a player wearing this Crown walks through Giran, everyone sees the clan crest displayed on the accessory. No leaderboard needed. Status is worn on your character.   -------------------------------------------------------------------------------------------------------------------------------------------------------------------- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🛠️  WHO WE ARE LOOKING FOR ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ We are building the right team first. No launch date until everything is right. ✅ H5 Developer — L2J or L2OFF    Must have experience with high-rate PvP servers    Bonus: experience with custom feature development ✅ Web Developer — for the Live Dashboard + account panel    Must be comfortable with real-time data display    (websockets, live feeds, mobile-friendly) ✅ Designer / 3D Artist — for custom Crown visuals per castle    If you have L2 texture/model experience, we want to talk ✅ GMs / Community Managers    Active, fair, experienced, trusted by the community ✅ Beta Testers    Players who know H5 PvP inside out    Willing to stress-test and break things on purpose ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 💬  WE WANT YOUR HONEST FEEDBACK ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ We are building this WITH the community. Every reply here shapes the final product. → Which of these 5 features excites you most? → What do you think will NOT work and why? → What is missing that would make you stay for months? → Would you play this if it opened tomorrow? We are not looking for hype. We are looking for honest opinions from people who have seen servers rise and fall. Tell us what we are getting wrong. Reply below or send a PM directly. Serious people only. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ P.S. — The inspiration for this project came from a server many of us played years ago called L2Gang. That nostalgia is what started this conversation. What we are building is something entirely new. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    • Please is anyone who can share the compiled version of the l2editor source for interlude? Because i run the !GenerateLibs.bat with the corrected code by CriticalError and then i try to build with the vs 2013 but i get errors again and again and when i try anyway to open or create something with the UnrealEd.exe then it closes automatically.
    • General Trackers :   IPTorrents invite IPTorrents account 1 tb TorrentLeech invite Torrentleech account 1 tb buffer  InTheShaDow ( ITS ) account Acid-lounge invite Torrentday invite Crnaberza account Abn.Lol account Limit-of-eden account Norbits account Xspeeds account Xspeeds invite Bemaniso invite Wigornot account Bithumen invite Filelist account Funfile invite AvistaZ invite Potuk.net invite ResurrectThe.Net invite GrabThe.Info invite Greek-Team invite LinkoManija invite Fano.in account tracker.czech-server.com Speed.cd invite Arab-torrents.net account Arabscene.me account Scenetime account 4thd.xyz invite Btarg.com.ar account Dedbit invite Estone.cc account Speedapp invite Finvip invite Fluxzone account GigaTorrents account Gimmepeers account Haidan.video invite Mojblink account Mycarpathians invite Newinsane.info account Oscarworld.xyz account Peers.FM invite Pt.msg.vg account Ransackedcrew account Redemption invite Scene-rush account Seedfile.io invite Teracod invite Torrent.ai account Torrentmasters invite Ttsweb invite X-files invite X-ite invite Ncore account TorrentHR account Rptorrents account BwTorrents account Superbits invite Krazyzone account Immortalseed account Tntracker invite Pt.eastgame.org account Bitturk account Rstorrent account Tracker.btnext invite Torrent-turk.de account BeiTai.PT account Pt.keepfrds account 52pt.site account Pthome account Torrentseeds account Aystorrent account Blues-brothers.biz invite Divteam account Thesceneplace invite CinemaMovies.pl account Brasiltracker account Patiodebutacas account Newheaven.nl account  Swarmazon.club invite Bc-reloaded account Crazyspirits account Silentground invite Omg.wtftrackr invite Milkie.cc invite Breathetheword invite Madsrevolution account Chilebt account Yubraca account Uniongang.tv account Frboard account Exvagos account Diablotorrent account Microbit account Carp-hunter.hu account Majomparade.eu account Theshinning.me account Youiv.info account Dragonworld-reloaded account Sharewood.tv account Partis.si account Digitalcore.club invite Fuzer.me account R3vuk.wtf invite Ztracker account 1 tb buffer 3changtrai account Best-core.info account Bitsite.us account Eliteunitedcrew invite Exitorrent.org account Tophos invite Torrent.lt account Sktorrent.eu account Oshen account Pirata.digital account Esharenet account Ohmenarikgi.la Pirate-share account Immortuos account Kiesbits account Cliente.amigos-share.club account Broadcity invite Ilovetorzz account Torrentbytes account Polishsource account Portugas invite Shareisland account ArabaFenice account Hudbt.hust.edu.cn account Audiences account Nanyangpt account Pt.sjtu.edu.cn account Pt.zhixing.bjtu.edu.cn account Byr.pt invite Ptfiles invite Red-bits account Pt.hdpost.top account Irrenhaus.dyndns.dk (NewPropaganda) account Mnvv2.info (MaxNewVision V2) account 1ptba.com account Spidertk.top account Film-paleis account Generation-free account Aftershock-tracker account Twilightsdreams account Back-ups.me invite Sor-next.tk ( Spirit Of Revolution ) account Tfa.tf ( The Falling Angels ) account Hdmayi account S-f-p.dyndns.dk ( Share Friends Projekt ) account Unlimitz.biz account Pttime account St-tracker.eu account New-retro.eu account Zbbit account Tigers-dl.net account Jptvts.us account Lat-team account Club.hares.top account Falkonvision-team account Concen account Drugari account T.ceskeforum account Peeratiko.org account Zamunda.se account Central-torrent.eu account h-o-d.org account Torrentleech.pl account Demonoid invite Lst.gg account Fakedoor.store account LaidBackManor account Vrbsharezone.co.uk invite Torrenteros account Arenaelite account Datascene account Tracker.0day.community Tapochek.net invite Ptchina invite Lesaloon account Exyusubs account Therebels.tv account Ubits.club invite Zmpt.cc account Turktorrent.us account Dasunerwarte account Hawke.uno account Monikadesign account Fearnopeer account Alpharatio account Wukongwendao.top account Chinapyg account Azusa.wiki account Yggtorrent.top account Torrentdd account Cyanbug.net invite Hhanclub.top account Wintersakura.net account Xthor account Tctg.pm account Finelite invite Agsvpt.com account Pt.0ff.cc invite Qingwapt.com account Xingtan.one account Ptcafe.club invite W-o-t.pro account Coastal-crew.bounceme.net account Darkpeers.org account Pianyuan.org account Seedpool.org  account Tempelbox account Pt.itzmx.com account Itatorrents.xyz  account Letseed.org account The-new-fun.com  account Malayabits.cc account Trellas.me account Yu-scene.net account Futuretorrent.org account Bitpt.cn account Tocashare.biz  account Videoteka.org  account White-angel.hu account Xbytesv2.li account Torr9  account Desitorrents account Okpt.net account Samaritano.cc account Polishtorrent.top  account C411.org account Bigcore.eu account BJ-Share.info account Infinitylibrary.net account Beload.org account Emuwarez.com account Yhpp.cc account Funsharing ( FSC ) account Rastastugan account Tlzdigital account account Upscalevault account Bluraytracker.cz account Torrenting.com account Infire.si account Dasunerwartete.biz invite The-torrent-trader account New-asgard.xyz account Pandapt account Deildu account Tmpt.top invite Pt.gtk.pw account Media.slo-bitcloud.eu account Pte.nu account P.t-baozi.cc account   Movies Trackers :   Secret-cinema account Anthelion account Pixelhd account Cinemageddon account Cinemaz account Retroflix account Classix-unlimited - invite Movie-Torrentz (m2g.link) invite Punck-tracker.net account Tmghub account Cathode-ray.tube account Greatposterwall account Arabicsource.net account Upload.cx account Crabpt.vip invite Onlyencodes.cc account Exyusubs account Hellashut.net invite Nordichd.sytes.net invite Locadora.cc account HD Trackers :   Blutopia buffered account Hd-olimpo buffered account Hdf.world account Torrentland.li account HdSky account Hdchina account Chdbits account Totheglory account Hdroute account Hdhome account TorrentCCF aka et8.org account 3DTorrents invite HD-Torrents account Bit-HDTV account HDME.eu invite Hdarea.co account Asiancinema.me account JoyHD invite HDSpace invite CrazyHD invite Bluebird-hd invite Htpt.cc account Hdtime invite Ourbits.club account Hd4fans account Siambit account Privatehd account Springsunday account Tjupt account Hdcity.leniter invite Ccfbits account Discfan account Pt.btschool.club account Ptsbao.club invite Hdzone.me invite Danishbytes account Zonaq.pw account Tracker.tekno3d account Arabp2p account Hd-united account Reelflix.xyz account Hdatmos.club account Anasch.cc invite Tigris-t account Nethd.org account Hd.ai invite Hitpt.com account Hdmonkey account Dragonhd.xyz account Hdclub.eu account Forum.bluraycd.com account Carpt account Hdfun.me invite Pt.hdupt invite Puntotorrent account Ultrahd account Rousi.zip account Bearbit account Hdturk.club account Asiandvdclub account Star-space.net account Nordicq.org account Hdkyl.in account Utp.to account Hdzero account Novahd account Hdtorrents.eu account   Music Trackers :   Dicmusic account Music-Vid account Open.cd account LzTr account ProAudioTorrents invite Jpopsuki invite TranceTraffic invite Audionews invite Kraytracker invite Libble.me invite Losslessclub invite Indietorrents.com invite Dimeadozen account Funkytorrents invite Karaokedl account zombtracker.the-zomb account Concertos account Sugoimusic account Satclubbing.club invite Metal.iplay invite Psyreactor invite Panda.cd account Adamsfile account Freehardmusic account Tracker.hqmusic.vn accouunt Twilightzoom account 3 tb buffer Hiresmusic account Metalguru account Musictorrents.org account Musebootlegs.com invite Zappateers.com account Jungleland.dnsalias.com account Naftamusic account Bemusic account   E-Learning Trackers :   Theplace account Thevault account Myanonamouse account Libranet account 420Project account Learnflakes account Pt.soulvoice.club account P2pelite account Aaaaarg.fail invite Ebooks-shares.org account Abtorrents account Pt.tu88.men invite Docspedia.world invite   TV-Trackers :   Skipthecommericals Cryptichaven account TV-Vault invite Shazbat.TV account Myspleen account Tasmanit.es invite Tvstore.me account Tvchaosuk account Jptv.club account   XXX - Porn Trackers :   FemdomCult account Pussytorrents account Adult-cinema-network account Bootytape account 1 Tb buffer Exoticaz account Bitporn account Kufirc account Gaytorrent.ru invite Nicept account Gay-torrents.org invite Ourgtn account Pt.hdbd.us account BitSexy account Happyfappy.org account Kamept.com account Lesbians4u.org account   Gaming Trackers :   Mteam.fr account BitGamer invite Retrowithin invite Gamegamept account   Cartoon/Anime/Comic Trackers :   Animeworld account Oldtoons.world account U2.dmhy account CartoonChaos invite Mononoke account Totallykids.tv account Bakabt.me invite Revanime account Ansktracker account Tracker.shakaw.com.br invite Bt.mdan.org account Skyey2.com account Animetracker.cc Adbt.it.cx invite Tracker.uniotaku.com account Mousebits.com account   Sports Trackers :   MMA-Tracker invite T3nnis.tv invite AcrossTheTasman account RacingForMe invite Sportscult invite Ultimatewrestlingtorrents account Worldboxingvideoarchive invite CyclingTorrents account Xtremewrestlingtorrents account Tc-boxing invite Mma-torrents account Aussierul invite Xwt-classics account Racing4everyone account Talk.tenyardtracker account Stalker.societyglitch invite Extremebits invite Rgfootball.net account F1carreras.xyz account   Software/Apps Trackers :   Brokenstones account Appzuniverse invite Teamos.xyz account Macbb.org account Phoenixproject.app account   Graphics Trackers:   Forum.Cgpersia account Cgfxw account   Others   Hduse.net account Fora.snahp.eu account Board4all.biz account Makingoff.org/forum account Xrel.to account Undergunz.su account Corebay account Endoftheinter.net ( EOTI ) account Thismight.be invite Skull.facefromouter.space account Avxhm.se (AvaxHome) account Ssdforum account Notfake.vip account Intotheinter.net account Tildes.net invite Thetoonz account Usinavirtual account Hdclasico invite HispaShare account Valentine.wtf account Adit-hd account Forum-andr.net account Warezforums account Justanothermusic.site account Forbiddenlibrary.moe account Senturion.to account Movieparadise account Dcdnet.ru account Sftdevils.net account Heavy-r.com account New-team.org account Ddl.tv account Filewarez.club account Hispamula.org account Hubwarez.tv account Ultim-zone.in account Leprosorium.ru account Planet-ultima.org account The-dark-warez.com account Koyi.pub account Tehparadox.net account Forumophilia account Torrentinvite.fr account Gmgard.com account   NZB :   Ninjacentral.co.za account Tabula-rasa.pw account Drunkenslug account Drunkenslug invite Usenet-4all account Dognzb.cr invite Kleverig account Nzb.cat account Nzbplanet.net invite Ng4you.com account NZB.to account Samuraiplace account Abhdtv.net account Abook.link account Comix.pw account House-of-usenet Secretbinaries.net account Vnext.to account Stockboxx.top account Sky-of-use.net account   Prices start from 3 $ to 100 $   Payment methods: Crypto, Neteller, Revolut   If you want to buy something send me a pm or contact me on:   Email: morrison2102@gmail.com   Discord: LFC4LIFE#4173   Telegram: https://t.me/LFC4LIFE4173   Skype: morrison2102@hotmail.com
    • I need two new one for the existing ones. 
  • 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..