POBIERZ ZAŁÓŻ KONTO
Kup punkty Pobierz klienta
US BR ES SE

OTClient v8 Bot

Skrypty do bota OTClient v8

Gotowe makra dla graczy Rexia: autologin, cavebot, targetbot, haste, alerty, ping i leczenie gildii. Kliknij Kopiuj, dopasuj ID itemów lub czary pod swoją postać i wklej skrypt w edytorze bota.

OTClient v8 vBot CaveBot TargetBot Lua macros Rexia

Klikamy w bocie zakładkę Tools, wybieramy Ingame macro/script editor i tam wklejamy skrypt.

CaveBot

Autologin po dedzie + CaveBot/TargetBot po 10 minutach

Po śmierci lub rozłączeniu loguje postać ponownie, wyłącza boty i uruchamia CaveBot oraz TargetBot dopiero po 10 minutach online.

local botsActivated = false
local activationTime = nil

macro(1000, "autologin + cavebot 10 min", function()
  if hppercent() <= 0 or not g_game.isOnline() then
    botsActivated = false
    activationTime = nil
    TargetBot.setOff()
    CaveBot.setOff()
    modules.client_entergame.CharacterList.doLogin()
  else
    if not botsActivated then
      if activationTime == nil then
        activationTime = now
      elseif now - activationTime >= 600000 then
        TargetBot.setOn()
        CaveBot.setOn()
        botsActivated = true
      end
    end
  end
end)
Utility

Auto odnowa Firewalker Boots

Gdy bot wykryje zużyte Firewalker Boots na stopach, wpisze komendę odnowy.

local unActiveFireId = 3123

macro(5000, "Odnowa FWB", function()
  if getFeet() and getFeet():getId() == unActiveFireId then
    say("!fwb")
  end
end)
Spell

Auto Haste - utani mega hur

Pilnuje haste i pozwala zmienić czar w polu tekstowym bota.

macro(500, "Auto Haste", nil, function()
  if not hasHaste() and storage.autoHasteText:len() > 0 then
    if saySpell(storage.autoHasteText) then
      delay(5000)
    end
  end
end)

addTextEdit("autoHasteText", storage.autoHasteText or "utani mega hur", function(widget, text)
  storage.autoHasteText = text
end)
Command

Cast off co 10 minut

Automatycznie wpisuje /cast off co 10 minut.

macro(600000, "cast off co 10 min", function()
  say("/cast off")
end)
Alert

Rejestrowanie wysokiego pingu

Wypisuje w konsoli CTRL+T godzinę i wartość pingu, gdy przekroczy ustalony próg.

local threshold = 200

macro(1000, "SprawdzatorPingu", function()
  local ping = g_game.getPing()
  if ping >= threshold then
    print(os.date('%H:%M:%S %d/%m/%y') .. " ping wynosi " .. ping)
  end
end)
Knight

Auto exeta res dla EK

Wpisuje skonfigurowany tekst co 500 ms. Domyślnie: Exeta res.

macro(500, "Auto RES", function()
  say(storage.ExetaText)
end)

addTextEdit("ExetaText", storage.ExetaText or "Exeta res", function(widget, text)
  storage.ExetaText = text
end)
Alert

Dźwięk po prywatnej wiadomości

Odtwarza dźwięk po prywatnej wiadomości, maksymalnie raz na minutę.

lastSoundTime = 0

onTalk(function(name, level, mode, text, channelId, pos)
  if mode == 4 then
    local currentTime = os.time()
    if (currentTime - lastSoundTime) >= 60 then
      lastSoundTime = currentTime
      playSound("/sounds/Private_Message.ogg")
    end
  end
end)
Support

Exura Heal dla gildii

Leczy członków gildii na ekranie poniżej ustawionego procentu HP. Ikonkę można przesuwać lewym przyciskiem myszy z CTRL.

local guildPercent = 70
local delayheal = 900

addIcon("SIO", {item=11870, switchable=true, text="SIO"},
macro(100, "", function()
  for _, spec in pairs(getSpectators()) do
    local name = spec:getName()
    local hp = spec:getHealthPercent()
    local emblem = spec:getEmblem()

    if emblem == 1 and name ~= player:getName() then
      if hp <= guildPercent then
        say('exura heal "' .. name .. '"')
        delay(delayheal)
      end
    end
  end
end))

Dodatkowe skrypty OTClient v8

Proste makra dobrane pod najczęstsze użycie w OTCv8. Przed stałym użyciem przetestuj je na bezpiecznej postaci.

Extra

Auto Utamo Vita

Proste pilnowanie magic shield. Przydatne jako baza do własnych progów many.

macro(1000, "Auto Utamo Vita", function()
  local hasShield = false
  if hasManaShield then
    hasShield = hasManaShield()
  elseif hasManashield then
    hasShield = hasManashield()
  elseif PlayerStates and PlayerStates.ManaShield then
    hasShield = player:hasState(PlayerStates.ManaShield)
  end

  if not hasShield and manapercent() > 20 then
    say("utamo vita")
    delay(3000)
  end
end)
Extra

