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

Post Reply 
 
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
НЕ хочет точить!
Author Message
dementr33 Offline
Elpy
*

Posts: 1
Joined: Apr 2014
Reputation: 0
Version: 1.4.3.143
Post: #1
Wink НЕ хочет точить!

ПОМОГИТЕ! не хочет точить при запуске пише Hi... lest start enchanting
Out of enchants или просто финишь! Это на интерлюде! если есть у кого рабочий скинте в тему!
    LUA Programming
-- SCRIPT CONFIGURATION!
 
item_name = "Arcana Mace Acumen"
enchant_name = "Blessed Scroll: Enchant Weapon (S-Grade)"
blessed_enchant_name = "Blessed Scroll: Enchant Weapon (S-Grade)"
max_enchant = 16
max_safe_enchant = 16
delay = 300
 
-- 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()

(This post was last modified: 03-16-2016 23:41 PM by TheQQmaster.)
03-16-2016 21:01 PM
Find all posts by this user Quote this message in a reply
Post Reply 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Не хочет нормально работать kronl2 10 14,507 07-20-2013 15:30 PM
Last Post: geas92



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