Please Log-in or Register to get full access to the forums.

Lost Password?

Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Script] Working AutoAugm 4L2Net
10-22-2009, 06:11
Post: #1
Working AutoAugm 4L2Net
Tested and working in all servers .
Code:
SET_EVENT "<&SCRIPTEVENT_SERVERPACKET&>" "<&SYSTEM_CURRENTFILE&>" CheckSkillList 95

INCLUDE StdLib\inventory.l2c
INCLUDE StdLib/npc.l2c

DEFINE_GLOBAL ARRAYLIST search_for_skills 0        // DON'T CHANGE

//================================================================================​===========
//
// Augmentation script fully automated. v1.3
// Tested on tow lagfree servers and works flawlessly (03.06.09)
// L2NET v370 on Gracia Final (ct 2.3)
//
// Nija
//================================================================================​===========



DEFINE_GLOBAL STRING item_to_aug "Name of Weaponr"        // The name of the weapon you want to augment
DEFINE_GLOBAL STRING gem_for_aug "Gemstones"        // Gemstone used for augment
DEFINE_GLOBAL STRING ls_for_aug "LifeStones!!!"        // The EXACT name of the Life Stone used for augment
DEFINE_GLOBAL INT num_of_gems 25        // The number of Gemstones used


//================================================================================​===========
// 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 #i3165
search_for_skills.ADD #i3167
search_for_skills.ADD #i3168

//================================================================================​===========

DEFINE_GLOBAL INT packet_delay 800        // delay between sent packets ... if it's lag and get some errors you can increase this
DEFINE_GLOBAL INT little_delay 400


//================================================================================​===========
// DON'T EDIT ANYTHING FROM BELOW UNLESS U KNOW WHAT U'RE DOING
//================================================================================​===========
SET_TARGETING TYPE TWO
SET_TARGETING ATTACKABLE TWO
SET_TARGETING ALIVE TWO
SET_TARGETING INBOX TWO

DEFINE_GLOBAL INT npc_id 0

npc_id = "#i<&TARGET_TYPEID&>"

IF TARGET_TYPE != #I3
  PRINT_TEXT "Target the augmentation NPC before start the script."
  JUMP_TO_LABEL THE_END
ENDIF

DEFINE_GLOBAL INT random_delay 0
DEFINE_GLOBAL INT loop_flag 0
DEFINE_GLOBAL INT another_flag 0

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 ls_count 0
DEFINE_GLOBAL INT gem_count 0
DEFINE_GLOBAL INT id_of_ls 0
DEFINE_GLOBAL INT id_of_gem 0
ITEM_GET_ID id_of_ls "<&ls_for_aug&>"
ITEM_GET_ID id_of_gem "<&gem_for_aug&>"
ITEM_COUNT ls_count "<&id_of_ls&>"
ITEM_COUNT gem_count "<&id_of_gem&>"

CALL reload_invet

GET_RAND random_delay 150 300
SLEEP "<&random_delay&>"




LABEL INFINITE_LOOP

WHILE loop_flag == ONE

    SLEEP 1000

WEND

CALL reload_invet

CALL remove_augment

GET_RAND random_delay 150 300
SLEEP "<&random_delay&>"

CALL reload_invet

another_flag = ONE

CALL add_augment

loop_flag = ONE

GET_RAND random_delay 150 300
SLEEP "<&random_delay&>"

CALL equip_augmented_item

JUMP_TO_LABEL INFINITE_LOOP


LABEL THE_END


PRINT_TEXT "Script Ended."

END_SCRIPT




