Lineage 2 Tower Forum

Full Version: Auto item enchant problem [Video]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hey, i'm having problem with auto item enchant script. I'm currently playing in http://l2accident.eu/ It's c6 pvp custom server (java). Problem: Then I start script and it enchants once or twice and stops, I must turn it off and turn it on again to enchant from+2 to+3 and so on! wppw offered auto enchant, but problem stays...
Also made video if you don't understand my poor English Smile Exclamation
Youtube HD Video Smile



    LUA Programming
-- SCRIPT CONFIGURATION!
 
item_name = "Sword of Miracles"
--item_name = "Sword of Miracle"
enchant_name = "Scroll: Enchant Weapon (Grade A)"
--enchant_name = "Scroll: Enchant Weapon (Grade A)"
blessed_enchant_name = "Scroll: Enchant Weapon (Grade A)"
max_enchant = 15
max_safe_enchant = 3
delay = 100
 
-- END OF SCRIPT CONFIGURATION
 
-- HELPER FUNCTIONS
function enchantResult()
  return GetEnchantManager():getLastResult()
end
 
function getItemByName(name, maxenchant)
	invList = GetInventory();
	for item in invList.list do
		if item.Name == name and item.Enchanted < maxenchant then
			return item
		end
	end
end
 
stats = {}
 
function registerSuccess(base)
	if stats[base] == nil then
		stats[base] = { success = 0, failure = 0 }
	end
	stats[base].success = stats[base].success + 1
end
 
function registerFailure(base)
	if stats[base] == nil then
		stats[base] = { success = 0, failure = 0 }
	end
	stats[base].failure = stats[base].failure + 1
end
 
function printStatistics()
	for i,v in ipairs(stats) do
		ShowToClient("Enchant", "[" .. 	i - 1 .. "->" .. i .. "] Rate: success: " .. v.success .. " / fail: " .. v.failure .." (" .. ( v.success  * 100 )/ ( v.success + v.failure ) .. "%)")
	end
end
 
-- MAIN LOOP!
 
while true do
	-- find item for enchanting
	item = getItemByName(item_name, max_enchant)
	if ( item == nil ) then
		ShowToClient("Enchant", "Out of items" )
		break
	end
	-- find proper enchant scroll
	enchant = nil
	if ( item.Enchanted >= max_safe_enchant ) then
		enchant = getItemByName(blessed_enchant_name, 20)
	else
		enchant = getItemByName(enchant_name, 20)
	end
 
	if ( enchant == nil ) then
		ShowToClient("Enchant", "Out of enchants")
		break
	end
 
 	GetEnchantManager():setDelay(delay)
	GetEnchantManager():setEnchantId(enchant.objectId)
	GetEnchantManager():setItemId(item.objectId)
	GetEnchantManager():Enchant()
 
	while ( enchantResult() == Enchant.ENCHANT_PENDING ) do
		Sleep(200)
	end
 
	if ( enchantResult() == Enchant.ENCHANT_SUCCESS ) then	
		Sleep ( 500 ) -- sleep so item data is updated
		item = GetInventory():FindById(item.objectId)
		ShowToClient("Enchant",  item.Name .. " is now +" .. item.Enchanted);
		registerSuccess ( item.Enchanted )
	elseif ( enchantResult() == Enchant.ENCHANT_FAILURE ) then
		ShowToClient("Enchant",  item.Name .. " failed on " .. item.Enchanted .. " -> " .. item.Enchanted+1)
		Sleep ( 500 ) -- sleep so item data is updated
		registerFailure ( item.Enchanted + 1)
	end
	printStatistics()
end
ShowToClient("Enchant", "Enchant script finished")
printStatistics()



