Novo

COMBOS MOBILE

 Macro para otcv8 mobile.

Esse macro vai dar follow em qualquer coisa que você atacar.


macro(10, "Follow Target", function()

  if g_game.isAttacking() then

    return autoWalk(g_game.getAttackingCreature():getPosition(), 10, {ignoreNonPathable=true, precision=1})

  end

end)



----


Macros para otcv8 mobile. 

Esse macro vai jogar qualquer item que vc colocar o ID ali em IDDOITEM em qualquer coisa que você atacar.


macro(100, "USEWITH", function()

    if g_game.isAttacking() then

        usewith(IDDOTEM, g_game.getAttackingCreature())

        delay(400)

    end

end)


---


Macro mobile para otcv8. Esse macro vai curar todos os players que vc colocar o nick ali em friendList, lembre-se, sempre que adicionar algum player à lista, coloque entre (”nick”, "outro nick") etc...


local parent = nil;

local friendList = {"Player X", "Player Y", "Player Z", "Etc",}


macro(100, "Heal Friend", function()

  for i, friendSio in ipairs(friendList) do

    local friend = getPlayerByName(friendSio)    

    if friend and friend:getHealthPercent() < 90 then

        say("mystical palm technique "" .. friendSio)

        delay(400)

    end

  end

end, parent)


----


Macro mobile para otcv8. Esse macro vai usar algum item de regenerar stamina, assim que ela ficar vermelha (totalmente editável). Em ID coloque o ID do item.


macro(500, "Stamina", function()

    if stamina() < 900 then

        use(IDDOITEM)

    end

end)


---


Macro mobile para otcv8. Esse macro vai abrir um loot na tela (não acho necessário usar já que o próprio bot otcv8 possui um autoloot que funciona perfeitamente).


local itemID = IDDOLOOT

macro(200, "Open Loot", function()

for _, tile in ipairs(g_map.getTiles(posz())) do

if tile:getTopUseThing():getId() == itemID then

use(tile:getTopUseThing())

return

end

end

end)


---


Macro mobile para otcv8.

Atenção: Esse macro é proibido em alguns servidores, por isso, use apenas em servidores que sejam liberados (use por sua conta e risco, não me responsabilizo por bans).

Esse macro vai atacar todos os players que aparecer na tela. Ali em "PLAYER X, PLAYER Y, ETC" coloque o nome dos players que você não quer atacar.


local playerList = {}

local friendPlayers = {"PLAYER X", "PLAYER Y", "PLAYER Z", "ETC",}


macro(200, "Auto Enemy", function()

for _,mob in ipairs(getSpectators(posz())) do

if mob:getEmblem() == 1 then

table.insert(friendPlayers, mob:getName():lower())

end

if not table.find(friendPlayers, mob:getName():lower()) then

if mob:isPlayer() then

table.insert(playerList, {player = mob, hpenemy = mob:getHealthPercent()})

end

end

end

table.sort(playerList, function(a,b) return a.hpenemy < b.hpenemy end)

if not g_game.isAttacking() and playerList[1] then

g_game.attack(playerList[1].player)

end

playerList = {}

end)


---


Macro mobile para otcv8.

Atenção: Esse macro é proibido em alguns servidores, por isso, use apenas em servidores que sejam liberados (use por sua conta e risco, não me responsabilizo por bans).

Macro de Target com icon do lado esquerdo, totalmente editável.


addIcon("Target", {item={id = 6117}, text= "TARGET"}, macro(900, "TARGET", function()

if g_game.isAttacking() then 

oldTarget = g_game.getAttackingCreature() -- save the target

end 

if oldTarget and not g_game.isAttacking() and

getDistanceBetween(pos(), oldTarget:getPosition())

<= 8 then -- if the player has no target and player is on distance 

g_game.attack(oldTarget)

end

end) )


---


Macro mobile para otcv8. Esse macro vai usar buff e chakra rest automaticamente sempre que o buff acabar.


macro(500, "Auto Buff", function()

if not hasPartyBuff() then

  say("NOME DO BUFF")

  say("chakra rest")

  end

end)


---


Macro mobile para otcv8. Esse macro vai usar haste (chakra feet) automaticamente sempre que o haste acabar.


macro(500, "Auto Haste", nil, function()

    if not hasHaste() and storage.autoHasteText:len() > 0 then

      if saySpell(storage.autoHasteText) then

        delay(1000)

      end

    end

  end)

  addTextEdit("autoHasteText", storage.autoHasteText or "concentrate chakra feet", function(widget, text) 

    storage.autoHasteText = text

end)


---



Macro mobile para otcv8. No bot do otcv8 tem uma config de Regeneration, porém ela da bastante delay quando há muitos macros ativados, por isso, recomendo usar Regeneration usando um macro. Abaixo, deixo o melhor macro de Regeneration (totalmente sem delay).


local hpPercent = 99

macro(50, "Fast Regen",  function()

  if (hppercent() <= hpPercent) then

  say(storage.HealText)

end

end)

addTextEdit("HealText", storage.HealText or "big regeneration", function(widget, text) 

storage.HealText = text

end)


--



Macro mobile para otcv8. Esse macro vai usar kawarimi quando Hp chegar em 50%, totalmente editável.


local healingSpell = 'kawarimi no jutsu defensive' local hpPercent = 50 macro(50, "Kawarimi 50%", function() if (hppercent() <= hpPercent) then say(healingSpell) end end)



---



Macro mobile para otcv8. Macro de dance.


macro(250, "Dance", function()


    turn(math.random(0, 3)) -- turn to a random direction.


 end, warTab)



--


Macro mobile para otcv8. Com esse macro você vai poder dar follow e atacar ao mesmo tempo, pode ser melhorado.


local toFollow = "QUEM DEVO SEGUIR"

local toFollowPos = {}


local followMacro = macro(20, "Follow", 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)


--


Macro mobile para otcv8. Esse macro é para sio, ele vai ter 2 niveis de priorização de cura, no primeiro, vc coloca o nome do player que deseja que o sio foque primeiro, no segundo, colocar por exemplo, o seu nick ou o nick de algum outro player que desejar ser curado por último.


macro(100, "Sio", function()

    local friend = getPlayerByName(storage.friendName)

    local friend1 = getPlayerByName(storage.friend1Name)

    if friend and friend:getHealthPercent() < 80 then

        say("Mystical palm technique \""..storage.friendName)

        delay(500)

   elseif friend1 and friend1:getHealthPercent() <= 80 then -- If u need more you can copy this lines

        say("Mystical palm technique \""..storage.friend1Name) --

        delay(500) --

    end -- And paste them between this end and the delay

end)

  addTextEdit("friendName", storage.friendName or "Friend Name", function(widget, text) 

    storage.friendName = text

end)

addLabel("Priority 1 ^ Priority 2 v", "Priority 1 ^ Priority 2 v")

  addTextEdit("friend1Name", storage.friend1Name or "Friend Name", function(widget, text)   -- Also copy this lines

    storage.friend1Name = text -- If u add more just rename the Friend1Name to Friend2Name in the lines u paste

end) --



---



Macro mobile para otcv8. Esse macro é conhecido como combo heal, porém, dá pra fazer muita coisa com ele. Ele basicam vai usar todas as suas spells de cura (esse macro é para healer).


local Heal1 = 'shousen no jutsu'

local Heal2 = 'Mystical Palm Technique "SEU NICK'

local Heal3 = 'saikan chuushutsu no jutsu'

local HpPerc = 90

macro(200, "Combo Heal", function()

if  (hppercent() <= HpPerc) then

say(Heal1)

say(Heal2)

say(Heal3)

end

end)


---


Macro mobile para otcv8. Esse macro vai usar shield (chakra defense) sozinho e desativar sozinho. Totalmente editável.


local castBelowHp = 95

local deactiveBelowMana = 100

macro(98, "Chakra Defense",  function()

  if (hppercent() <= castBelowHp and manapercent() >= deactiveBelowMana and not hasManaShield()) then

    say('chakra Defense')

  end

  if (manapercent() <= deactiveBelowMana and  hppercent() >= castBelowHp and hasManaShield()) then

      say('defense Kai')

  end

end)


---


Macro mobile para otcv8. Esse macro vai atacar tudo na tela (menos player), priorizando o mob do menor Hp para o maior Hp.


macro(100, "Mobs", function() 

  local battlelist = getSpectators();

  local closest = 10

  local lowesthpc = 101

  for key, val in pairs(battlelist) do

    if val:isMonster() then

      if getDistanceBetween(player:getPosition(), val:getPosition()) <= closest then

        closest = getDistanceBetween(player:getPosition(), val:getPosition())

        if val:getHealthPercent() < lowesthpc then

          lowesthpc = val:getHealthPercent()

        end

      end

    end

  end

  for key, val in pairs(battlelist) do

    if val:isMonster() then

      if getDistanceBetween(player:getPosition(), val:getPosition()) <= closest then

        if g_game.getAttackingCreature() ~= val and val:getHealthPercent() <= lowesthpc then 

          g_game.attack(val)

     delay(100)

          break

        end

      end

    end

  end

end)


--