Okay big update, had the feeling it was way too hard to use.
Has the same functionality, only easier to setup, can also prioritise rings yourself now.
-- Ring Equipper
init start
-- Local Script Version: 1.0.2
-- Made by Heronas
listas('RingEquipper')
-- Time to pause walking
pauseTime = 500
local ringLocation = 'purple backpack'
-- Might ring
local mightRing = {
id = itemid('might ring'),
use = false,
range = 3,
count = 3,
names = {'Earth Elemental', 'Bear'},
location = ringLocation,
}
-- Stealth ring
local stealthRing = {
id = itemid('stealth ring'),
use = false,
range = 3,
count = 3,
names = {'Earth Elemental', 'Bear'},
location = 'purple backpack',
}
-- Energy ring
local energyRing = {
id = itemid('energy ring'),
use = false,
range = 3,
count = 1,
names = {'Husky', 'Bear'},
location = 'purple backpack',
}
-- Dwarven ring
local dwarvenRing = {
id = itemid('dwarven ring'),
use = false,
location = 'purple backpack',
}
-- Speed ring
local speedRing = {
id = itemid('time ring'),
use = false,
location = 'purple backpack',
}
-- Skill ring
local skillRing = {
id = itemid('sword ring'),
use = false,
location = 'purple backpack',
}
-- Mana ring
local manaRing = {
id = itemid('life ring'),
use = true,
manaHigh = 95,
manaLow = 90,
location = 'purple backpack',
}
-- Swap ring
local swapRing = {
id = itemid('wedding ring'),
use = true,
location = 'purple backpack',
}
-- Priority
local rings = {dwarvenRing, mightRing, energyRing, stealthRing, speedRing, manaRing, skillRing} -- Swap these to determine priority, highest on the left
init end
-- Don't edit below
auto(300, 700)
for i,ring in pairs(rings) do
if $pzone then
if swapRing.use and itemcount(swapRing.id) and $finger.id ~= swapRing.id then
pausewalking(pauseTime)
equipitem(swapRing.id, 'finger') waitping()
break
elseif not swapRing.use and $finger.id ~= 0 then
pausewalking(pauseTime)
moveitems($finger.id, swapRing.location)
break
else
break
end
elseif ring.id == dwarvenRing.id then
while $drunk do
if $finger.id ~= ringinuse(ring.id) then
pausewalking(pauseTime)
equipitem(ring.id, 'finger') waitping()
end
wait(500)
end
elseif itemcount(ring.id) ~= nil and (ring.use or $pattacker.id ~=0) then
if $pattacker.id ~= 0 and $finger.id ~= ringinuse(speedRing.id) then
pausewalking(pauseTime)
equipitem(speedRing.id) waitping()
break
elseif ring.id ~= ringinuse(ring.id) then
if ring.id == mightRing.id or ring.id == energyRing.id or ring.id == stealthRing.id then
local creatureCount = 0
local creatureCountFar = 0
creatureCount = maround(ring.range, unpack(ring.names))
creatureCountFar = maround(ring.range+5, unpack(ring.names))
if creatureCount >= ring.count then
while maround(ring.range+5) >= creatureCountFar do
if $finger.id ~= ringinuse(ring.id) then
pausewalking(pauseTime)
equipitem(ring.id, 'finger') waitping()
end
wait(200)
end
break
end
elseif $finger.id ~= ringinuse(ring.id) then
if ring.id == manaRing.id and $mppc <= ring.manaLow then
pausewalking(pauseTime)
equipitem(ring.id, 'finger') waitping()
break
elseif ring.id ~= manaRing.id then
pausewalking(pauseTime)
equipitem(ring.id, 'finger') waitping()
break
end
elseif $finger.id == ringinuse(manaRing.id) and $mppc >= ring.manaHigh then
pausewalking(pauseTime)
if swapRing.use then
equipitem(swapRing.id, 'finger') waitping()
else
moveitems(ringinuse(ring.id), ring.location) waitping()
end
break
end
end
end
end
Code:Version 1.0.2 - Fixed a large amount of bugs caused by rewriting Version 1.0.1 - Rewrote script entirely Version 1.0.0 - First release