Lineage 2 Tower Forum

Full Version: аугментация
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
нужен скрипт аугментации до нужного скилла для интерлюда
помогите
все еще нужна помощь
А поиск тебе зачем?
в поиске нет для интерлюда
а в чём особенность аргументации под интерлюд?

попробуй заценить этот:
    LUA Programming
local weaponName = "Mace of the Underworld"
local lifestoneName = "Top-Grade Life Stone: level 80"
local gemstoneName = "Gemstone D"
local gemstone_count = 20
local npcName = "Pushkin"
 
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(500)
 Click("05", "Augment Item.");
 Sleep(500)
 Click("00", "Start smelting.");
 Sleep(500)
 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();
 Sleep(500)
 Click("06", "Cancel item Augmentation.");
 Sleep(500)
 Click("00", "Remove the Stone of Life.");
 Sleep(500)
 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)
 --- HERE ---
 GetAugmentManager():setGemstoneId(gemstone.objectId, gemstone_count)
 GetAugmentManager():Augment()
 Sleep(1000) 
 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

Reference URL's