Jump to content

[Share] Auto-Enchant 100% working and more!


mpj123

Recommended Posts

This is the updated version of the enchant script, this script adds a few new features and a different way to send the packets, also updated for l2.net 358 and over.

 

www.ltwonet.com and read the login tutorials, note... this is for l2.net 358+

 

Credits to MeatWod for an important fix and Rocket666 for the actual script.

 

NOTE. put anything you dont want to enchant in your warehouse for safety. If you have a +21 icarus bow and 20 +0 bows, it will enchant each item by the set amount.

 

THIS IS NOT A SAFE ENCHANT SCRIPT!

 

//made by rocket666
//edited and tweaked by mpj123
//testing, bug solutions and just being cool, MeatWod
INCLUDE StdLib\inventory.l2c

//Settings
DEFINE STRING ITEMNAME "WEAPON or ARMOR HERE"            //Item name, don't write the SA
DEFINE STRING ITGRADE S                    //Item grade (s80=s)
DEFINE STRING ENCHNAME "Scroll: Enchant Weapon (S)"    //Enchant name
DEFINE STRING ENCHANT 12              //Enchant amount wanted to every weapon in inventory
DEFINE INT DELAY 1100                  //Delay of all actions in MS, this may help dodge anti enchanting bans if there are any. Put at least 600.


//Some definitions
DEFINE INT CURENCHANT 0                    
DEFINE INT SUCCESSENCHANTED 0 
DEFINE STRING CRYSTAL "Crystal: <&ITGRADE&> Grade"
DEFINE INT CRYID 0
DEFINE INT CRYCOUNT 0
DEFINE INT CRYCOUNT2 0
ITEM_GET_ID CRYID "<&CRYSTAL&>"
DEFINE STRING ITNAME 0
DEFINE INT ENCHID 0
DEFINE INT ENCHCOUNT 0
DEFINE INT ENCHUID 0
DEFINE STRING ENCHCODE 0
DEFINE STRING ITEM 0
DEFINE ARRAYLIST INVEN_AL 0
GET_INVENTORY INVEN_AL

//Calc enchant unique id
ITEM_GET_ID ENCHID "<&ENCHNAME&>"
INVEN_GET_UID ENCHUID "<&ENCHID&>"
ENCHCODE = ENCHUID.GET_HEX32
DEFINE STRING ENCH "19 <&ENCHCODE&> 00 00 00 00"

//Start actions
FOREACH I Inventory INVEN_AL
    ITNAME = INVEN_AL.I.NAME
    IF ITNAME == ITEMNAME
        CALLSUB ENCHANT
        PRINT_TEXT "<&ENCHCOUNT&> enchants remaining."
        CURENCHANT = ZERO
    ENDIF
NEXTEACH
PRINT_TEXT "<&SUCCESSENCHANTED&> are currently enchanted successfully to <&ENCHANT&>"
PRINT_TEXT "Done"
SCRIPT_END

SUB ENCHANT
DEFINE bytebuffer my_bb 256
my_bb.WRITE_BYTE #i95
my_bb.WRITE_INT32 INVEN_AL.I.ID
my_bb.WRITE_INT32 #i0


WHILE ZERO == ZERO
ITEM_COUNT CRYCOUNT "<&CRYID&>"
IF CURENCHANT < ENCHANT
    ITEM_COUNT ENCHCOUNT "<&ENCHID&>"
    IF ENCHCOUNT > ONE
        CURENCHANT = CURENCHANT + ONE
        PRINT_TEXT "Your weapon is enchanting to <&CURENCHANT&>"
        INJECT "<&ENCH&>"
        SLEEP "<&DELAY&>"
        my_bb.TRIM_TO_INDEX
        injectbb my_bb
        SLEEP 300
        ITEM_COUNT CRYCOUNT2 "<&CRYID&>"
        IF CRYCOUNT2 > CRYCOUNT
            DELETE my_bb
            RETURNSUB
        ELSE
           IF CURENCHANT == ENCHANT
           SUCCESSENCHANTED = SUCCESSENCHANTED + #i1
           ENDIF
        ENDIF
    ELSE
        PRINT_TEXT "Enchant is over."
        PRINT_TEXT "<&SUCCESSENCHANTED&> are currently enchanted successfully to <&ENCHANT&>"
        SCRIPT_END
    ENDIF
ELSE
    PRINT_TEXT "Successfully enchanted."
    DELETE my_bb
    RETURNSUB
ENDIF
WEND
RETURNSUB

Link to comment
Share on other sites

I don't get it :( whats wrong here?

//made by rocket666
//edited and tweaked by mpj123
//testing, bug solutions and just being cool, MeatWod
INCLUDE StdLib\inventory.l2c

