• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

scripts/macros for kondras otclientv8 bot

Would someone be able to make macro that by 1click wears on EQ for DMG and EQ for Survivability just like on screen ?
1583541966262.png

Any tips what commandline in lua files makes that u wear item of specific ID would be useful too.
Thanks
 
Would someone be able to make macro that by 1click wears on EQ for DMG and EQ for Survivability just like on screen ?
View attachment 42949

Any tips what commandline in lua files makes that u wear item of specific ID would be useful too.
Thanks
dude i love how u eddited ur file to have "main" "boting" "equipper" "war" those tabs, do you mind sharing it?? and any other evolunia sweet script would preciate it too
 
Hi, would be nice if someone could do a scrip/macro that checks stamina and if stamina XX eat stamina doll
Post automatically merged:

example of better follow, including stairs, holes, teleports etc
Code:
local toFollow = "Player2"
local toFollowPos = {}

local followMacro = macro(20, "follow target", function()
  local target = getCreatureByName(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() == toFollow then
    toFollowPos[newPos.z] = newPos
  end
end)

Could you make this script like the rune script so I can type in who to follow (text bar).

Something like this:
addTextEdit("atkItem", storage.atkItem or "3155", function(widget, text)
storage.atkItem = text
 
Last edited:
Someone has the script for Auto Eat Food?
macro(10000, "auto eat", function()
use(3725)
end)

change the id, this is brown mushroom
Post automatically merged:

is there a way to end a macro after starting it? for example i click the macro button, after 10seconds of XXXXX actions stop it, so i can re-click to activate
 
dude i love how u eddited ur file to have "main" "boting" "equipper" "war" those tabs, do you mind sharing it?? and any other evolunia sweet script would preciate it too
He's using a picture posted by me on discord. The script he's referring to is public and I think I already sent it to him somewhere.
Post automatically merged:

He's using a picture posted by me on discord. The script he's referring to is public and I think I already sent it to him somewhere.

Lua:
-- Example on how to implement tabs
local warTab = addTab("War")

macro(100, "Random", function()
    say("Example")
end, warTab)

Notice how you have to specify what tab you want the macro to be included in.
 
Last edited:
Is there a guide somewhere so I can learn how to script?
I have a hard time understanding how to use functions and methods and so on.

If anyone can point me to the right direction, would be nice :)
 
Is there a guide somewhere so I can learn how to script?
I have a hard time understanding how to use functions and methods and so on.

If anyone can point me to the right direction, would be nice :)
Idk if I'm allowed to link on here but -> bot . otclient . ovh has some documentation for otclientv8 bot
 
Hello, I need a script for a bot that will open the body of the monster immediately after killing I have such 1000 {open.s} X: = Self.X () Y: = Self.Y () Z: Self.Z () Map.Use (4946, ! X,! Y,! Z, 3)
but it is not working properly please help
 
Hello
1 looking for script that uses command when mana is higher than 10% and when lower clicks items.
2. script that equip energy ring when health is lower than, and unequip when its higher than
3. script on e ring on hotkey
 
could anyone make script for wear item on x id and it is possible to make it for click? i would be greatful


i need also alarm if pk and alarm if disconnectec ( i guess those one are easy )
 
Last edited:
Hello everyone, lots of changed since this thread was made; now many servers are using otcv8, otcv8 has improved a lot and it's bot has much more things built in, otcv8 has received it's own forum at otclient.net where you can find much more scripts and discussions about otcv8.

It would be nice to see if people kept sharing scripts here too though, it seems like this thread gets lots of traffic and actually it's one of the most viewed threads in this subforum, so probably lots of users are coming here looking for scripts - so share more scripts that people can make use of!

I will post some alarms that I found on otclient.net:

Play a sound when a message appears (for example a raid): [Made by Vithrax]
Lua:
local messageText = "some unique part of the message/whole message"
local alertSwitch = macro(1000, "Boss Alarm", function() end)

onTextMessage(function(mode, text)
  if alertSwitch.isOn() and string.find(text, messageText) then
    playAlarm()
  end
end)

Play a sound when a creature with a certain name appears on your screen: [Made by Ruu]
Lua:
local creatureNames =
{
  "Dragon",
  "Rat",
  "Rotworm",
  "Npc name works here too"
}

macro(1000, "Alarm when creature", function()
  for _, spec in ipairs(getSpectators()) do
    for _, creature in pairs(creatureNames) do
      if spec:getName():lower():find(creature:lower()) then
        playAlarm()
      end
    end
  end
end)
 
Hello!
A small adventure of me learning to script macros, here is one for those who struggle to get attributes on Evolunia "Dancing" minigame in the !joinevent lobby. It is not 100% refined as it was growing from a simple concept and then built onto it, but I can assure you it is very effective.