Auto Exura Vita pod próg HP

Leczy postać czarem po spadku HP poniżej ustawionej wartości.

macro(200, "Auto Exura Vita", function()
  if hppercent() <= 85 and manapercent() >= 10 then
    say("exura vita")
    delay(900)
  end
end)
Extra

Auto manarune na siebie

Używa runy many na postaci, gdy mana spadnie poniżej progu. Zmień ID runy pod swój serwer.

local manaRuneId = 3184
local manaPercent = 80

macro(200, "Auto Mana Rune", function()
  if manapercent() <= manaPercent then
    usewith(manaRuneId, player)
    delay(600)
  end
end)
Extra

Pause CaveBot + TargetBot ikoną

Dodaje przełącznik do szybkiego zatrzymania lub wznowienia CaveBota i TargetBota.

addIcon("BOT", {item=3548, switchable=true, text="BOT"}, macro(200, "Cave + Target", function(m)
  if m:isOn() then
    CaveBot.setOn()
    TargetBot.setOn()
  else
    CaveBot.setOff()
    TargetBot.setOff()
  end
end))
Extra

Alarm gdy gracz na ekranie

Odtwarza alarm, gdy na ekranie pojawi się inny gracz.

local alarmDelay = 15000
local lastAlarm = 0

macro(500, "Player Alarm", function()
  for _, spec in pairs(getSpectators()) do
    if spec:isPlayer() and spec:getName() ~= player:getName() then
      if now - lastAlarm >= alarmDelay then
        lastAlarm = now
        playSound("/sounds/alarm.ogg")
      end
      return
    end
  end
end)
Extra

Anti idle - obracanie postaci

Co kilkanaście minut obraca postać, żeby ograniczyć bezczynność.

macro(14 * 60 * 1000, "Anti Idle", function()
  turnNorth()
  schedule(300, turnEast)
  schedule(600, turnSouth)
  schedule(900, turnWest)
end)
Extra

Energy Ring przy niskim HP

Zakłada energy ring poniżej wybranego progu HP i zdejmuje go po odzyskaniu życia. Zmień ID pod swój serwer.

local normalRing = 3052
local energyRing = 3051
local originalRing = getFinger()

macro(200, "Energy Ring HP", function()
  local ring = getFinger()
  if hppercent() <= 45 then
    if not ring or ring:getId() ~= energyRing then
      local item = findItem(energyRing)
      if item then
        g_game.equipItem(item)
      end
    end
  elseif hppercent() >= 75 then
    if ring and ring:getId() == energyRing then
      local item = originalRing or findItem(normalRing)
      if item then
        g_game.equipItem(item)
      end
    end
  end
end)
Extra

Auto follow z polem na nick

Podąża za wpisanym graczem, jeśli jest widoczny na ekranie.

storage.followName = storage.followName or ""

addTextEdit("followName", storage.followName, function(widget, text)
  storage.followName = text
end)

macro(500, "Auto Follow", function()
  if storage.followName:len() == 0 then
    return
  end

  for _, spec in pairs(getSpectators()) do
    if spec:isPlayer() and spec:getName():lower() == storage.followName:lower() then
      g_game.follow(spec)
      return
    end
  end
end)
Extra

Auto accept party

Akceptuje zaproszenie do party od wybranego lidera, jeśli lider jest na ekranie.

local leaderName = "Nick Lidera"

macro(1000, "Auto Party Join", function()
  for _, spec in pairs(getSpectators()) do
    if spec:isPlayer() and spec:getName():lower() == leaderName:lower() then
      if spec:getShield() == 1 then
        g_game.partyJoin(spec:getId())
      end
      return
    end
  end
end)
Extra

Auto fishing przed postacią

Używa wędki na kratce przed postacią. Zmień ID wędki i kierunek kratki, jeśli łowisz z innej strony.

local rodId = 3483

macro(6000, "Auto Fishing", function()
  local pos = player:getPosition()
  usewith(rodId, {x = pos.x, y = pos.y - 1, z = pos.z})
end)
Extra

Hold Target

Zapamiętuje ostatni cel i ponawia atak, jeśli target zniknie z zaznaczenia, ale nadal jest blisko.

local lastTarget = nil

macro(200, "Hold Target", function()
  if g_game.isAttacking() then
    lastTarget = g_game.getAttackingCreature()
    return
  end

  if lastTarget and lastTarget:getPosition() then
    if getDistanceBetween(pos(), lastTarget:getPosition()) <= 8 then
      g_game.attack(lastTarget)
    end
  end
end)
Extra

Zamiana gold coins po 100

Używa pełnego stacka gold coins w otwartych plecakach, żeby zamienić go na wyższy nominał.

local goldCoinId = 3031

macro(500, "Change Gold", function()
  for _, container in pairs(getContainers()) do
    for _, item in ipairs(container:getItems()) do
      if item:getId() == goldCoinId and item:getCount() == 100 then
        g_game.use(item)
        return
      end
    end
  end
end)

Copyrights © Rexia.PL. All Rights Reserved.