//Settings
DEFINE STRING ITEMNAME "Angel Slayer"            //Item name, don't write the SA SA
DEFINE STRING ITGRADE S                    //Item grade (s80=s)
DEFINE STRING ENCHNAME "Scroll: Enchant Weapon (S)"    //Enchant name
DEFINE STRING ENCHANT 25              //Max enchant
DEFINE INT CURENCHANT 0                    //Current enchant, change line 38 too
DEFINE INT DELAY 1100                  //Delay of all actions in MS
DEFINE INT SUCCESSENCHANTED 0

//Some definitions
DEFINE STRING CRYSTAL "Crystal: <&ITGRADE&> Grade"
DEFINE INT CRYID 0
DEFINE INT CRYCOUNT 0
DEFINE INT CRYCOUNT2 0
ITEM_GET_ID CRYID "<&CRYSTAL&>"
DEFINE STRING ITNAME 0
DEFINE INT ENCHID 0
DEFINE INT ENCHCOUNT 0
DEFINE INT ENCHUID 0
DEFINE STRING ENCHCODE 0
DEFINE STRING ITEM 0
DEFINE ARRAYLIST INVEN_AL 0
GET_INVENTORY INVEN_AL

//Calc enchant unique id
ITEM_GET_ID ENCHID "<&ENCHNAME&>"
INVEN_GET_UID ENCHUID "<&ENCHID&>"
ENCHCODE = ENCHUID.GET_HEX32
DEFINE STRING ENCH "19 <&ENCHCODE&> 00 00 00 00"

//Start actions
FOREACH I Inventory INVEN_AL
    ITNAME = INVEN_AL.I.NAME
    IF ITNAME == ITEMNAME
        CALLSUB ENCHANT
        PRINT_TEXT "<&ENCHCOUNT&> enchants remaining."
        CURENCHANT = ZERO
    ENDIF
NEXTEACH
PRINT_TEXT "<&SUCCESSENCHANTED&> are currently enchanted successfully to <&ENCHANT&>"
PRINT_TEXT "Done"
SCRIPT_END

SUB ENCHANT
DEFINE bytebuffer my_bb 256
my_bb.WRITE_BYTE #i95
my_bb.WRITE_INT32 INVEN_AL.I.ID
my_bb.WRITE_INT32 #i0


WHILE ZERO == ZERO
ITEM_COUNT CRYCOUNT "<&CRYID&>"
IF CURENCHANT < ENCHANT
    ITEM_COUNT ENCHCOUNT "<&ENCHID&>"
    IF ENCHCOUNT > ZERO
        CURENCHANT = CURENCHANT + ONE
        PRINT_TEXT "Your weapon is enchanting to <&CURENCHANT&>"
        INJECT "<&ENCH&>"
        SLEEP "<&DELAY&>"
        my_bb.TRIM_TO_INDEX
        injectbb my_bb
        SLEEP 300
        ITEM_COUNT CRYCOUNT2 "<&CRYID&>"
        IF CRYCOUNT2 > CRYCOUNT
            DELETE my_bb
            RETURNSUB
        ELSE
           IF CURENCHANT == ENCHANT
           SUCCESSENCHANTED = SUCCESSENCHANTED + #i1
           ENDIF
        ENDIF
    ELSE
        PRINT_TEXT "Enchant is over."
        PRINT_TEXT "<&SUCCESSENCHANTED&> are currently enchanted successfully to <&ENCHANT&>"
        SCRIPT_END
    ENDIF
ELSE
    PRINT_TEXT "Successfully enchanted."
    DELETE my_bb
    RETURNSUB
ENDIF
WEND
RETURNSUB

I get a lot of error

 

08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36: INVALID VARIABLE TYPE
08:40:30 :[#############################
08:40:30 :[#############################
08:40:30 :[ERROR: SCRIPT ERROR: LINE 36 : FOREACH
08:40:30 :[#############################

Link to comment
Share on other sites

hmmm, well this bot was never really tested on chinese clients, but that could be arranged. If you would like to get in contact with slothmo about this, he could most likely make it happen. The l2.net already supports chinese characters.

Link to comment
Share on other sites

interlude is very much an outdated chronicle.... soon most servers will have moved on. This is why l2.net dosen't support anything below ct1... I doubt it can be done. Although... you could inject the packets manually. It just wont be completely automated and will require you to get the packet from each weapon.

Link to comment
Share on other sites

hmmm, well this bot was never really tested on chinese clients, but that could be arranged. If you would like to get in contact with slothmo about this, he could most likely make it happen. The l2.net already supports chinese characters.

 

Not sure how to do that since I don't know slothmo, perhaps you could pass the word ?  thanks alot. I also noticed the l2net ingame setting is a bit confusing, e.g. heal/buff delay = seconds, items delay =milli seconds.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



×
×
  • Create New...