mpj123 Posted January 10, 2009 Posted January 10, 2009 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
JesusHalp Posted January 10, 2009 Posted January 10, 2009 yap cool, but i think that they can caught you with that auto-enchant
mpj123 Posted January 11, 2009 Author Posted January 11, 2009 they cannot catch you unless a gm sees you with the weapon in hand being enchanted.
Fragas Posted January 11, 2009 Posted January 11, 2009 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 :[#############################
monkey333 Posted January 11, 2009 Posted January 11, 2009 Doesn't seem to work with non-english versions of L2 client. I'm using chinese L2 client and it can't detect the name of the item no matter what.
mpj123 Posted January 11, 2009 Author Posted January 11, 2009 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.
Fragas Posted January 11, 2009 Posted January 11, 2009 this will only work on ct1+ servers does its possible to configure it to work in Interlude? I play in Interlude only, so this thing can be awsome for me... :/
mpj123 Posted January 11, 2009 Author Posted January 11, 2009 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.
monkey333 Posted January 11, 2009 Posted January 11, 2009 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.
Recommended Posts