Salve galera, venho trazer a vocês neste tópico alguns scripts uteis para OTClient.
Anti-Push:
Auto Mount :
Utura Gran :
Vita /Utevo gran sio ":
Auto Soft Boots:
Ring por Hotkey:
Exani hur up/down nas setinhas:
Auto attack:
Mining:
Avalanche:
Exura sio jogador NAME com 85%- HP:
Anti-Push:
Citação:g_keyboard.bindKeyPress('Home', function()
local player = g_game.getLocalPlayer()
local mypos = player:getPosition()
local tile = g_map.getTile(mypos)
local bp = player:getInventoryItem(InventorySlotBack)
local GP = 3031
local Plat = 3035
local GPNABP = player:getItem(GP)
local PlatNaBP = player:getItem(Plat)
local verificaSQM = tile:getTopMoveThing():getId()
if GPNABP == nil then
g_game.use(PlatNaBP)
elseif verificaSQM ~= GP then
g_game.move(GPNABP, mypos, 2)
end
end)
Auto Mount :
Citação:cycleEvent(function () if g_game.isOnline() then g_game.mount(true) end end, 5000)
-------------------------------------
Essa script vai colocar sua montaria automaticamente, a cada 5 segundos ela vai tentar colocar.
Utura Gran :
Citação:local delay = 60000
cycleEvent(function ()
if g_game.isOnline() then
g_game.talk('utura gran')
end end, delay)
---------------------------------------
Essa script vai soltar a magia Utura Gran a cada 1 minuto, se tiver exausted de heal no momento ele não vai soltar, e a próxima tentativa será só dps de 1 minuto.
Vita /Utevo gran sio ":
Citação:local delay = 600000
cycleEvent(function ()
if g_game.isOnline() then
g_game.talk('utevo gran sio "Nome Do Seu Char"')
end
end, delay)
--------------------------------
Você tem que colocar o nome do seu char ali entre aspas pra buffar, ele só vai buffar inicialmente dps de 10 minutos ( o tempo que dura o buff), dps disso ele vai funcionar normalmente. Para o vita gran sio ou vita sio, apenas troque ali o "utevo gran sio" para "vita gran sio ou "vita sio", o mesmo funciona com "utevo sio" também.
Auto Soft Boots:
Citação:--[[ Script de Auto Soft Boots
id da soft boots = 6529
id da soft boots(sendo usada) = 3549
id da worn soft boots = 6530
slot da boots = InventorySlotFeet
]]
cycleEvent( function()
if g_game.isOnline() then
local player = g_game.getLocalPlayer()
local slot = InventorySlotFeet
local back = InventorySlotBack
local bootsSlot = player:getInventoryItem(slot)
local soft = player:getItem('6529')
local botaPos = {['x'] = 65535, ['y'] = slot, ['z'] = 0}
local backPos = {['x'] = 65535, ['y'] = back, ['z'] = 0}
if bootsSlot == nil then
g_game.move(soft, botaPos, soft:getCount())
elseif bootsSlot:getId() == 6530 then
g_game.move(bootsSlot, backPos, bootsSlot:getCount())
elseif bootsSlot:getId() == 3549 then
return
end
end
end, 5000)
Ring por Hotkey:
Citação:script que tira e coloca ring quando a tecla apertada é pageUp, mas pode facilmente ser editada pra qualquer ring e qualquer tecla
-----------------------------------------------------------------------------------------------------------
local Tecla = 'PageUp'
g_keyboard.bindKeyPress(Tecla, function()
local player = g_game.getLocalPlayer()
local slot = InventorySlotFinger
local back = InventorySlotBack
local ringSlot = player:getInventoryItem(slot)
local item = player:getItem('3051')
local anelPos = {['x'] = 65535, ['y'] = slot, ['z'] = 0}
local backPos = {['x'] = 65535, ['y'] = back, ['z'] = 0}
if ringSlot == nil then
g_game.move(item, anelPos, item:getCount())
elseif ringSlot:getId() == 3088 then
g_game.move(ringSlot, backPos, ringSlot:getCount())
end
end)
Exani hur up/down nas setinhas:
Citação:essa script solta exani hur up/ down todas as vezes que vc estiver correndo.
---------------------------------------------------------------------
local switch = 0
function doExaniHurUp()
if switch == 0 then
switch = 1
g_game.talk('exani hur "up')
else
switch = 0
g_game.talk('exani hur "down')
end
end
g_keyboard.bindKeyPress('Up', doExaniHurUp)
g_keyboard.bindKeyPress('Left', doExaniHurUp)
g_keyboard.bindKeyPress('Right', doExaniHurUp)
g_keyboard.bindKeyPress('Down',doExaniHurUp)
Auto attack:
Citação:Ataca qualquer monstro do server e ignora os Pets.
--------------------------------------
auto_attack = cycleEvent(function() ignore = {'Pet Archer', 'Pet Blaze', 'Pet Dog', 'Pet Mage', 'Pet Mercenary', 'Pet Witchdoctor', 'Pet Wolf'} if not g_game.isOnline() then return end if g_game.isAttacking() then return end local player = g_game.getLocalPlayer() local spec = g_map.getSpectators(player:getPosition()) function isInArray(tbl, value) for k, v in ipairs(tbl) do if v == value then return k end end return false end for k,monster in pairs(spec) do if not isInArray(ignore, monster:getName()) then if monster:isMonster() and not monster:isPlayer() and not monster:isNpc() then g_game.attack(monster) break end end end end, 400)
Mining:
Citação:Esse script ira minerar e estourar as gemas sozinho dentro da bolsa.
-------------------------------------------------------------
cycleEvent(function() moneyruneID = 3193 pickId = 3456 desintegrate = {1792, 1780, 1782, 3041, 3039, 3038, 3037, 3036, 1781} wallIds = {5643, 5638, 5644, 5642, 5641, 5639, 5651, 5645, 5640, 5653} trash = {3147, 3207} local function isInArray(table, value) for k, v in ipairs(table) do if v == value then return k end end return false end local function openNextBackpack(openedbackpack) for k, item in ipairs(openedbackpack:getItems()) do if item:isContainer() then g_game.open(item) g_game.close(openedbackpack) break end end end local function getOpenedContainer() for i = 0, 3 do if g_game.getContainer(i) then return g_game.getContainer(i) end end return false end if g_game.isOnline() then player = g_game.getLocalPlayer() playerPos = player:getPosition() backpack = getOpenedContainer() if not backpack then local mainBack = player:getInventoryItem(InventorySlotBack) g_game.open(mainBack) end if backpack then itemCount = #backpack:getItems() for i = 1, #trash do item = player:getItem(trash[i]) if item ~= nil then g_game.move(item, playerPos, item:getCount()) itemCount = itemCount - 1 end end for i = 1, #desintegrate do item = player:getItem(desintegrate[i]) if item ~= nil then g_game.useInventoryItemWith(moneyruneID, item) itemCount = itemCount - 1 end end if itemCount >= backpack:getCapacity() then return openNextBackpack(backpack) end for x = -1, 1 do for y = -1, 1 do pos = {x = playerPos.x + x, y = playerPos.y + y, z = playerPos.z} tile = g_map.getTile(pos) topThing = tile:getTopThing() if topThing ~= nil and topThing:isItem() then if isInArray(wallIds, topThing:getId()) then g_game.useInventoryItemWith(pickId, topThing) break end end end end end end end, 200)
Avalanche:
Citação:local RUNEID = 3161 cycleEvent( function() local p = g_game.getLocalPlayer() if g_game.isOnline() and g_game.isAttacking() then g_game.useInventoryItemWith(RUNEID, g_game.getAttackingCreature()) end end , 500)
Exura sio jogador NAME com 85%- HP:
Citação:cycleEvent(function ()
NAME = "ADM DARKUS" if g_game.isOnline() then local p = g_game.getLocalPlayer() if p:getHealth()/p:getMaxHealth() > 0.7 then for i,v in pairs(g_map.getSpectators(p:getPosition())) do if v:isPlayer() and v:getName() == NAME and v:getHealthPercent() < 85 then g_game.talk("exura sio \"".. NAME) end end end end end, 100)