Help ME!
(06-13-2012 12:21 PM)AdioZ Wrote: [ -> ]Hey, i'm having problem with auto item enchant script. I'm currently playing in http://l2accident.eu/ It's c6 pvp custom server (java). Problem: Then I start script and it enchants once or twice and stops, I must turn it off and turn it on again to enchant from+2 to+3 and so on! wppw offered auto enchant, but problem stays...
Also made video if you don't understand my poor English Smile Exclamation
Youtube HD Video Smile



PHP Code:
-- SCRIPT CONFIGURATION!
 
item_name "Sword of Miracles"
--item_name "Sword of Miracle"
enchant_name "Scroll: Enchant Weapon (Grade A)"
--enchant_name "Scroll: Enchant Weapon (Grade A)"
blessed_enchant_name "Scroll: Enchant Weapon (Grade A)"
max_enchant 15
max_safe_enchant 
3
delay 
100
 
-- END OF SCRIPT CONFIGURATION
 
-- HELPER FUNCTIONS
function enchantResult()
  return 
GetEnchantManager():getLastResult()
end
 
function getItemByName(namemaxenchant)
    
invList GetInventory();
    for 
item in invList.list do
        if 
item.Name == name and item.Enchanted maxenchant then
            
return item
        end
    end
end
 
stats 
= {}
 
function 
registerSuccess(base)
    if 
stats[base] == nil then
        stats
[base] = { success 0failure }
    
end
    stats
[base].success stats[base].success 1
end
 
function registerFailure(base)
    if 
stats[base] == nil then
        stats
[base] = { success 0failure }
    
end
    stats
[base].failure stats[base].failure 1
end
 
function printStatistics()
    for 
i,v in ipairs(stats) do
        
ShowToClient("Enchant""[" ..     .. "->" .. .. "] Rate: success: " .. v.success .. " / fail: " .. v.failure .." (" .. ( v.success  100 )/ ( v.success v.failure ) .. "%)")
    
end
end
 
-- MAIN LOOP!
 
while 
true do
    -- 
find item for enchanting
    item 
