Jump to content

iosc

Members
  • Posts

    2
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by iosc

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

     

     

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

×
×
  • Create New...

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