Bez nazwy brad.jpg Thanks 4 Script exp/h 445k
Bez nazwy brad.jpg Thanks 4 Script exp/h 445k
To fix vamp dust, deleted old Stake scrpit or set it to NO. then cery a new and copy paste this.
init start
-- local SCRIPT_VERSION = '1.0.0'
local Range = 6 -- Range from which bot will consider bodies
local waitFreshBodies = false -- Wait till body wont be fresh?
-- Do not edit anything below
local fresh = {5995, 6006, 8744, 18961} -- ID's of fresh dead bodies
local old = {4097, 4137, 8738, 18958} -- ID's of not fresh dead bodies
local lootItems = {5906, 5905} -- items which will be added to the MMH list
local function bodiesInfo(range, _fresh)
local infos = {}
for a=0, range do
local i, j = -a, -a
while j <= a do
i = -a
while i <= a do
local px, py = $posx+i, $posy+j
if (math.abs(j) == a or math.abs(i) == a) and tilehasinfo(px, py, $posz) then
local tile = gettile(px, py, $posz)
for k=0, tile.itemcount do
if (_fresh and table.find(fresh, tile.item[k].id)) or (table.find(old, tile.item[k].id)) then
table.insert(infos, {px, py})
break
end
end
end
if math.abs(j) ~= a then
i = i+2*a
else
i = i + 1
end
end
j = j + 1
end
end
return infos
end
function _stake(range, waitfresh)
local waitfresh = waitfresh or false
local info = bodiesInfo(range, waitfresh)
if skin and itemcount('blessed wooden stake') == 0 and clientitemhotkey('blessed wooden stake','crosshair') == 'not found' then
info = {}
return ''
end
if #info ~= 0 then
-- Counting items (actual amount)
local Amount = {}
for _, Items in ipairs(lootItems) do
Amount[Items] = itemcount(Items)
end
pausewalking(60000)
for a=1, #info do
local px, py = info[a][1], info[a][2]
if tilehasinfo(px, py, $posz) and tilereachable(px, py, $posz) then
local function distFrom(x,y)
return math.abs($posx - x) > math.abs($posy - y) and math.abs($posx - x) or math.abs($posy - y)
end
if distFrom(px, py) > 1 then
reachlocation(px, py, $posz)
end
local tile = gettile(px, py, $posz)
if not table.find(old, topitem(px, py, $posz).id) and not table.find(fresh, topitem(px, py, $posz).id) then
if itemproperty(topitem(px, py, $posz).id, ITEM_NOTMOVEABLE) then
while windowcount("Browse Field") == 0 do
browsefield(px, py, $posz)
wait(500)
end
for i=1, getcontainer("Browse Field").itemcount do
local itemId = getcontainer("Browse Field").item[i].id
if (table.find(old, itemId)) or (table.find(fresh, itemId) and waitfresh) then
while table.find(fresh, itemId) and waitfresh do
wait(200)
itemId = getcontainer("Browse Field").item[i].id
end
while not table.find(old, topitem(px, py, $posz).id) and itemcount(itemId, "Browse Field") > 0 do
moveitems(itemId, ground(px, py, $posz), "Browse Field", 1)
wait(500)
end
local function bodiesInWindow(win)
local counter = 0
for i=1, getcontainer(win).itemcount do
if (table.find(old, getcontainer(win).item[i].id)) or (waitfresh and table.find(fresh, getcontainer(win).item[i].id)) then
counter = counter + 1
break
end
end
return counter
end
if bodiesInWindow("Browse Field") <= 1 then
closewindows("Browse Field")
end
break
end
end
else
local function push(startx, starty)
local x,y,z = 0, 0, $posz
for i=-1, 1 do
for j=-1, 1 do
if tilewalkable(startx+i, starty+j, $posz) and (i ~= 0 or j ~= 0) and x == 0 then
x,y = startx+i, starty+j
break
end
end
end
return x,y,z
end
while not table.find(fresh, topitem(px, py, $posz).id) and not table.find(old, topitem(px, py, $posz).id) do
moveitems(topitem(px, py, $posz).id, ground(push(px, py)), ground(px, py, $posz), 1)
wait(400, 500)
end
end
end
while table.find(fresh, topitem(px, py, $posz).id and waitfresh) do
wait(200)
end
-- If standing on same tile as body then move somewhere
if $posx == px and $posy == py then
local dirs = {
{$posx-1, $posy},
{$posx+1, $posy},
{$posx, $posy-1},
{$posx, $posy+1}
}
for _, v in ipairs(dirs) do
if not itemproperty(topitem(v[1], v[2], $posz).id, ITEM_FLOORCHANGE) and tilewalkable(v[1], v[2], $posz) then
moveto(v[1], v[2], $posz)
wait(200)
break
end
end
end
while table.find(old, topitem(px, py, $posz).id) do
useitemon("blessed wooden stake", 0, ground(px, py, $posz))
wait(500)
end
end
end
-- Checking if count has changed
for Item, Count in pairs(Amount) do
local Current = itemcount(Item)
if Current > Count then
Amount[Item] = Current
increaseamountlooted(Item, Current - Count)
end
end
pausewalking(1000)
end
end
init end
auto(100)
-- Example of use
if maround(7) == 0 then
_stake(Range, waitFreshBodies)
end
now u can use it
the script has a bug, it accumulates monsters but it does not kill any
There is several problems with this script. Refilling. When to leave. Getting stuck. Etc. I have died a few times on this due to bugs. This script is not fit for release and cannot be AFK used. I would advise to not use this script at all- ever. Not being mean but it has too many issues. Very different from brads other scripts that are amazing. This one is not good.