Fixed high memory usage issue

This commit is contained in:
OTCv8
2020-01-14 01:09:33 +01:00
parent 26c347d2bc
commit 11ad766308
16 changed files with 111 additions and 37 deletions

View File

@@ -0,0 +1,8 @@
North = 0
East = 1
South = 2
West = 3
NorthEast = 4
SouthEast = 5
SouthWest = 6
NorthWest = 7

View File

@@ -10,8 +10,6 @@ context.addIcon = function(id, options, callback)
text: string
x: float (0.0 - 1.0)
y: float (0.0 - 1.0)
width: number
height: number
hotkey: string
switchable: true / false [default: true]
movable: true / false [default: true]
@@ -63,6 +61,9 @@ context.addIcon = function(id, options, callback)
widget.status:hide()
widget.status:setOn(true)
else
if config.enabled ~= true then
config.enabled = false
end
widget.status:setOn(config.enabled)
end

View File

@@ -95,6 +95,8 @@ context.macro = function(timeout, name, hotkey, callback, parent)
if context.storage._macros[name] == true then
macro.setOn()
end
else
macro.enabled = true -- unnamed macros are enabled by default
end
local desc = "lua"

View File

@@ -16,16 +16,17 @@ context.NPC.isTrading = function()
end
context.NPC.hasTrade = context.NPC.isTrading
context.NPC.hasTradeWindow = context.NPC.isTrading
context.NPC.isTradeOpen = context.NPC.isTrading
context.NPC.getSellItems = function()
if not context.NPC.isTrading() then return {} end
local items = {}
for i, item in ipairs(modules.game_npctrade.tradeItems[modules.game_npctrade.SELL]) do
table.insert(items, {
item = item.ptr,
id = item.ptr:getId(),
name = item.name,
count = item.ptr:getCount(),
name = item.name,
subType = item.ptr:getSubType(),
weight = item.weight / 100,
price = item.price
@@ -36,11 +37,13 @@ end
context.NPC.getBuyItems = function()
if not context.NPC.isTrading() then return {} end
local items = {}
for i, item in ipairs(modules.game_npctrade.tradeItems[modules.game_npctrade.BUY]) do
table.insert(items, {
item = item.ptr,
id = item.ptr:getId(),
name = item.name,
count = item.ptr:getCount(),
name = item.name,
subType = item.ptr:getSubType(),
weight = item.weight / 100,
price = item.price
@@ -67,7 +70,15 @@ end
context.NPC.sell = function(item, count, ignoreEquipped)
if type(item) == 'number' then
for i, entry in ipairs(context.NPC.getSellItems()) do
if entry.id == item then
item = entry.item
break
end
end
if type(item) == 'number' then
item = Item.create(item)
end
end
if count == 0 then
count = 1
@@ -83,7 +94,15 @@ end
context.NPC.buy = function(item, count, ignoreCapacity, withBackpack)
if type(item) == 'number' then
for i, entry in ipairs(context.NPC.getBuyItems()) do
if entry.id == item then
item = entry.item
break
end
end
if type(item) == 'number' then
item = Item.create(item)
end
end
if count == nil or count <= 0 then
count = 1

View File

@@ -10,9 +10,24 @@ context.setupUI = function(otml, parent)
end
context.addTab = function(name)
local tab = context.tabs:getTab(name)
if tab then -- return existing tab
return tab.tabPanel.content
end
context.tabs:setOn(true)
return context.tabs:addTab(name, g_ui.createWidget('BotPanel')).tabPanel.content
local newTab = context.tabs:addTab(name, g_ui.createWidget('BotPanel')).tabPanel.content
print(#(context.tabs.tabs))
if #(context.tabs.tabs) > 5 then
for k,tab in pairs(context.tabs.tabs) do
tab:setPadding(3)
tab:setFont('cipsoftFont')
end
end
return newTab
end
context.getTab = context.addTab
context.addSwitch = function(id, text, onClickCallback, parent)
if not parent then