por Carlitoxvp Sáb Sep 25, 2010 8:03 pm
Bueno mira encontre esto en foros de l2net... kiza te ande..
Augmentation script automatico. L2.NET v370(and 369) en L2 ct2.3 (except stats modification augments ... Trabajando en ello)
Es necesario introducir el nombre de armas, el nombre de la Life Stone (bien escrito), , el número de Gemstones y grado , el id de la habilidad/es que deseas obtener.
Recorda primero que tienes que ir a un Pushkin NPC de giran y tenerlo target ..
Probalo y si te salta error..postea imagenes, los chicos del foro pueden ver que fallo y podrian solucionarlo .. ya ke ellos entienden mas ke yo... sobre edicion de script
- Spoiler:
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)
//
// made by undercover iosc :P
//===========================================================================================
DEFINE_GLOBAL STRING item_to_aug "Angel Slayer" // The name of the weapon you want to augment
DEFINE_GLOBAL STRING gem_for_aug "Gemstone C" // Gemstone used for augment
DEFINE_GLOBAL STRING ls_for_aug "Top-Grade Life Stone: level 80" // 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 #i3244 // Item Skill: Shield - Passive: Increases P. Def. when equipped.
search_for_skills.ADD #i3240 // Item Skill: Might - Passive: Increases P. Atk. when equipped.
search_for_skills.ADD #i3135 // Item Skill: Shield - Active: Increases P. Def. temporarily.
search_for_skills.ADD #i3132 // Item Skill: Might - Active: Increases P. Atk. temporarily.
//===========================================================================================
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 begin_of_the_skype_highlighting 700 1100 end_of_the_skype_highlighting begin_of_the_skype_highlighting 700 1100 end_of_the_skype_highlighting begin_of_the_skype_highlighting 700 1100 end_of_the_skype_highlighting
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 "No luck this round... "
PRINT_TEXT " "
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