Untitled
Guest 287 24th Sep, 2022
local manaPercent = 100 macro(7000, "utama", function() if (manapercent() <= manaPercent) then say 'utamo vita' end end)
local healingSpell = '!mr' local manaPercent = 100 macro(100, "!mr", function() if (manapercent() <= manaPercent) then say(healingSpell) end end)
--Description: A macro to follow players through stairs, doors, ladders, sewer gates and some other things.
--A message error appears on the log, but other than that everything seems to run well... save for the eventual hiccups.
--ATTENTION: It might not work if multiple "use objects" that lead to different paths are near eachother.
Follow = macro(1000,"Follow",function()
nome = storage.followLeader
end)
UI.Label("Follow Player:")
addTextEdit("playerToFollow", storage.followLeader or "Drozdo", function(widget, text)
storage.followLeader = text
target = tostring(text)
end)
nome = storage.followLeader
pos_p = player:getPosition()
p = getCreatureByName(nome)
onCreaturePositionChange(function(creature, newPos, oldPos)
if Follow.isOn() then
if creature:getName()==player:getName() and getCreatureByName(nome) == nil and newPos.z>oldPos.z then
say('exani tera')
for i = -1,1 do
for j = -1,1 do
local useTile = g_map.getTile({x=posx()+i,y=posy()+j,z=posz()})
g_game.use(useTile:getTopUseThing())
end
end
end
if creature:getName()==nome then
if newPos==nil then
lastPos = oldPos
schedule(200,function()
autoWalk(oldPos)
end)
schedule(1000,function()
for i = -1,1 do
for j = -1,1 do
local useTile = g_map.getTile({x=posx()+i,y=posy()+j,z=posz()})
g_game.use(useTile:getTopUseThing())
end
end
end)
end
if oldPos.z == newPos.z then
schedule(300,function()
local useTile = g_map.getTile({x=oldPos.x,y=oldPos.y,z=oldPos.z})
topThing = useTile:getTopThing()
if not useTile:isWalkable() then
use(topThing)
end
end)
autoWalk({x=oldPos.x,y=oldPos.y,z=oldPos.z})
else
lastPos = oldPos
autoWalk(oldPos)
for i = 1,6 do
schedule(i*200,function()
autoWalk(oldPos)
if getDistanceBetween(pos(), oldPos) == 0 and (posz()>newPos.z and getCreatureByName(nome) == nil) then
say('exani tera')
end
end)
end
local useTile = g_map.getTile({x=newPos.x,y=newPos.y-1,z=oldPos.z})
g_game.use(useTile:getTopUseThing())
end
end
end
end)
local hpPercent = 99
macro(50, "faster healing", function()
if (hppercent() <= hpPercent) then
say(storage.HealText)
end
end)
addTextEdit("HealText", storage.HealText or "!uh", function(widget, text)
storage.HealText = text
end)local attacker
local targetTime
local attackPK = macro(100, "Attack PK", nil, function()
if attacker then
if attacker:getPosition() and attacker:getPosition().z == posz() then
if g_game.isAttacking() then
if g_game.getAttackingCreature():getName() ~= attacker:getName() then
g_game.attack(attacker)
end
else
g_game.attack(attacker)
end
end
else
if not g_game.isAttacking() then
TargetBot.setOn()
CaveBot.setOn()
end
end
if targetTime then
if now - targetTime > 2500 then
attacker = nil
end
end
end)
onMissle(function(missle)
if attackPK.isOn() then
local src = missle:getSource()
if src.z ~= posz() then
return
end
local shooterTile = g_map.getTile(src)
if shooterTile then
local creatures = shooterTile:getCreatures()
if creatures[1] then
if creatures[1]:isPlayer() then
local destination = missle:getDestination()
if posx() == destination.x and posy() == destination.y then
if player:getName() ~= creatures[1]:getName() then
if creatures[1]:getSkull() ~= 0 and attacker ~= creatures[1] then
attacker = creatures[1]
targetTime = now
TargetBot.setOff()
CaveBot.setOff()
end
end
end
end
end
end
end
end)
local percent = 10 local idRing = 3007 local m = macro(1, "Auto Ring", function() end) onCreatureHealthPercentChange(function(creature, healthPercent) if m:isOff() then return end if healthPercent > percent and getFinger() then g_game.move(getFinger(), {x = 65535,y = SlotBack, z = 0}); elseif healthPercent < percent then g_game.move(findItem(idRing), {x = 65535,y = SlotFinger,z = 0}); end end)
To share this paste please copy this url and send to your friends
RAW Paste Data