01-20-2013, 19:17 PM
01-20-2013, 20:27 PM
yes you can there are more than 2 already made script's on forum. and you have 1 already in you script folder when you upgrade game.
01-20-2013, 23:03 PM
(01-20-2013 19:17 PM)jnorman Wrote: [ -> ]hi, was wondering if you can enchant with l2tower but not use blessed scrolls just normal ones?ok ty but now i try and it says i dont have scrolls but i do have them?
01-20-2013, 23:16 PM
Maybe modded enchants, if private server..
01-20-2013, 23:17 PM
(01-20-2013 23:03 PM)jnorman Wrote: [ -> ]modded? and yes it's blackbird server so will the enchant thing work?(01-20-2013 19:17 PM)jnorman Wrote: [ -> ]hi, was wondering if you can enchant with l2tower but not use blessed scrolls just normal ones?ok ty but now i try and it says i dont have scrolls but i do have them?
01-20-2013, 23:55 PM
well man you have to open this script, put name of enchants, put name of weapon/armor and all in all set it under your needs.
01-21-2013, 00:04 AM
(01-20-2013 23:55 PM)Hebdzik Wrote: [ -> ]well man you have to open this script, put name of enchants, put name of weapon/armor and all in all set it under your needs.-- SCRIPT CONFIGURATION!
item_name = "Skull Edge"
enchant_name = "Scroll: Enchant Weapon (S-Grade)"
blessed_enchant_name = "Blessed Scroll: Enchant Weapon (S-Grade)"
max_enchant = 16
max_safe_enchant = 3
delay = 4000
-- 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()