2021-01-18 00:46:05 +01:00

76 lines
2.1 KiB
Lua

setDefaultTab("Tools")
UI.Label("-- [[ ANTI PUSH Panel ]] --")
addSeparator()
local panelName = "castle"
local ui = setupUI([[
Panel
height: 40
BotItem
id: item
anchors.top: parent.top
anchors.left: parent.left
margin-top: 2
BotSwitch
id: skip
anchors.top: parent.top
anchors.left: item.right
anchors.right: parent.right
anchors.bottom: item.verticalCenter
text-align: center
!text: tr('Skip Tiles Near Target')
margin-left: 2
BotSwitch
id: title
anchors.top: item.verticalCenter
anchors.left: item.right
anchors.right: parent.right
anchors.bottom: item.bottom
text-align: center
!text: tr('Drop Items Around')
margin-left: 2
]], parent)
ui:setId(panelName)
if not storage[panelName] then
storage[panelName] = {
id = 2983,
around = false,
enabled = false
}
end
ui.skip:setOn(storage[panelName].around)
ui.skip.onClick = function(widget)
storage[panelName].around = not storage[panelName].around
widget:setOn(storage[panelName].around)
end
ui.title:setOn(storage[panelName].enabled)
ui.title.onClick = function(widget)
storage[panelName].enabled = not storage[panelName].enabled
widget:setOn(storage[panelName].enabled)
end
ui.item:setItemId(storage[panelName].id)
ui.item.onItemChange = function(widget)
storage[panelName].id = widget:getItemId()
end
macro(175, function()
if storage[panelName].enabled then
local blockItem = findItem(storage[panelName].id)
for _, tile in pairs(g_map.getTiles(posz())) do
if distanceFromPlayer(tile:getPosition()) == 1 and tile:isWalkable() and tile:getTopUseThing():getId() ~= storage[panelName].id and (not storage[panelName].around or not target() or (target() and getDistanceBetween(targetPos(), tile:getPosition() > 1))) then
g_game.move(blockItem, tile:getPosition())
return
end
end
storage[panelName].enabled = false
ui.title:setOn(storage[panelName].enabled)
end
end)
addSeparator()