L2Tower Discord Let's keep the community alive with discord. Discussions about plugins and scripts L2Tower Discord

Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
аугментация
Author Message
Jontel Offline
Goblin Grave Robber
*

Posts: 18
Joined: Sep 2013
Reputation: 0
Version: 1.4.1.112
Post: #1
аугментация

нужен скрипт аугментации до нужного скилла для интерлюда
11-14-2013 02:18 AM
Find all posts by this user Quote this message in a reply
Jontel Offline
Goblin Grave Robber
*

Posts: 18
Joined: Sep 2013
Reputation: 0
Version: 1.4.1.112
Post: #2
RE: аугментация

помогите
11-16-2013 20:33 PM
Find all posts by this user Quote this message in a reply
Jontel Offline
Goblin Grave Robber
*

Posts: 18
Joined: Sep 2013
Reputation: 0
Version: 1.4.1.112
Post: #3
RE: аугментация

все еще нужна помощь
11-21-2013 23:33 PM
Find all posts by this user Quote this message in a reply
JohnnyLucker Offline
Goblin Grave Robber
*

Posts: 18
Joined: Oct 2013
Reputation: 1
Version: 1.4.1.112
Post: #4
RE: аугментация

А поиск тебе зачем?
11-22-2013 03:06 AM
Find all posts by this user Quote this message in a reply
Jontel Offline
Goblin Grave Robber
*

Posts: 18
Joined: Sep 2013
Reputation: 0
Version: 1.4.1.112
Post: #5
RE: аугментация

в поиске нет для интерлюда
11-22-2013 17:18 PM
Find all posts by this user Quote this message in a reply
cvillian Offline
Goblin Grave Robber
*

Posts: 14
Joined: Dec 2012
Reputation: 3
Version: 1.4.2.136
Post: #6
RE: аугментация

а в чём особенность аргументации под интерлюд?

попробуй заценить этот:
    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



Attached File(s)
.lua  Augmentation.lua (Size: 3.61 KB / Downloads: 79)
(This post was last modified: 11-27-2013 21:21 PM by cvillian.)
11-27-2013 21:19 PM
Find all posts by this user Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)