FUNCTION add_augment

    IF work_item.aug_id > ZERO
        RETURN VOID
    ENDIF


    ITEM_COUNT ls_count "<&id_of_ls&>"
    GET_RAND random_delay 150 300
    SLEEP "<&random_delay&>"
    ITEM_COUNT gem_count "<&id_of_gem&>"
    GET_RAND random_delay 150 300
    SLEEP "<&random_delay&>"
   
    IF ls_count < ONE
   
        ITEM_COUNT ls_count "<&id_of_ls&>"
        GET_RAND random_delay 700 1100
        SLEEP "<&random_delay&>"
       
        IF ls_count < ONE
   
            PRINT_TEXT "Not enough <&ls_for_aug&>."
            JUMP_TO_LABEL THE_END
   
        ENDIF
    ENDIF
   
    IF gem_count < num_of_gems
   
        ITEM_COUNT gem_count "<&id_of_gem&>"
        GET_RAND random_delay 700 1100
        SLEEP "<&random_delay&>"
       
        IF gem_count < num_of_gems
   
            PRINT_TEXT "Not enough <&gem_for_aug&>."
            JUMP_TO_LABEL THE_END
       
        ENDIF
    ENDIF
   
   
    TARGET_NEAREST_ID "<&npc_id&>"
    SLEEP "<&little_delay&>"
    TALK_TARGET
    SLEEP "<&little_delay&>"
    NPC_DIALOG "bypass -h npc_<&TARGET_ID&>_Link common/augmentation_01.htm"
    SLEEP "<&little_delay&>"
    NPC_DIALOG "bypass -h npc_<&TARGET_ID&>_Augment 1"
    SLEEP "<&little_delay&>"   
   
   
    DEFINE BYTEBUFFER select_item_buffer 256
    DEFINE BYTEBUFFER select_ls_buffer 256
    DEFINE BYTEBUFFER select_gem_buffer 256
    DEFINE BYTEBUFFER start_aug_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
    SLEEP "<&packet_delay&>"
   
    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
    SLEEP "<&packet_delay&>"
   
    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
    SLEEP "<&packet_delay&>"
   
    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
    SLEEP "<&packet_delay&>"
   
    DELETE select_item_buffer
    DELETE select_ls_buffer
    DELETE select_gem_buffer
    DELETE start_aug_buffer

RETURN VOID



FUNCTION remove_augment

    IF work_item.aug_id == ZERO
        RETURN VOID
    ENDIF

    TARGET_NEAREST_ID "<&npc_id&>"
    SLEEP "<&little_delay&>"
    TALK_TARGET
    SLEEP "<&little_delay&>"
    NPC_DIALOG "bypass -h npc_<&TARGET_ID&>_Link common/augmentation_02.htm"
    SLEEP "<&little_delay&>"
    NPC_DIALOG "bypass -h npc_<&TARGET_ID&>_Augment 2"
    SLEEP "<&little_delay&>"   

   
    DEFINE BYTEBUFFER select_item_buffer 256
    DEFINE BYTEBUFFER rem_aug_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
    SLEEP "<&packet_delay&>"
   
    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
    SLEEP "<&packet_delay&>"
   
    DELETE select_item_buffer
    DELETE rem_aug_buffer


RETURN VOID

FUNCTION CheckSkillList

    IF another_flag == ZERO
        RETURN VOID
    ENDIF
    another_flag = ZERO

    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 "Augmentation with Skill ID <&search_for_skills.Z&> was succesfull."
                PRINT_TEXT " "
                JUMP_TO_LABEL THE_END
            ENDIF
       
        NEXTEACH
    NEXTEACH
   
    PRINT_TEXT "iLord unlucky AGAIN ... "
   
   
    CALL equip_augmented_item
    GET_RAND random_delay 150 300
    SLEEP "<&random_delay&>"
   
    loop_flag = ZERO
   
RETURN VOID

FUNCTION reload_invet

GET_INVENTORY full_invent
GET_RAND random_delay 400 800
SLEEP "<&random_delay&>"

FOREACH item Inventory full_invent
    if full_invent.item.name == item_to_aug   
        work_item = full_invent.item
    endif
    if full_invent.item.name == gem_for_aug   
        work_gem = full_invent.item
    endif
    if full_invent.item.name == ls_for_aug   
        work_ls = full_invent.item
    endif
NEXTEACH

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
SLEEP "<&packet_delay&>"

DELETE equip_item

RETURN VOID

Spammers are like the bugz!
Quote
Post Reply 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  [Share] Auto-Enchant 100% working and more! Pod3r 14 8,498 09-10-2009 01:10
Last Post: noant
  IG 2.07 working on gracia final Pod3r 6 1,572 08-22-2009 22:08
Last Post: mevip
  el2walker 10.9.0 GRACIA working Pod3r 3 451 07-13-2009 17:14
Last Post: Christopher
  [Share]Working OGG 10.0.92 (Chinese+USA) Gracia Part 2 Pod3r 0 250 07-04-2009 16:25
Last Post: Pod3r

Forum Jump:


User(s) browsing this thread: 1 Guest(s)