Evolunia dance.png

As of now it beat the previous record by 50%. I guess it is only fair if I share it and everyone has the same chance either to beat the score, or simply get the attributes. [Edit does not work properly on latest OTClient. Tested on current Evolunia client]

Lua:
--Created by Thirstix aka Stixu--
local center={y=1146, x=920, z=9}

macro(10, "Dance", function()
  if(posx()>=center.x-2 and posx()<=center.x+2 and posy()>=center.y-2 and posy()<=center.y+2) then
    local safeClosestPositionCoord=nil
    local safeClosestPosition=99
    local safeClosestPositionCenter=99
    local unSafe=nil
    for i, tile in ipairs(g_map.getTiles(posz())) do
      local effectDeteced=0
      for j, fx in ipairs(tile:getEffects()) do
        if(fx:getId()>=19 and fx:getId()<=25) then
          effectDeteced=1
        end
        if(fx:getId()<=25 and fx:getId()>=19 and getDistanceBetween(pos(),tile:getPosition())==0) then
          unSafe=1
        end
      end
      if(getDistanceBetween2(pos(),tile:getPosition())==1 and getDistanceBetween2(center,tile:getPosition())<getDistanceBetween2(pos(),center) and effectDeteced==0) then
        autoWalk(tile:getPosition(), 100, {ignoreNextOutfitWindow=true})
        return
      elseif(getDistanceBetween(pos(),tile:getPosition())==1 and getDistanceBetween2(center,tile:getPosition())<getDistanceBetween2(pos(),center) and effectDeteced==0) then
        tilePos = tile:getPosition()
        if(tilePos.x+1==posx() and tilePos.y-1==posy()) then
          g_game.walk(SouthWest,false)
          return
        elseif(tilePos.x+1==posx() and tilePos.y+1==posy()) then
          g_game.walk(NorthWest,false)
          return
        elseif(tilePos.x-1==posx() and tilePos.y-1==posy()) then
          g_game.walk(SouthEast,false)
          return
        elseif(tilePos.x-1==posx() and tilePos.y+1==posy()) then
          g_game.walk(NorthEast,false)
          return
        end
      end
      if(getDistanceBetween2(pos(),tile:getPosition())<safeClosestPosition and effectDeteced==0 and tile:isWalkable()) then
        safeClosestPositionCoord=tile:getPosition()
        safeClosestPosition=getDistanceBetween2(pos(),tile:getPosition())
        safeClosestPositionCenter=getDistanceBetween2(center,tile:getPosition())
      end
      if(getDistanceBetween2(pos(),tile:getPosition())==safeClosestPosition and getDistanceBetween2(center,tile:getPosition())<safeClosestPositionCenter and effectDeteced==0 and tile:isWalkable()) then
        safeClosestPositionCoord=tile:getPosition()
        safeClosestPosition=getDistanceBetween2(pos(),tile:getPosition())
        safeClosestPositionCenter=getDistanceBetween2(center,tile:getPosition())
      end
  
    end
    if unSafe then
      if(getDistanceBetween(pos(),safeClosestPositionCoord)==1 and getDistanceBetween2(pos(),safeClosestPositionCoord)==2) then
        if(safeClosestPositionCoord.x+1==posx() and safeClosestPositionCoord.y-1==posy()) then
          g_game.walk(SouthWest,false)
          return
        elseif(safeClosestPositionCoord.x+1==posx() and safeClosestPositionCoord.y+1==posy()) then
          g_game.walk(NorthWest,false)
          return
        elseif(safeClosestPositionCoord.x-1==posx() and safeClosestPositionCoord.y-1==posy()) then
          g_game.walk(SouthEast,false)
          return
        elseif(safeClosestPositionCoord.x-1==posx() and safeClosestPositionCoord.y+1==posy()) then
          g_game.walk(NorthEast,false)
          return
        end
      else
        autoWalk(safeClosestPositionCoord, 100, {ignoreNonPathable = true})
      end
    end
  end
end)

macro(100, "Auto Haste", nil, function()
  if not hasHaste() and storage.autoHasteText:len() > 0 then
    if saySpell(storage.autoHasteText) then
      delay(2000)
    end
  end
end)
addTextEdit("autoHasteText", storage.autoHasteText or "utani hur", function(widget, text)
  storage.autoHasteText = text
end)

function getDistanceBetween2(Coord1,Coord2)
  return (Coord1.x-Coord2.x)*(Coord1.x-Coord2.x)+(Coord1.y-Coord2.y)*(Coord1.y-Coord2.y)
end
 
Last edited:
Back
Top