local weaponName = "Draconic Bow"
local lifestoneName = "Top-Grade Life Stone - Level 76"
local gemstoneName = "Gemstone C"
local gemstone_count = 25
local npcName = "Augmenter"
function getItemByName(name)
invList = GetInventory();
for item in invList.list do
if item.Name == name then
-- ShowToClient("ITEM", item.Name .. " (ID: " .. item.displayId .. ")");
return item
end
end
end
function openAugmentWindow(name)
target = GetTarget()
if ( target ~= nil ) then
if ( target:GetName() ~= name ) then
CancelTarget(true)
Sleep(500)
TargetNpc(name, 0)
Sleep(500)
end
else
TargetNpc(name, 0)
Sleep(500)
end
target = GetTarget()
if ( target ~= nil and target:GetName() == name ) then
Talk()
Sleep(750)
ClickLinkAndWait("L][revoltz_augmenter005.htm");
Sleep(750)
ClickLinkAndWait("augument_my_weapon.htm");
Sleep(750)
ClickAndWait("menu_select?ask=-503&reply=100", "Start augmenting.");
Sleep(750)
return true
end
return false
end
function getItemByName(name)
invList = GetInventory();
for item in invList.list do
if item.Name == name then
-- ShowToClient("ITEM", item.Name .. " (ID: " .. item.displayId .. ")");
return item
end
end
end
function openAugmentCancelWindow(name)
target = GetTarget()
if ( target ~= nil ) then
if ( target:GetName() ~= name ) then
CancelTarget(true)
Sleep(500)
TargetNpc(name, 0)
Sleep(500)
end
else
TargetNpc(name, 0)
Sleep(500)
end
target = GetTarget()
if ( target ~= nil and target:GetName() == name ) then
Talk();
ClickLinkAndWait("L][revoltz_augmenter005.htm");
Sleep(750)
ClickLinkAndWait("smelting_break.htm");
Sleep(750)
ClickAndWait("menu_select?ask=-503&reply=200", "Remove the refined Life Stone.");
Sleep(750)
return true
end
return false
end
weapon = getItemByName(weaponName)
if ( weapon == nil ) then
ShowToClient("AUGMENT", "Could not find weapon " .. weaponName)
else
weaponId = weapon.objectId
GetAugmentManager():setItemId(weaponId)
repeat
if ( weapon.RefineryOp2 == 0 ) then
lifestone = getItemByName(lifestoneName)
gemstone = getItemByName(gemstoneName)
if ( lifestone == nil or gemstone == nil ) then
ShowToClient("AUGMENT:", "Out of gemstones or life stones")
break
end
GetAugmentManager():setItemId(weaponId)
GetAugmentManager():setLifeStoneId(lifestone.objectId)
GetAugmentManager():setGemstoneId(gemstone.objectId, 25)
GetAugmentManager():Augment()
if ( openAugmentWindow(npcName) == false ) then
break
end
while ( GetAugmentManager():getAugmentResult() == Augment.AUGMENT_PENDING ) do
Sleep(200)
end
if ( GetAugmentManager():getAugmentResult() == Augment.AUGMENT_FINISHED ) then
Sleep ( 100 ) -- sleep so item data is updated
weapon = GetInventory():FindById(weaponId)
end
if ( GetAugmentManager():KeepAugment ( weapon.RefineryOp2 ) == true ) then
ShowToClient("AUGMENT:", "You have achieved desired augment! " .. weapon.RefineryOp2)
break
end
else
if ( GetAugmentManager():KeepAugment ( weapon.RefineryOp2 ) == true ) then
ShowToClient("AUGMENT:", "You have achieved desired augment! " .. weapon.RefineryOp2)
break
end
GetAugmentManager():setItemId(weaponId)
GetAugmentManager():AugmentCancel()
if ( openAugmentCancelWindow(npcName) == false ) then
break
end
while ( GetAugmentManager():getAugmentCancelResult() == Augment.AUGMENT_CANCEL_PENDING ) do
Sleep(200)
end
if ( GetAugmentManager():getAugmentCancelResult() == Augment.AUGMENT_FINISHED ) then
Sleep ( 100 ) -- sleep so item data is updated
end
weapon = GetInventory():FindById(weaponId)
end
until false
end
what is wrong with this script for interlude i play on the
http://l2-revoltz.tk/