Skocz do zawartości

XenoBot - exura sio


LSowiec

Rekomendowane odpowiedzi

Witam, dawno nie bociłem w tibii, więc nie wiem co się pozmieniało w tej kwestii i mam parę pytań.

 

Czy istnieje w xenobocie możliwość rzucania automatycznego exura sio, gdy wybrana inna postać w pobliżu ma poniżej ileś tam % hp? Wiem, że w tibia auto jest taka opcja, ale tam jak ściągam plik, to chrome mi to blokuje, że jest wirus i milion razy muszę tam to akceptować, virus total również pokazuje jakieś jedno gówno, a chciałem sobie na rl pograć z botem. W sumie w xenobocie też są jakieś 2 syfy na virustotal :/

Są jakieś lepsze boty, bezpieczniejsze i darmowe?

Najbardziej mi zależy właśnie na exura sio, automatycznym manasowaniu, automatycznym utani hurze, utamo vicie itp.

Odnośnik do komentarza
Udostępnij na innych stronach

a, zapodaj jak możesz, będę wdzięczny :D

Uzywalem tego skryptu + skryptu na follow i biegalem sobie na mc knightem i druidem na azurach na jakims otsie i dzialal perfekcyjnie :)

 

local namesList = {"Pela Poico", "Landozera", "Prospekt",}
local sioPercent = 80

while true do
    for n, c in Creature.iPlayers() do
        if (table.find(namesList, n, false) and c:HealthPercent() < sioPercent) then
            if (getSelfSpellCooldown("exura sio") == 0 and Self.Mana() >= 140) then
                Self.Say("exura sio \"" ..n)
            end
        end
    end
end

Dodaje jako dodatek skrypt na follow

 

FollowThisPerson = "Prospekt" -- 

FloorChangers = {
	Ladders   = {Up   = {1948,},
			     Down = {432, 412, 469, 369, 7478, 7182, 482, 8658}},
	
	Holes     = {Up   = {},
	             Down = {293, 294, 595, 385, 594}},
	
	RopeSpots = {Up   = {386},
	             Down = {}},
	
	Stairs    = {Up   = {1958, 7548, 7544, 1952, 1950, 1947, 7542, 1978, 8657, 1977, 1956, 1957, 1954, 5257, 16694},
	             Down = {414, 413, 437, 7731, 469, 413, 434, 469, 438, 600, 4826, 8932, 6129, 8690, 469}},
	Sewers    = {Up   = {},
	             Down = {435, }},
}

---------------------------------------------
-------------- END OF CONFIG ----------------
---------------------------------------------

local target = FollowThisPerson
local lastKnownPosition

local function goLastKnown()
	while Self.DistanceFromPosition(lastKnownPosition.x, lastKnownPosition.y, lastKnownPosition.z) > 1 do
		Self.UseItemFromGround(lastKnownPosition.x, lastKnownPosition.y, lastKnownPosition.z)
		wait(200, 700)
	end
end

local function handleUse(pos)
	goLastKnown()
	local lastZ = Self.Position().z
	while Self.Position().z == lastZ do
		Self.UseItemFromGround(pos.x, pos.y, pos.z)
		wait(400, 800)
	end
end

local function handleStep(pos)
	goLastKnown()
	local lastZ = Self.Position().z
	while Self.Position().z == lastZ do
		Self.Step(Map.GetDirectionTo(Self.Position(), pos))
		wait(400, 800)
	end
end

local function getRope()
	local ropes = {"rope", "elvenhair rope"}
	for _, rope in ipairs(ropes) do
		if Self.ItemCount(rope) > 0 then return Item.GetID(rope) end
	end
end

local function handleRope(pos)
	goLastKnown()
	local lastZ = Self.Position().z
	while Self.Position().z == lastZ do
		Self.UseItemWithGround(getRope(), pos.x, pos.y, pos.z)
		wait(400, 800)
	end
end

local floorChangeSelector = {
	Ladders = {Up=handleUse, Down=handleStep},
	Holes = {Up=handleStep, Down=handleStep},
	RopeSpots = {Up=handleRope, Down=handleRope},
	Stairs = {Up=handleStep, Down=handleStep},
	Sewers = {Up=handleUse, Down=handleUse},
}


Module("Follow-Renew", function(f)
	local c = Creature(target)
	if c and not c:isFollowed() then
		c:Follow()
	end
end)

local function checkTargetPos()
	local c = Creature(target)
	if c:Position().z == Self.Position().z then
		lastKnownPosition = c:Position()
	end
end

local function distance(pos1, pos2)
	local pos2 = pos2 or lastKnownPosition or Self.Position()
	return math.abs(pos1.x-pos2.x) + math.abs(pos1.y-pos2.y)
end

local function executeClosest(possibilities)
	local closest
	local closestDistance = 99999
	for _, data in ipairs(possibilities) do
		local dist = distance(data.pos)
		if dist < closestDistance then
			closest = data
			closestDistance = dist
		end
	end
	if closest then closest.changer(closest.pos) end
end

local function handleFloorChange()
	local c = Creature(target)
	local range = 2
	local p = Self.Position()
	local possibleChangers = {}
	for _, dir in ipairs({"Down", "Up"}) do
		for changer, data in pairs(FloorChangers) do
			for x = -range, range do
				for y = -range, range do
					if table.find(data[dir], Map.GetTopUseItem(p.x+x, p.y+y, p.z).id) then
						table.insert(possibleChangers, {changer=floorChangeSelector[changer][dir], pos={x=p.x+x, y=p.y+y, z=p.z}})
					end
				end
			end
		end
	end
	executeClosest(possibleChangers)
end

local function targetMissing()
	for name, c in Creature.iPlayers() do
		if name == target then
			return c:Position().z ~= Self.Position().z
		end
	end
	return true
end

Module("Handle floor change", function(f)
	checkTargetPos()
	if targetMissing() and lastKnownPosition then
		handleFloorChange()
	end
end)

Czasami trzeba dodac recznie id schodow itp i radze nie stackowac, bo bot sie zgubi.

 

@LSowiec

66j32w.jpg
 
Sprawdź mój tutorial na temat demonbuddy!

Nie odpowiadam na wiadomości prywatne.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający forum XenoBot   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...