Untitled

 avatar
unknown
plain_text
15 days ago
2.9 kB
4
Indexable
-- === KONFIGURACJA ===
local targetPos = {x = 1697, y = 2244, z = 7}  -- Pozycja, na którą postać ma dotrzeć
local tolerance = 1  -- Tolerancja dla porównania współrzędnych
-- =====================

-- Tworzymy makro z identyfikatorem 'w'
local w

-- Zmienna do śledzenia ataku
local attacked = false

-- Funkcja makra
w = macro(100, "Auto Odpowiedź na atak", function() 
  -- Debugowanie: Początek działania makra
  print("Makro uruchomione...")

  -- Sprawdzenie, czy postać została zaatakowana przez gracza
  for i, spec in ipairs(getSpectators()) do
    if spec:isPlayer() then
      -- Debugowanie: Wykrycie gracza
      print("Wykryto gracza: " .. spec:getName())

      -- Jeśli gracz widzi naszą postać i jest w zasięgu ataku
      if spec:isTimedSquareVisible() then
        print("Gracz zaatakował nas!")

        -- Wyłącz TargetBot natychmiast po ataku
        if TargetBot.isOn() then
          print("Wyłączanie TargetBot...")
          TargetBot.setOff()
        end
        attacked = true  -- Zmienna informująca, że postać została zaatakowana
        break
      end
    end
  end

  -- Debugowanie: Informacja o stanie ataku
  if attacked then
    print("Atak wykryty! Czekamy na dotarcie na kratkę...")
  end

  -- Jeśli postać została zaatakowana, ale jeszcze nie dotarła na wyznaczoną kratkę
  if attacked then
    -- Pobieramy aktualną pozycję postaci
    local currentPos = g_game.getLocalPlayer():getPosition()

    -- Debugowanie: Pozycja postaci
    print("Aktualna pozycja postaci: X=" .. currentPos.x .. " Y=" .. currentPos.y .. " Z=" .. currentPos.z)
say("wykryto atak wracam na pz")

    -- Sprawdzamy, czy pozycja postaci jest w granicach tolerancji
    if math.abs(currentPos.x - targetPos.x) <= tolerance and 
       math.abs(currentPos.y - targetPos.y) <= tolerance and 
       math.abs(currentPos.z - targetPos.z) <= tolerance then
      print("Postać dotarła na kratkę!")

      -- Postać dotarła na kratkę, więc wyłącz CaveBot
      if CaveBot.isOn() then
        print("Wyłączanie CaveBot...")
        CaveBot.setOff()
      end

      -- Wyłącz makro po osiągnięciu celu
      print("Makro wyłączone.")
      w:setOff()
      attacked = false  -- Resetujemy flagę po wyłączeniu makra
    else
      print("Postać nie dotarła jeszcze na kratkę.")
    end
  end
end)

-- Ikona makra
addIcon("Attack Response", {text = "Reakcja na atak", switchable = true, moveable = true}, function()
  -- Zmiana stanu makra w zależności od jego obecnego stanu
  if w:isOff() then
    print("Makro włączone!")
    w:setOn()  -- Włącz makro, jeśli jest wyłączone
  else
    print("Makro wyłączone!")
    w:setOff()  -- Wyłącz makro, jeśli jest włączone
    attacked = false  -- Resetujemy flagę ataku, jeśli makro jest wyłączane
  end
end)
Editor is loading...
Leave a Comment