function moveItem(item, destination)
return g_game.move(item, destination:getSlotPosition(destination:getItemsCount()), item:getCount())
end
local MainBpName = "konoha-gakure backpack"
local ItemsToMove = {3031, 3035,684,3056,3419,693,14472,683,3358,3570,3281,3325,3569,682,3307,670,3312,7463}
local function searchAndMoveItems()
local mainBp = nil
for _, container in pairs(getContainers()) do
if container:getName() == MainBpName and container:getItemsCount() < container:getCapacity() then
mainBp = container
break
end
end
if mainBp then
for _, container in pairs(getContainers()) do
if container:getName() ~= MainBpName then
for _, item in pairs(container:getItems()) do
if table.find(ItemsToMove, item:getId()) then
moveItem(item, mainBp)
return true
end
end
end
end
end
return false
end
macro(200, "Move Items", searchAndMoveItems)
macro(500, "alarmik", function()
local specAmount = 0
for i,spec in ipairs(getSpectators()) do
if (spec:isPlayer()) then
specAmount = specAmount + 1
end
end
if (specAmount > 1) then
playAlarm()
end
end)
macro(200, "jebanie spella essa", function()
if g_game.isAttacking() then
say("Ao sogeki hoshi")
end
end)
local oldTarget
macro(200, "hold target", function()
if g_game.isAttacking() then
oldTarget = g_game.getAttackingCreature()
end
if (oldTarget and not g_game.isAttacking() and getDistanceBetween(pos(), oldTarget:getPosition()) <= 8) then
g_game.attack(oldTarget)
end
end)
-- Add a storage for the player to follow
storage.toFollow = storage.toFollow or "Player2"
-- Create a text box for entering the player to follow name
addTextEdit("toFollow", storage.toFollow, function(widget, text)
storage.toFollow = text
end)
local toFollowPos = {}
local followMacro = macro(20, "follow target", function()
local target = getCreatureByName(storage.toFollow)
if target then
local tpos = target:getPosition()
toFollowPos[tpos.z] = tpos
end
if player:isWalking() then return end
local p = toFollowPos[posz()]
if not p then return end
if autoWalk(p, 20, {ignoreNonPathable=true, precision=1}) then
delay(100)
end
end)
onCreaturePositionChange(function(creature, oldPos, newPos)
if creature:getName() == storage.toFollow then
toFollowPos[newPos.z] = newPos
end
end)
burgerId = 14492 --- Burger Id Health ----
healthId = 11717 --- Senzu Id Health ----
manaId = 11708 --- Senzu Id mana ----
burgerPercent = 55 --- Burger % ----
healthPercent = 70 --- HealthPill % ----
manaPercent = 70 --- ManaPill % ----
healPercent = 90 --- HealSpell % ----
macro(200, "burger & pills", function()
if (hppercent() <= burgerPercent) then
g_game.useInventoryItem(burgerId)
end
if (hppercent() <= healthPercent) then
g_game.useInventoryItem(healthId)
end
if (manapercent() <= manaPercent) then
g_game.useInventoryItem(manaId)
end
if (hppercent() <= healPercent) then
say(storage.SpellHeal)
end
end)
-- Add a text edit for heal
addTextEdit("SpellHeal", storage.SpellHeal or "Mutto Chiyo", function(widget, text)
storage.SpellHeal = text
end)
followName = "autofollow2"
if not storage[followName] then storage[followName] = { player = 'name', keepDistanceRange = 1} end
local toFollowPos = {}
UI.Separator()
UI.Label("Auto Follow")
followTE = UI.TextEdit(storage[followName].player or "name", function(widget, newText)
storage[followName].player = newText
end)
UI.Label("Keep Distance")
distanceTE = UI.TextEdit(storage[followName].keepDistanceRange or 1, function(widget, newText2)
storage[followName].keepDistanceRange = tonumber(newText2)
end)
local followChange = macro(200, "Follow Change", function() end)
local followMacro = macro(20, "Follow", function()
local target = getCreatureByName(storage[followName].player)
if target then
local tpos = target:getPosition()
toFollowPos[tpos.z] = tpos
end
if player:isWalking() then
return
end
local p = toFollowPos[posz()]
if not p then
return
end
if autoWalk(p, 20, { ignoreNonPathable = true, precision = 1, marginMin=storage[followName].keepDistanceRange, marginMax=storage[followName].keepDistanceRange + 1 }) then
delay(100)
end
end)
UI.Separator()
onPlayerPositionChange(function(newPos, oldPos)
if followChange:isOff() then return end
if (g_game.isFollowing()) then
tfollow = g_game.getFollowingCreature()
if tfollow then
if tfollow:getName() ~= storage[followName].player then
followTE:setText(tfollow:getName())
storage[followName].player = tfollow:getName()
end
end
end
end)
onCreaturePositionChange(function(creature, newPos, oldPos)
if creature:getName() == storage[followName].player and newPos then
toFollowPos[newPos.z] = newPos
end
end)
Paste Hosted With By Wklejamy.pl