getItemByName(item_namemax_enchant)
    if ( 
item == nil then
        ShowToClient
("Enchant""Out of items" )
        break
    
end
    
-- find proper enchant scroll
    enchant 
nil
    
if ( item.Enchanted >= max_safe_enchant then
        enchant 
getItemByName(blessed_enchant_name20)
    else
        
enchant getItemByName(enchant_name20)
    
end
 
    
if ( enchant == nil then
        ShowToClient
("Enchant""Out of enchants")
        break
    
end
 
     GetEnchantManager
():setDelay(delay)
    
GetEnchantManager():setEnchantId(enchant.objectId)
    
GetEnchantManager():setItemId(item.objectId)
    
GetEnchantManager():Enchant()
 
    while ( 
enchantResult() == Enchant.ENCHANT_PENDING ) do
        
Sleep(200)
    
end
 
    
if ( enchantResult() == Enchant.ENCHANT_SUCCESS then    
        Sleep 
500 ) -- sleep so item data is updated
        item 
GetInventory():FindById(item.objectId)
        
ShowToClient("Enchant",  item.Name .. " is now +" .. item.Enchanted);
        
registerSuccess item.Enchanted )
    elseif ( 
enchantResult() == Enchant.ENCHANT_FAILURE then
        ShowToClient
("Enchant",  item.Name .. " failed on " .. item.Enchanted .. " -> " .. item.Enchanted+1)
        
Sleep 500 ) -- sleep so item data is updated
        registerFailure 
item.Enchanted 1)
    
end
    printStatistics
()
end
ShowToClient
("Enchant""Enchant script finished")
printStatistics() 

Help ME!

You are sure the enchant scroll is not called

Scroll: Enchant Weapon (A-grade) ?
(06-19-2012 22:28 PM)krazybosnian Wrote: [ -> ]
(06-13-2012 12:21 PM)AdioZ Wrote: [ -> ]Hey, i'm having problem with auto item enchant script. I'm currently playing in http://l2accident.eu/ It's c6 pvp custom server (java). Problem: Then I start script and it enchants once or twice and stops, I must turn it off and turn it on again to enchant from+2 to+3 and so on! wppw offered auto enchant, but problem stays...
Also made video if you don't understand my poor English Smile Exclamation
Youtube HD Video Smile



PHP Code:
-- SCRIPT CONFIGURATION!
 
item_name "Sword of Miracles"
--item_name "Sword of Miracle"
enchant_name "Scroll: Enchant Weapon (Grade A)"
--enchant_name "Scroll: Enchant Weapon (Grade A)"
blessed_enchant_name "Scroll: Enchant Weapon (Grade A)"
max_enchant 15
max_safe_enchant 
3
delay 
100
 
-- END OF SCRIPT CONFIGURATION
 
-- HELPER FUNCTIONS
function enchantResult()
  return 
GetEnchantManager():getLastResult()
end
 
function getItemByName(namemaxenchant)
    
invList GetInventory();
    for 
item in invList.list do
        if 
item.Name == name and item.Enchanted maxenchant then
            
return item
        end
    end
end
 
stats 
= {}
 
function 
registerSuccess(base)
    if 
stats[base] == nil then
        stats
[base] = { success 0failure }
    
end
    stats
[base].success stats[base].success 1
end
 
function registerFailure(base)
    if 
stats[base] == nil then
        stats
[base] = { success 0failure }
    
end
    stats
[base].failure stats[base].failure 1
end
 
function printStatistics()
    for 
i,v in ipairs(stats) do
        
ShowToClient("Enchant""[" ..     .. "->" .. .. "] Rate: success: " .. v.success .. " / fail: " .. v.failure .." (" .. ( v.success  100 )/ ( v.success v.failure ) .. "%)")
    
end
end
 
-- MAIN LOOP!
 
while 
true do
    -- 
find item for enchanting
    item 
getItemByName(item_namemax_enchant)
    if ( 
item == nil then
        ShowToClient
("Enchant""Out of items" )
        break
    
end
    
-- find proper enchant scroll
    enchant 
nil
    
if ( item.Enchanted >= max_safe_enchant then
        enchant 
getItemByName(blessed_enchant_name20)
    else
        
enchant getItemByName(enchant_name20)
    
end
 
    
if ( enchant == nil then
        ShowToClient
("Enchant""Out of enchants")
        break
    
end
 
     GetEnchantManager
():setDelay(delay)
    
GetEnchantManager():setEnchantId(enchant.objectId)
    
GetEnchantManager():setItemId(item.objectId)
    
GetEnchantManager():Enchant()
 
    while ( 
enchantResult() == Enchant.ENCHANT_PENDING ) do
        
Sleep(200)
    
end
 
    
if ( enchantResult() == Enchant.ENCHANT_SUCCESS then    
        Sleep 
500 ) -- sleep so item data is updated
        item 
GetInventory():FindById(item.objectId)
        
ShowToClient("Enchant",  item.Name .. " is now +" .. item.Enchanted);
        
registerSuccess item.Enchanted )
    elseif ( 
enchantResult() == Enchant.ENCHANT_FAILURE then
        ShowToClient
("Enchant",  item.Name .. " failed on " .. item.Enchanted .. " -> " .. item.Enchanted+1)
        
Sleep 500 ) -- sleep so item data is updated
        registerFailure 
item.Enchanted 1)
    
end
    printStatistics
()
end
ShowToClient
("Enchant""Enchant script finished")
printStatistics() 

Help ME!

You are sure the enchant scroll is not called

Scroll: Enchant Weapon (A-grade) ?

Its interlude man...Look at video im enchanting, but after 2+ it stops, then i must start the script again...
Do you found a problem?

I got a problem on c6 when blessing with Blessed scroolls, and item burns not to +0, but to +4, then script stops..
same problem any help? enchant auto to +1 +2 and stop, if restart script only enchant one time.
Reference URL's