Lineage 2 Tower Forum

Full Version: The script to enchant and + 2 stops working what is wrong?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The script to enchant and +2 stops working what is wrong?
Code:
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
            -- ShowToClient("ITEM", item.Name .. " (ID: " .. item.displayId  .. ")");
            return item
        end
    end
end

maxenchant = 10
GetEnchantManager():setDelay(2100)

while true do
    -- weapon = getItemByName("Icarus Spirit", maxenchant)
    -- enchant = getItemByName("Scroll: Enchant Weapon (S)", maxenchant)
    weapon = getItemByName("Angel Slayer", maxenchant)
    enchant = getItemByName("Scroll: Enchant Weapon (Grade S)", maxenchant)
    enchantB = getItemByName("Scroll: Enchant Weapon (Grade S)", maxenchant)    
    if ( weapon == nil or enchant == nil ) then
        ShowToClient("Enchant:", "Out of weapons of enchants")
        break
    end

    if ( weapon.Enchanted > maxenchant ) then
        ShowToClient("Enchant:", "Reached desired enchant")
        break
    end
    if ( weapon.Enchanted < 3 ) then
    GetEnchantManager():setEnchantId(enchant.objectId)
    end;
    if ( weapon.Enchanted >= 3 ) then
    GetEnchantManager():setEnchantId(enchantB.objectId)
    end;
    GetEnchantManager():setItemId(weapon.objectId)
    GetEnchantManager():Enchant()
    -- ShowToClient(">>>>",  "Waiting for result...");
    while ( enchantResult() == Enchant.ENCHANT_PENDING ) do
        Sleep(200)
    end
    if ( enchantResult() == Enchant.ENCHANT_SUCCESS ) then    
        Sleep ( 100 ) -- sleep so item data is updated
        weapon = GetInventory():FindById(weapon.objectId)
        ShowToClient("Enchant",  weapon.Name .. " is now +" .. weapon.Enchanted);
    elseif ( enchantResult() == Enchant.ENCHANT_FAILURE ) then
        ShowToClient("Enchant",  weapon.Name .. " failed on " .. weapon.Enchanted .. " -> " .. weapon.Enchanted+1)
    end
    -- ShowToClient(">>>>",  "Last result" .. tostring(enchantResult()));
end
Interlude?
Reference URL's