Jump to content

[SHARE]Enchanting one by one at L2Net (made by easy2k4) (GRACIA FINAL)


phear3d

Recommended Posts

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

 

Ok so alot of people were requesting this, so here it is.

 

Enjoy

 

 

(onexone.l2s)

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// made by easy2k4
// gracia final ct2.3 trixy/phear3d
// enchanting w/a/j (with different enchant's levels) one by one 
// starting from item with the lowest enchant's level, and stops
// on the last one (or few if you wish)
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

INCLUDE StdLib\inventory.l2c

///////////////////////////////////////////////////////////////////////////////

// You can (need to) change these values :)

DEFINE_GLOBAL STRING selected_enchanted_item "Demon Dagger"
DEFINE_GLOBAL STRING selected_enchanted_scroll "Scroll: Enchant Weapon (B)"
DEFINE_GLOBAL STRING selected_enchanted_crystals "Crystal: B-Grade"
DEFINE_GLOBAL INT loop_delay 1100
DEFINE_GLOBAL INT number_of_items_which_should_stay 1

///////////////////////////////////////////////////////////////////////////////

// start -->>

    Enchant_one_by_one_v2

SCRIPT_END



FUNCTION Enchant_one_by_one_v2

    DEFINE STRING item_name 0
    DEFINE ARRAYLIST bag_inventory 0    

    DEFINE INT enchanted_items_count 0
    DEFINE INT enchanted_scrolls_count 0
    DEFINE INT crystals_count 0
    DEFINE INT crystals_count_after_enchanting 0

    DEFINE INT id_of_item 0
    DEFINE INT id_of_enchant 0
    DEFINE INT id_of_crystals 0

    DEFINE Inventory current_enchanted_item 0
    DEFINE INT current_enchant_level 9999
    DEFINE INT current_items_count 0

    DEFINE Inventory item_of_scroll 0

    DEFINE INT enchanting_process 0

    DEFINE INT enchant_size 0    

    DEFINE INT random_loop_delay 0

    ITEM_GET_ID id_of_enchant "<&selected_enchanted_scroll&>"
    ITEM_COUNT enchanted_scrolls_count "<&id_of_enchant&>"

    ITEM_GET_ID id_of_crystals "<&selected_enchanted_crystals&>"
    ITEM_COUNT crystals_count "<&id_of_crystals&>"
    ITEM_COUNT crystals_count_after_enchanting "<&id_of_crystals&>"

    ITEM_GET_ID id_of_item "<&selected_enchanted_item&>"    

    PRINT_TEXT " "
    PRINT_TEXT "------------------------------"
    PRINT_TEXT "Enchant one by one has started"
    PRINT_TEXT "v 2"
    PRINT_TEXT "by easy2k4"
    PRINT_TEXT "------------------------------"
    PRINT_TEXT " "

    GET_INVENTORY bag_inventory
    FOREACH item Inventory bag_inventory
        item_name = bag_inventory.item.name
        
        if item_name == selected_enchanted_item
            enchanted_items_count = enchanted_items_count + ONE
        endif 

        if item_name == selected_enchanted_scroll
            item_of_scroll = bag_inventory.item
        endif 
    NEXTEACH

    PRINT_TEXT "Selected item is: <&selected_enchanted_item&> (x<&enchanted_items_count&>)"
    PRINT_TEXT "Selected scroll is <&selected_enchanted_scroll&> (x<&enchanted_scrolls_count&>)"
    PRINT_TEXT "Selected crystals are <&selected_enchanted_crystals&> (x<&crystals_count&>)"
    PRINT_TEXT "Number of items which you want to keep is <&number_of_items_which_should_stay&>"
    PRINT_TEXT " "    

    if enchanted_items_count <= number_of_items_which_should_stay
        PRINT_TEXT "Not enough items to enchanting."
        RETURN VOID
    endif

    if enchanted_scrolls_count < ONE
        PRINT_TEXT "Not enough scrolls to enchanting."
        RETURN VOID
    endif

    enchanting_process = ONE

    do
        bag_inventory.clear
    
        GET_INVENTORY bag_inventory
        
        current_enchant_level = #i9999
        current_items_count = ZERO

        ITEM_COUNT crystals_count "<&id_of_crystals&>"
        ITEM_COUNT enchanted_scrolls_count "<&id_of_enchant&>"

        FOREACH item Inventory bag_inventory
            item_name = bag_inventory.item.name
                
            if item_name == selected_enchanted_item    
                current_items_count = current_items_count + ONE
                
                if bag_inventory.item.enchant < current_enchant_level
                    current_enchant_level = bag_inventory.item.enchant
                    current_enchanted_item = bag_inventory.item
                endif
            endif 
        NEXTEACH

        if current_items_count <= number_of_items_which_should_stay
            PRINT_TEXT " "
            PRINT_TEXT "The number of items which you have kept is: <&current_items_count&>"
            PRINT_TEXT " "

            enchanting_process = ZERO
        endif

        if enchanted_scrolls_count < ONE
            PRINT_TEXT " "
            PRINT_TEXT "Not enough scrolls to enchanting."
            PRINT_TEXT " "

            enchanting_process = ZERO
        endif

        if enchanting_process == ONE
            DEFINE BYTEBUFFER buffer_of_selected_enchant 256
            DEFINE BYTEBUFFER buffer_of_selected_item 256
            DEFINE BYTEBUFFER buffer_of_selecting_item 256
            
            buffer_of_selected_enchant.write_byte #i25
            buffer_of_selected_enchant.write_int32 item_of_scroll.id
            buffer_of_selected_enchant.write_int32 #i0
            buffer_of_selected_enchant.trim_to_index
            INJECTBB buffer_of_selected_enchant
            SLEEP "<&loop_delay&>"

            buffer_of_selecting_item.write_byte #I208
            buffer_of_selecting_item.write_byte #I76
            buffer_of_selecting_item.write_byte #I0
            buffer_of_selecting_item.write_int32 current_enchanted_item.id
            buffer_of_selecting_item.trim_to_index
            INJECTBB buffer_of_selecting_item
            SLEEP "<&loop_delay&>"

            GET_RAND random_loop_delay 200 400
            SLEEP "<&random_loop_delay&>"

            buffer_of_selected_item.write_byte #i95
            buffer_of_selected_item.write_int32 current_enchanted_item.id
            buffer_of_selected_item.write_int32 #i0
            buffer_of_selected_item.trim_to_index
            INJECTBB buffer_of_selected_item
            SLEEP "<&loop_delay&>"

            ITEM_COUNT crystals_count_after_enchanting "<&id_of_crystals&>"

            if crystals_count_after_enchanting > crystals_count
                PRINT_TEXT "<&selected_enchanted_item&> has been crystallized at +<&current_enchant_level&>"
            else                    
                PRINT_TEXT "<&selected_enchanted_item&> has been enchanted from +<&current_enchant_level&>"
            endif    
            
            DELETE buffer_of_selected_enchant
            DELETE buffer_of_selected_item
            DELETE buffer_of_selecting_item
        endif

    loop enchanting_process == ONE    

    PRINT_TEXT "List of enchanted items:"
    PRINT_TEXT "--------------------------------------------------------"

    GET_INVENTORY bag_inventory

    ITEM_COUNT crystals_count "<&id_of_crystals&>"
    ITEM_COUNT enchanted_scrolls_count "<&id_of_enchant&>"

    FOREACH item Inventory bag_inventory
        item_name = bag_inventory.item.name
                
        if item_name == selected_enchanted_item            
            PRINT_TEXT "<&bag_inventory.item.name&> +<&bag_inventory.item.enchant&>"
        endif 
    NEXTEACH

    PRINT_TEXT " "
    PRINT_TEXT "The end of Enchanting One by One v2 :) by easy2k4 "
    PRINT_TEXT "Gracia Final (CT2.3) trixy/phear3d"
    PRINT_TEXT " "

RETURN VOID

Link to comment
Share on other sites

thank easy2k4, it's a very nice enchant script too, I just made it come back to life :)

 

I ran it with about 10 demon daggers. Ran great. on IG and OOG l2.net bot.

Tested the stop with 1 item, 2, 3 items, etc....... all works great.

 

Even changed it so now it'll tell ya what you're enchanting, not "item is enchanting" ;)

 

Good luck!!

 

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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