Jump to content

[SHARE]Augment Script Full Auto (Gracia Final ct2.3) @ L2.NET !!


phear3d

Recommended Posts

Another amazing time saving script only made possible by the awesome power of

the L2.NET advanced scripting bot.

 

http://ltwonet.com/showthread.php?t=4228

 

Augmentation script fully automated. L2.NET v370(and 369) on L2 ct2.3 (except stats modification augments ... WORKING ON IT)

 

You need to enter the weapon name, gemstone name, life tone name, number of gemstones and the id of skill/s you wish to get.

 

Remember first you'll have to go to a NPC that augment for you..

 

Keep in inventory just one item of the type you want to augment.

Be careful on adding skill ids (you should enter item skills at lvl 10 max).

 

EDIT: After one minute "sneak peak" to trixy's code i found what i was doing wrong with npc_id... Great thanks to trixy.

 

Here is the script:

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

Again, you can remove or add more "search_for_skills.ADD #i3244" lines on script.

on this line "search_for_skills.ADD #i3244" the number 3244 is the skill id, so that is what you need to change.

 

Here are the skill IDs

 

Check it out!!! :)

 

Link to comment
Share on other sites

that is mpj123's homepage. anyway i needed this script, thanks for the info. i tried it and works perfect :D now i can have whatever skill i want without get tired to click all the time manualy.

Link to comment
Share on other sites

Emm, I can't get this to work...

I'm trying to augment an +10 Carnage Bow with a normal Life Stone lvl 64(my lvl is 64), but I get the following error message:'

 

19:28:09 :[select the item to be augmented.

19:28:09 :[select the item to be augmented.

19:28:09 :[select the catalyst for augmentation.

19:28:09 :[Requires Gemstone C 20.

19:28:11 :[Augmentation failed due to inappropriate conditions.

19:28:12 :[The equipment, +10 Carnage Bow, has been removed.

 

DEFINE_GLOBAL STRING item_to_aug "Carnage Bow"        // The name of the weapon you want to augment

DEFINE_GLOBAL STRING gem_for_aug "160"        // Gemstone used for augment

DEFINE_GLOBAL STRING ls_for_aug "Life Stone: level 64"        // The EXACT name of the Life Stone used for augment

DEFINE_GLOBAL INT num_of_gems "0"        // The number of Gemstones used

 

"The number of Gemstones used" Well, I haven't used any gems yet, so I wrote 0..

"Gemstone used for augment" I have 160 gems that I'll 'use' for augment...

 

What's wrong?

 

Thanks alot! :)

Link to comment
Share on other sites

Awesome share... guyes i want to ask something... this script is used for auto augement? or is a script that with this you take active / passives? (dont laught at me with the question  :-\) thx anyway!

Link to comment
Share on other sites

Awesome share... guyes i want to ask something... this script is used for auto augement? or is a script that with this you take active / passives? (dont laught at me with the question  :-\) thx anyway!

 

Used for auto augment.

Link to comment
Share on other sites

Emm, I can't get this to work...

I'm trying to augment an +10 Carnage Bow with a normal Life Stone lvl 64(my lvl is 64), but I get the following error message:'

 

19:28:09 :[select the item to be augmented.

19:28:09 :[select the item to be augmented.

19:28:09 :[select the catalyst for augmentation.

19:28:09 :[Requires Gemstone C 20.

19:28:11 :[Augmentation failed due to inappropriate conditions.

19:28:12 :[The equipment, +10 Carnage Bow, has been removed.

 

DEFINE_GLOBAL STRING item_to_aug "Carnage Bow"        // The name of the weapon you want to augment

DEFINE_GLOBAL STRING gem_for_aug "160"        // Gemstone used for augment

DEFINE_GLOBAL STRING ls_for_aug "Life Stone: level 64"        // The EXACT name of the Life Stone used for augment

DEFINE_GLOBAL INT num_of_gems "0"        // The number of Gemstones used

 

"The number of Gemstones used" Well, I haven't used any gems yet, so I wrote 0..

"Gemstone used for augment" I have 160 gems that I'll 'use' for augment...

 

What's wrong?

 

Thanks alot! :)

 

Post on L2NET's forum, if you're still having a problem..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...