Evolunia
evolunia.net
- Joined
- Nov 6, 2017
- Messages
- 211
- Solutions
- 3
- Reaction score
- 190
hello, since there's quite many people making use of otclientv8, i thought it would be nice to have a place where people can share macros and what not, since right now they're only posted in discord which isn't a good place to find scripts
collection of scripts i found, some are made by me, some are made by thaenz (i don't know if he has a otland acct), some are made by others:
Automatically equip energy shield when you're below a certiain amount of health percent:
Automatically walk to an item on your screen (used on my ots to walk into flames which spawns monsters, but can be useful for other ots too)
Automatically follow a player with X name:
Hold target:
Mana restore (can be good if you wanna edit it more, or just spam it faster):
Health restore:
Healing with spells:
Automatically use an item on your screen (used on my ots for opening boxes that spawn randomly)
Cast aoe spell when more than X monsters on the screen, else use single target spell: (there's also a version where it doesn't cast aoe spells if there are players on screen if somebody needs)
Rainbow outfit (should probably be improved by taking your current outfit type, but this also works if you know the outfit looktype)
Automatically cast utamo vita when below X health, and deactivate again when you're below X mana (useful for paladin on ots with custom mana shield)
Automatically convert gold coins:
Automatically cast exura sio on a friend:
And post requests of things you want here, and somebody can probably create it, u should also join otcv8 discord where people are talking about the bot and macros: Join the OTClientV8 Discord Server! (https://discord.gg/feySup6)
collection of scripts i found, some are made by me, some are made by thaenz (i don't know if he has a otland acct), some are made by others:
Automatically equip energy shield when you're below a certiain amount of health percent:
LUA:
--[[
1. Start the script with your normal ring on
2. make sure the backpack with e-rings
are always open
]]
local energy_ring = 3051; -- Your energy ring
local energy_ring_equiped = 3088; -- Ring changes id when equiped
local original_ring = getFinger(); -- Your original ring
local healthp_for_energy = 50;
local healthp_for_original = 80;
local manap_for_original = 25;
macro(1000, "e-ring", function()
if (manapercent() <= manap_for_original and getFinger():getId() ~= original_ring:getId()) then
g_game.equipItem(original_ring);
elseif (hppercent() <= healthp_for_energy and manapercent() >= manap_for_original and getFinger():getId() ~= energy_ring) then
local ring = findItem(energy_ring);
if (ring) then
g_game.equipItem(ring);
end
elseif (hppercent() >= healthp_for_original and getFinger():getId() ~= original_ring:getId()) then
g_game.equipItem(original_ring);
end
end)
Automatically walk to an item on your screen (used on my ots to walk into flames which spawns monsters, but can be useful for other ots too)
LUA:
macro(1000, "open monster flames", function()
for i, tile in ipairs(g_map.getTiles(posz())) do
for u,item in ipairs(tile:getItems()) do
if (item:getId() == 25058) then
autoWalk(tile:getPosition(), 100, {ignoreNonPathable = true})
end
end
end
end)
Automatically follow a player with X name:
LUA:
local playerToFollow = 'Lunia'
macro(1000, "auto follow", function()
if g_game.isFollowing() then
return
end
for _, followcreature in ipairs(g_map.getSpectators(pos(), false)) do
if (followcreature:getName() == playerToFollow and getDistanceBetween(pos(), followcreature:getPosition()) <= 8) then
g_game.follow(followcreature)
end
end
end)
Hold target:
LUA:
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)
Mana restore (can be good if you wanna edit it more, or just spam it faster):
LUA:
local manaId = 268
local manaPercent = 80
macro(200, "faster mana potting", function()
if (manapercent() <= manaPercent) then
usewith(manaId, player)
end
end)
Health restore:
LUA:
local healthId = 268
local healthPercent = 80
macro(200, "faster health potting", function()
if (hppercent() <= healthPercent) then
usewith(healthId, player)
end
end)
Healing with spells:
LUA:
local healingSpell = 'Exura gran san'
local hpPercent = 99
macro(50, "faster healing", function()
if (hppercent() <= hpPercent) then
say(healingSpell)
end
end)
Automatically use an item on your screen (used on my ots for opening boxes that spawn randomly)
LUA:
macro(2500, "open monster boxes", function()
for i, tile in ipairs(g_map.getTiles(posz())) do
for u,item in ipairs(tile:getItems()) do
if (item and item:getId() == 9586) then
g_game.use(item)
return
end
end
end
end)
Cast aoe spell when more than X monsters on the screen, else use single target spell: (there's also a version where it doesn't cast aoe spells if there are players on screen if somebody needs)
LUA:
local singleTargetSpell = 'exori gran star'
local multiTargetSpell = 'exevo mas row'
local distance = 3
local amountOfMonsters = 4
macro(250, "multi target spell", function()
local specAmount = 0
if not g_game.isAttacking() then
return
end
for i,mob in ipairs(getSpectators()) do
if (getDistanceBetween(player:getPosition(), mob:getPosition()) <= distance and mob:isMonster()) then
specAmount = specAmount + 1
end
end
if (specAmount >= amountOfMonsters) then
say(multiTargetSpell)
else
say(singleTargetSpell)
end
end)
Rainbow outfit (should probably be improved by taking your current outfit type, but this also works if you know the outfit looktype)
LUA:
local outfit = {
head = 0,
body = 1,
legs = 2,
feet = 3,
type = 143, -- outfit id
auxType = 0,
addons = 3, -- 1, 2, or 3 for all
mount = 0, -- mount id
}
macro(100, "RainbowOutfit", function()
outfit.head = (outfit.head + 1) % 133;
outfit.body = (outfit.body + 1) % 133;
outfit.legs = (outfit.legs + 1) % 133;
outfit.feet = (outfit.feet + 1) % 133;
setOutfit(outfit);
end)
Automatically cast utamo vita when below X health, and deactivate again when you're below X mana (useful for paladin on ots with custom mana shield)
LUA:
local castBelowHp = 40
local deactiveBelowMana = 40
macro(100, "advanced manashield", function()
if (hppercent() <= castBelowHp and manapercent() >= deactiveBelowMana and not hasManaShield()) then
say('utamo vita')
end
if (manapercent() <= deactiveBelowMana and hppercent() >= castBelowHp and hasManaShield()) then
say('utamo vita')
end
end)
Automatically convert gold coins:
LUA:
macro(500, "replace coins", function()
for i, container in pairs(getContainers()) do
for j, item in ipairs(container:getItems()) do
if item:getCount() == 100 and item:getId() == 3031 then
g_game.use(item)
return
end
end
end
end)
Automatically cast exura sio on a friend:
LUA:
local friendName = "asd"
macro(100, "heal friend", function()
local friend = getPlayerByName(friendName)
if friend and friend:getHealthPercent() < 90 then
say("exura sio \"" .. friendName)
delay(1000)
end
end)
And post requests of things you want here, and somebody can probably create it, u should also join otcv8 discord where people are talking about the bot and macros: Join the OTClientV8 Discord Server! (https://discord.gg/feySup6)
Last edited: