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 v8vBotCaveBotTargetBotLua macrosRexia
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ść.
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)