Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

XenoBot 100% afk skrypt tutorial


Petoss

Rekomendowane odpowiedzi

Opublikowano

Pomoże ktoś "XenoScript Error:

Script: [RP] SvarMines kopy.lua

Line #: 71

Chunk: ...?SHREKU?1.GOD?DOCUME?1?XenoBot?Scripts??_RP_SV?1.LUA

Error: attempt to call a boolean value

This is an error with user-input and should not be reported as a bug with XenoBot."?

Jak mamy Ci pomóc, skoro nie podałeś skryptu? Z fusów nie wróżymy.

8LTfBGw.jpg

  • Odpowiedzi 77
  • Dodano
  • Ostatniej odpowiedzi
  • 9 miesięcy temu...
  • 4 tygodnie później...
Nowicjusz
Opublikowano

Siema, możecie mi pomóc poprawić skrypt tak aby mi wyciągał amonicję z bp w depo w zależności od tego ile mam cap? (chodzi o to aby wyciągnał tyle spearów ile może + zapas jakieś 30 oz.) obecnie używam czegoś takiego ale to wyciąga tyle ile mu zadam na początku a to czasem może być zbyt dużo i walker się stopuje. Ewentualnie poprawić to tak aby skrypt wyciągał speary do określonej ilości

 

 

 

        elseif (labelName == "GetAmmo") then
    Self.ReachDepot()
    wait(200, 300)
    Container.GetByName("Locker"):OpenChildren({3502, true})            -- Opens depot chest
        wait(500,600)
    Container.GetByName("Locker"):Close()                               -- Closes locker
        wait(500,600)
        Self.WithdrawItems(AmmoDP, {AmmoID, 0, MaxAmmo-Self.ItemCount(AmmoID)}) -- 3 means from third backpack in DP, Ammo is ammunition ID, 0 means to first backpack you hold, last "number" is an amount to withdraw.
        wait(200,400)
   
  

  

  • 4 tygodnie później...
Opublikowano

Siema, możecie mi pomóc poprawić skrypt tak aby mi wyciągał amonicję z bp w depo w zależności od tego ile mam cap? (chodzi o to aby wyciągnał tyle spearów ile może + zapas jakieś 30 oz.) obecnie używam czegoś takiego ale to wyciąga tyle ile mu zadam na początku a to czasem może być zbyt dużo i walker się stopuje. Ewentualnie poprawić to tak aby skrypt wyciągał speary do określonej ilości

Moim skromnym zdaniem najprościej będzie żeby wrzucił wszystkie pozostałe speary do depo a potem wyciągnął chcianą ilość. Sam jeszcze nie siedze w tym skryptowaniu tak żeby Ci podać kod ale logicznie myśląc tak powinno być najprościej i może najsprawniej do czasu znalezienia rozwiązania.

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Jest ktos w stanie pomoc mi to ogarnac, niby robie to dobrze np dodajac mana potiony do wymagań czy ilość przedmiotów po jakiej wydropieniu również ma wracac, ale cały czas coś knoce. Niestety nie mam podstaw w skryptowaniu.

  • 1 miesiąc temu...
Opublikowano

Te funkcje nie dzialaja... bot przeskakuje je i idzie od razu do np. "HUNT".

Czyli reset BP nie dziala, sprawdzanie potow, otwieranie depo, bank, refill, nie dzialaja, czemu?

Opublikowano

Te funkcje nie dzialaja... bot przeskakuje je i idzie od razu do np. "HUNT".

Czyli reset BP nie dziala, sprawdzanie potow, otwieranie depo, bank, refill, nie dzialaja, czemu?

Działają. Tylko trzeba odpowiednio poustawiać wszystko ;)

Może na dniach "odświeżę" ten poradnik.

Opublikowano

Otwieranie BP mniej wiecej zrobilem po swojemu. Co zajelo troche czasu. Poradnik jest slaby dla poczatkujacych, moze byc dobry dla obeznanych.

Sprawdzanie potow nie dziala, jak "probuje" dzialac i mam np. 200 potow, a max ma byc 250 to i tak przeskakuje do labela "ToHunt".

A powinien przeskoczyc do "bank" isc wyplacic i z banku przejsc do label "buypotions" kupic potiony wtedy "checkstuff" i dopiero "tohunt"

 

Czy jesli wkleje to co porobilem pomoze ktos zmienic?

Opublikowano

przecież wszystko działa elegancko, poradnik jest trudny do ogarnięcia ponieważ jest napisany chaotycznie.

 

Podaj kod tego full afka, jak bot sprawdza manasy musi mieć otwarty backpack z supplami

Opublikowano

Witam, potrzebowałbym prostego skrypta na usegrounditem lub coś w ten deseń. Chodzi konkretnie o wagoniki w kazo, chciałbym ich użyć by szybciej dostawał się bot na expowisko po refillu. Próbowałem sam to napisać, ale nie działało. Z góry dziękuję.

Opublikowano

Cześć, przydałby mi się bardzo krótki skrypt na trenowanie m lvl, na przykład za pomocą czaru utana vid tudzież exevo gran mas frigo. 

Dzięki, pozdrawiam 

  • 2 miesiące temu...
Opublikowano

 

 

Witam chciał bym wam pokazać łatwy i prostu sposób na zrobienie skryptu 100% afk w xenobocie bez większego

wysiłku.

 

Pierw zacznijmy od poradnika jak krok po kroku zrobic samemu skrypta 100% afk:

 

nasz skrypt polecam pisać w Notepad++ bądź notatniku i zapisać go jako .lua

 

Przy robieniu każdego skrypta nie zapomnijmy dodać na początku: 

registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")

-- NASZ SKRYPT

end

Krótki Spis treści:

1.Zmienne - dzięki nim nie będziesz musiał zmieniać w całym skrypcie np. jakiego chcesz pota kupić.
2.Otwieranie i zamykanie bp po przyjściu do dp (resetowanie bp.)
3.Deponowanie itemów w dp - bot bedzie nam chował dany item w dp.
4.Bank - Bot będzie nam wpłacał i wypłacał kasy np. na poty, runki lub speary.
5.Kupowanie itemów - bot będzie nam kupował dany przedmiot w sklepie
6.Hunt - tutaj ustawiamy od ilu capa lub potków bot ma wracac do dp

Zmienne:

local GoldBP = 'Backpack'    --- Nazwa bp jakiego bot ma resetować.
local LeaveCap = 50    --- Od ilu capa nasz bot ma wracać do dp.
local LeaveManas = 10   --- od ilu potków nasz bot ma wracać do dp.
local MaxManas = 40   --- Ile potków ma kupić nasz bot zanim pójdzie expić.

Resetowanie Bp:

Container.GetByName(GoldBP):Close()         -- zamkniecie danego bp
Container.GetFirst():OpenChildren(GoldBP)   -- otworzenie danego bp
---------------------------------------------------------------------------

if labelName == 'ResetBPs' then
Container.GetByName(GoldBP):Close()
wait(500, 600)
Container.GetFirst():OpenChildren(GoldBP)
end

Deponowanie itemów:

Self.DepositItems({268, 0}, {266, 1}) :   268- tutaj wpisujemy id itemka którego chcemy żeby bot nam zostawiał w dp      
1 - tu ustawiamy do ktorego slota w dp ma nam bot chować itemki (np. wsadzamy 3bp do dp jesli bedziemy mieli ustawione 1 schowa nam do pierwszego bp jesli bedziemy mieli ustawione 2 to do drugiego bp.
-----------------------------------------------------------------------------------


if labelName == 'DepositItems' then
Self.ReachDepot()
wait(500, 600)
Self.DepositItems({268, 0}, {266, 1})
end

Bank:


if labelName == 'Bank' then
Self.SayToNpc({'hi', 'deposit all', 'yes', 'withdraw' .. math.ceil((50*(MaxManas-Self.ItemCount(268)))/1000)*1000, 'balance'})
end
 

 

 

Kupowanie potionów:

 

 

      
Self.ShopBuyItem()   -- jaki item ma kuować nasz bot w tym przypadku jest to smp (268)         
----------------------------------------------------------------------

if labelName == 'Buy' then
Self.SayToNpc({'hi', 'trade'})
Self.ShopBuyItem(268, (MaxManas-Self.ItemCount(268)))
end
Sprawdzanie swojej ilości potionów przed pójsciem na exp:
elseif (labelName == "CheckStuff") thenWalker.ConditionalGoto((Self.ItemCount(266) < MaxHealth), "Bank", "ToHunt")

Sprawdzanie potionów i capa na expie:

 

 

if labelName == 'CheckSupplies' then
Walker.ConditionalGoto(Self.Cap() < LeaveCap or Self.ItemCount(268) < LeaveManas, 'Refill', 'ContinueHunt')
end

 

waypointy do naszego skrypta powinny wyglądać tak:

 

ResetBPs

waypointy do skrzynki w dp

DepositItems

waypointy do banku

Bank

waypointy do sklepu

Buy

CheckStuff

ToHunt

waypointy na exp

ContinueHunt

waypointy po expie

CheckSupplies

Refill

waypointy do dp

 

Gratulacje zrobiłeś skrypt 100% afk

 

 

----------------------------------------------------------------------------------------------------------------------------------------

 

A tutaj poradnik dla osób które nie radzą sobie z poradnikiem wyżej ;p

 

 

Niżej załączam już gotowego skrypta czekającego na wasze ustawienia z dokładnym wytłumaczeniem co gdzie macie wpisać itp.

 

Dobra więc zacznijmy od zrobienia naszych waypointów (drogi jaką ma wykonywać nasz bot)

 

Jako pierwszy wykonujemy label o nazwie Resupply a nastepnie label o nazwie ResetBP teraz stajemy w dp do którego bot ma nam chodzic i robimy waypointy do naszej skrzynki w dp ;p i tworzymy label o nazwie Deposit poczym robimy waypointy do banku i tworzymy label o nazwie Bank teraz musimy zrobic waypointy do sklepu z mana i heal potionami (magic shop) i stworzyć label o nazwie Potions gdy to zrobimy pora utworzyć label o nazwie CheckStuff (który będzie odpowiedzialny za sprawdzanie naszej ilosci potionow i capa przed pójsciem na exp) teraz tworzymy label o nazwie ToHunt i robimy waypointy na naszego expa, gdy dojdziemy na expa robimy label o nazwie Hunt i tworzymy waypointy po naszym expie, i tworzymy label o nazwie Checker (sprawdza nasza ilosc potow i capa) a nastepnie tworzymy label onazwie Leave (droga powrotna z expa do depo)

 

pewnie zastanawiacie sie jak ustawić by bot zostawiał nam lota w dp w danym bp ;p

Nic trudnego, wystarczy otworzyć skrypta którego załącze w załączniku i odnaleść:

 

 

elseif (labelName == "Deposit") then

        Walker.Stop()

        Self.ReachDepot()

Self.DepositItems({10196, 1}, {11480, 1}, {5878, 1}, {11472, 1}, {3358, 1}, {3056, 1}, {3430, 1}, {3054, 1}, {3299, 1}, {3410, 1}, {3354, 1}, {3286, 1}, {9689, 1}, {11479, 1}, {3376, 1}, {3264, 1}, {3378, 1}, {11453, 1}, {3426, 1}, {3273, 1}, {3336, 1}, {3274, 1}, {3412, 1}, {3268, 1}, {3355, 1}, {3277, 1}, {3552, 1}, {3577, 1}) 

 

 

Self.DepositItems({10196, 1}

 

10196- tutaj wpisujemy id itemka którego chcemy żeby bot nam zostawiał w dp

1 - tu ustawiamy do ktorego slota w dp ma nam bot chować itemki (np. wsadzamy 3bp do dp jesli bedziemy mieli ustawione 1 schowa nam do pierwszego bp jesli bedziemy mieli ustawione 2 to do drugiego bp)

 

teraz musicie ustawić jakie poty ma wam bot kupować, więc znowu musicie odszukać w skrypcie :

 

elseif (labelName == "Potions") then

Walker.Stop()

if (Self.ItemCount(266) < MaxHealth) then

Self.SayToNpc({"hi", "flasks", "yes", "yes", "yes", "yes", "yes", "yes", "trade"}, 65)

wait(2000)

if (Self.ItemCount(266) < MaxHealth) then

BuyItems(266, MaxHealth)

wait(500)

end

wait(200, 500)

end

Walker.Start()

 

elseif (labelName == "CheckStuff") then

Walker.ConditionalGoto((Self.ItemCount(266) < MaxHealth), "Bank", "ToHunt")

 

i w miejsca zaznaczone czerwonym kolorem wpisać id waszego potiona, a najlepiej wyszukać wszystkie 266 i zmienić na id swojego potiona

 

teraz wyszukujemy :

 

 

 

elseif (labelName == "Bank") then

local withdrawHealths = math.max(MaxHealth - Self.ItemCount(266), 0)*45

w miejscie zaznaczone na błękitno wpisujemy cene naszego pota by bot wiedział ile ma wypłacać

 

I o to tak zrobiliście swojego pierwszego skrypta 100% afk ;p

 

SKRYPTA NALEŻY WKLEIC DO FOLDERU SCRIPTS KTORY ZNAJDUJE SIE W FOLDERZE XENOBOTA A ON POWINNIEN SIE ZNAJDOWAĆ W DOKUMENTACH ;P

 

odrazu dalem wam waypointy na zamek w ab zebyscie zobaczyli jak to ma wygladać (plik xbst należy wkleić do katalogu o nazwie setings który znajduje w kataogu xenobota)

 

jesli pomogłem prosze o ++++++

  • 2 miesiące temu...
Opublikowano
 

 

elseif (labelName == "CheckStuff") then

Walker.ConditionalGoto((Self.ItemCount(266) > MaxHealth), "ToHunt")

 

 

 

elseif (labelName == "Shop") then

   Walker.ConditionalGoto((Self.ItemCount(266) < MinHealth), "Pots")

  • 7 miesięcy temu...
Opublikowano

odświeżam.

 

Mógłby mi ktos dodać w moim skrypcie zeby oprocz health potionow kupowal mi mana potion a dokladnie zeby bylo maxpotion 800 a minpotion 200

 

--------------
--------------
----Scrypt--
------By:-
------Petos---
----------------    
 
--------- BP SETUP ----------
-- [bP 1] - głowny bp
-- [bP 2] - bp na itemki
-- [bP 3] - gold (bp mozesz sobie dowolnie ustawic w lootingu)
 
--------- DP SETUP ----------
-- [DP 1] - bp na lota
 
------ REFILL SETTINGS ------
local MinHealth = 40 --- Od ilu heal potów ma wracać z Hunta.
local MaxHealth = 400  --- Z iloma potami ma zaczynac hunt.
------- HUNT SETTINGS --------
local GoldBP = 8860 --- id bp do którego ma chować gp (mozesz ustawic poprostu w lootingu numer bp ;p)
local MinCap = 50-- ilość capa od której ma wracać do dp.
------- EXTRA SETTINGS -------
local HideEquipment = true --- czy bot ma minimalizować eq.
local LogoutStamina = true --- czy bot ma pójść do dp i sie wylogować jak bedzie miał 16 staminy.
 
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
 
Targeting.Start()
Looter.Start()
 
registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")
 
    print([[
    Scrypt
By:
Petos]])
    wait(5000)
 
function onWalkerSelectLabel(labelName)
if (labelName == "Checker") then
Walker.ConditionalGoto((Self.Cap() < MinCap) or (Self.ItemCount(266) <= MinHealth) or ((LogoutStamina) and (Self.Stamina() < 840)), "Leave", "Hunt")
 
elseif (labelName == "Potions") then
Walker.Stop()
if (Self.ItemCount(239) < MaxHealth) then
Self.SayToNpc({"hi", "flasks", "yes", "yes", "yes", "yes", "yes", "yes", "trade"}, 65)
wait(2000)
if (Self.ItemCount(239) < MaxHealth) then
BuyItems(239, MaxHealth)
wait(500)
end
wait(200, 500)
end
Walker.Start()
 
elseif (labelName == "CheckStuff") then
Walker.ConditionalGoto((Self.ItemCount(266) < MaxHealth), "Bank", "ToHunt")
 
elseif (labelName == "Bank") then
local withdrawHealths = math.max(MaxHealth - Self.ItemCount(239), 0)*45
local totalmoneyneeded = (withdrawHealths - Self.ItemCount(285)*5)
local MATHCEIL = (totalmoneyneeded)
Walker.Stop()
Self.SayToNpc({"hi", "deposit all", "yes"}, 65)
if (totalmoneyneeded > 0) then
Self.SayToNpc({"withdraw " .. MATHCEIL, "yes", "balance"}, 65)   
end  
wait(2000)
Walker.Start()
 
elseif (labelName == "Deposit") then
        Walker.Stop()
        Self.ReachDepot()
Self.DepositItems({3369, 2}, {10282, 2}, {3392, 2}, {11472, 2}, {3358, 2}, {3056, 2}, {3430, 2}, {3054, 2}, {3299, 2}, {3436, 2}, {3079, 2})
 
wait(1000)
Self.WithdrawItems(1, {266, 0,(MaxHealth-Self.ItemCount(266))})
if (LogoutStamina) and (Self.Stamina() < 960) then
Walker.Stop()
else
Walker.Start()
end
 
elseif (labelName == "ResetBP") then
Walker.Stop()
Container.Close(GoldBP)
wait(1000)
Container.GetFirst():OpenChildren(GoldBP)
wait(1000)
Container.GetByName(GoldBP):Minimize()
if (HideEquipment) then
Client.HideEquipment()
wait(1000)
end
Walker.Start()
end
end
 
----------------------- Functions ----------------------
function BuyItems(item, count) -- item = item id, count = how many you want to buy up to
wait(900, 1200)
if (Self.ItemCount(item) < count) then
Self.ShopBuyItem(item, (count-Self.ItemCount(item)))
wait(200, 500)
end
end
 
Self.ReachDepot = function (tries)
local tries = tries or 3
Walker.Stop()
local DepotIDs = {3497, 3498, 3499, 3500}
local DepotPos = {}
for i = 1, #DepotIDs do
local dps = Map.GetUseItems(DepotIDs)
for j = 1, #dps do
table.insert(DepotPos, dps[j])
end
end
local function gotoDepot()
local pos = Self.Position()
print("Depots found: " .. tostring(#DepotPos))
for i = 1, #DepotPos do
location = DepotPos
Self.UseItemFromGround(location.x, location.y, location.z)
wait(1000, 2000)
if Self.DistanceFromPosition(pos.x, pos.y, pos.z) >= 1 then
wait(5000, 6000)
if Self.DistanceFromPosition(location.x, location.y, location.z) == 1 then
Walker.Start()
return true
end
else
print("Something is blocking the path. Trying next depot.")
end
end
return false
end
 
repeat
reachedDP = gotoDepot()
if reachedDP then
return true
end
tries = tries - 1
sleep(100)
print("Attempt to reach depot was unsuccessfull. " .. tries .. " tries left.")
until tries <= 0
 
return false
end
 
Map.GetUseItems = function (id)
    if type(id) == "string" then
        id = Item.GetID(id)
    end
    local pos = Self.Position()
local store = {}
    for x = -7, 7 do
        for y = -5, 5 do
            if Map.GetTopUseItem(pos.x + x, pos.y + y, pos.z).id == id then
                itemPos = {x = pos.x + x, y = pos.y + y, z = pos.z}
table.insert(store, itemPos)
            end
        end
    end
    return store
end
Opublikowano

odświeżam.

Mógłby mi ktos dodać w moim skrypcie zeby oprocz health potionow kupowal mi mana potion a dokladnie zeby bylo maxpotion 800 a minpotion 200

 

 

--------------
--------------
----Scrypt--
------By:-
------Petos---
----------------    
 
--------- BP SETUP ----------
-- [bP 1] - głowny bp
-- [bP 2] - bp na itemki
-- [bP 3] - gold (bp mozesz sobie dowolnie ustawic w lootingu)
 
--------- DP SETUP ----------
-- [DP 1] - bp na lota
 
------ REFILL SETTINGS ------
local MinHealth = 40 --- Od ilu heal potów ma wracać z Hunta.
local MaxHealth = 400  --- Z iloma potami ma zaczynac hunt.
------- HUNT SETTINGS --------
local GoldBP = 8860 --- id bp do którego ma chować gp (mozesz ustawic poprostu w lootingu numer bp ;p)
local MinCap = 50-- ilość capa od której ma wracać do dp.
------- EXTRA SETTINGS -------
local HideEquipment = true --- czy bot ma minimalizować eq.
local LogoutStamina = true --- czy bot ma pójść do dp i sie wylogować jak bedzie miał 16 staminy.
 
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
 
Targeting.Start()
Looter.Start()
 
registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")
 
    print([[
    Scrypt
By:
Petos]])
    wait(5000)
 
function onWalkerSelectLabel(labelName)
if (labelName == "Checker") then
Walker.ConditionalGoto((Self.Cap() < MinCap) or (Self.ItemCount(266) <= MinHealth) or ((LogoutStamina) and (Self.Stamina() < 840)), "Leave", "Hunt")
 
elseif (labelName == "Potions") then
Walker.Stop()
if (Self.ItemCount(239) < MaxHealth) then
Self.SayToNpc({"hi", "flasks", "yes", "yes", "yes", "yes", "yes", "yes", "trade"}, 65)
wait(2000)
if (Self.ItemCount(239) < MaxHealth) then
BuyItems(239, MaxHealth)
wait(500)
end
wait(200, 500)
end
Walker.Start()
 
elseif (labelName == "CheckStuff") then
Walker.ConditionalGoto((Self.ItemCount(266) < MaxHealth), "Bank", "ToHunt")
 
elseif (labelName == "Bank") then
local withdrawHealths = math.max(MaxHealth - Self.ItemCount(239), 0)*45
local totalmoneyneeded = (withdrawHealths - Self.ItemCount(285)*5)
local MATHCEIL = (totalmoneyneeded)
Walker.Stop()
Self.SayToNpc({"hi", "deposit all", "yes"}, 65)
if (totalmoneyneeded > 0) then
Self.SayToNpc({"withdraw " .. MATHCEIL, "yes", "balance"}, 65)   
end  
wait(2000)
Walker.Start()
 
elseif (labelName == "Deposit") then
        Walker.Stop()
        Self.ReachDepot()
Self.DepositItems({3369, 2}, {10282, 2}, {3392, 2}, {11472, 2}, {3358, 2}, {3056, 2}, {3430, 2}, {3054, 2}, {3299, 2}, {3436, 2}, {3079, 2})
 
wait(1000)
Self.WithdrawItems(1, {266, 0,(MaxHealth-Self.ItemCount(266))})
if (LogoutStamina) and (Self.Stamina() < 960) then
Walker.Stop()
else
Walker.Start()
end
 
elseif (labelName == "ResetBP") then
Walker.Stop()
Container.Close(GoldBP)
wait(1000)
Container.GetFirst():OpenChildren(GoldBP)
wait(1000)
Container.GetByName(GoldBP):Minimize()
if (HideEquipment) then
Client.HideEquipment()
wait(1000)
end
Walker.Start()
end
end
 
----------------------- Functions ----------------------
function BuyItems(item, count) -- item = item id, count = how many you want to buy up to
wait(900, 1200)
if (Self.ItemCount(item) < count) then
Self.ShopBuyItem(item, (count-Self.ItemCount(item)))
wait(200, 500)
end
end
 
Self.ReachDepot = function (tries)
local tries = tries or 3
Walker.Stop()
local DepotIDs = {3497, 3498, 3499, 3500}
local DepotPos = {}
for i = 1, #DepotIDs do
local dps = Map.GetUseItems(DepotIDs)
for j = 1, #dps do
table.insert(DepotPos, dps[j])
end
end
local function gotoDepot()
local pos = Self.Position()
print("Depots found: " .. tostring(#DepotPos))
for i = 1, #DepotPos do
location = DepotPos
Self.UseItemFromGround(location.x, location.y, location.z)
wait(1000, 2000)
if Self.DistanceFromPosition(pos.x, pos.y, pos.z) >= 1 then
wait(5000, 6000)
if Self.DistanceFromPosition(location.x, location.y, location.z) == 1 then
Walker.Start()
return true
end
else
print("Something is blocking the path. Trying next depot.")
end
end
return false
end
 
repeat
reachedDP = gotoDepot()
if reachedDP then
return true
end
tries = tries - 1
sleep(100)
print("Attempt to reach depot was unsuccessfull. " .. tries .. " tries left.")
until tries <= 0
 
return false
end
 
Map.GetUseItems = function (id)
    if type(id) == "string" then
        id = Item.GetID(id)
    end
    local pos = Self.Position()
local store = {}
    for x = -7, 7 do
        for y = -5, 5 do
            if Map.GetTopUseItem(pos.x + x, pos.y + y, pos.z).id == id then
                itemPos = {x = pos.x + x, y = pos.y + y, z = pos.z}
table.insert(store, itemPos)
            end
        end
    end
    return store
end

Po pierwsze - kody dajemy w BBCode [.code].

Po drugie - chyba jednak sam będziesz umiał, skoro sam analogicznie wymyśliłeś nazwę, resztę będzie tak samo łatwo.

dokladnie zeby bylo maxpotion 800 a minpotion 200

Nikomu się nie będzie chciało tego napisać za Ciebie, ja Ci tylko powiem, że musisz coś dopisać w labelach: Checker, Potions i CheckStuff i oczywiście dodać dwa locale.

Napisz sam, jak nie będzie działało to pokaż, powiem Ci gdzie jest błąd.

 

  • 2 tygodnie później...
Opublikowano

--------------

--------------

----Scrypt--

------By:-

------Petos---

----------------

 

--------- BP SETUP ----------

-- [bP 1] - głowny bp

-- [bP 2] - bp na itemki

-- [bP 3] - gold (bp mozesz sobie dowolnie ustawic w lootingu)

 

--------- DP SETUP ----------

-- [DP 1] - bp na lota

 

------ REFILL SETTINGS ------

local MinHealth = 30 --- Od ilu heal potów ma wracać z Hunta.

local MaxHealth = 200 --- Z iloma potami ma zaczynac hunt.

local MinSd = 100

local MaxSd = 1000

------- HUNT SETTINGS --------

local GoldBP = 2866 --- id bp do którego ma chować gp (mozesz ustawic poprostu w lootingu numer bp ;p)

------- EXTRA SETTINGS -------

local HideEquipment = true --- czy bot ma minimalizować eq.

local LogoutStamina = true --- czy bot ma pójść do dp i sie wylogować jak bedzie miał 16 staminy.

 

--------------------------------------------------------------------

--------------------------------------------------------------------

--------------------------------------------------------------------

--------------------------------------------------------------------

--------------------------------------------------------------------

 

Targeting.Start()

Looter.Start()

 

registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")

 

print([[

Scrypt

By:

Petos]])

wait(5000)

 

function onWalkerSelectLabel(labelName)

if (labelName == "Checker") then

Walker.ConditionalGoto((Self.ItemCount(3155) < MinSd) or (Self.ItemCount(23373) <= MinHealth) or ((LogoutStamina) and (Self.Stamina() < 840)), "Leave", "Hunt")

 

elseif (labelName == "Potions") then

Walker.Stop()

if (Self.ItemCount(23373) < MaxHealth) then

Self.SayToNpc({"hi", "flasks", "yes", "yes", "yes", "yes", "yes", "yes", "trade"}, 65)

wait(2000)

if (Self.ItemCount(23373) < MaxHealth) then

BuyItems(23373, MaxHealth)

wait(500)

if (Self.ItemCount(3155) < MaxSd) then

BuyItems(3155, MaxSd)

wait(500)

end

wait(200, 500)

end

Walker.Start()

 

elseif (labelName == "CheckStuff") then

Walker.ConditionalGoto((Self.ItemCount(23373) < MaxHealth), "ToHunt")

end

wait(2000)

Walker.Start()

 

elseif (labelName == "Deposit") then

Walker.Stop()

Self.ReachDepot()

Self.DepositItems({3554, 2}, {11480, 1}, {5878, 1}, {11472, 1}, {3358, 1}, {3056, 1}, {3430, 1}, {3054, 1}, {3299, 1}, {3410, 1}, {3354, 1}, {3286, 1}, {9689, 1}, {11479, 1}, {3376, 1}, {3264, 1}, {3378, 1}, {11453, 1}, {3426, 1}, {3273, 1}, {3336, 1}, {3274, 1}, {3412, 1}, {3268, 1}, {3355, 1}, {3277, 1}, {3552, 1}, {3577, 1})

wait(1000)

Self.WithdrawItems(1, {23373, 0,(MaxHealth-Self.ItemCount(23373))})

if (LogoutStamina) and (Self.Stamina() < 960) then

Walker.Stop()

else

Walker.Start()

end

 

elseif (labelName == "ResetBP") then

Walker.Stop()

Container.Close(GoldBP)

wait(1000)

Container.GetFirst():OpenChildren(GoldBP)

wait(1000)

Container.GetByName(GoldBP):Minimize()

if (HideEquipment) then

Client.HideEquipment()

wait(1000)

end

Walker.Start()

end

end

 

----------------------- Functions ----------------------

function BuyItems(item, count) -- item = item id, count = how many you want to buy up to

wait(900, 1200)

if (Self.ItemCount(item) < count) then

Self.ShopBuyItem(item, (count-Self.ItemCount(item)))

wait(200, 500)

end

end

 

Self.ReachDepot = function (tries)

local tries = tries or 3

Walker.Stop()

local DepotIDs = {3497, 3498, 3499, 3500}

local DepotPos = {}

for i = 1, #DepotIDs do

local dps = Map.GetUseItems(DepotIDs)

for j = 1, #dps do

table.insert(DepotPos, dps[j])

end

end

local function gotoDepot()

local pos = Self.Position()

print("Depots found: " .. tostring(#DepotPos))

for i = 1, #DepotPos do

location = DepotPos

Self.UseItemFromGround(location.x, location.y, location.z)

wait(1000, 2000)

if Self.DistanceFromPosition(pos.x, pos.y, pos.z) >= 1 then

wait(5000, 6000)

if Self.DistanceFromPosition(location.x, location.y, location.z) == 1 then

Walker.Start()

return true

end

else

print("Something is blocking the path. Trying next depot.")

end

end

return false

end

 

repeat

reachedDP = gotoDepot()

if reachedDP then

return true

end

tries = tries - 1

sleep(100)

print("Attempt to reach depot was unsuccessfull. " .. tries .. " tries left.")

until tries <= 0

 

return false

end

 

Map.GetUseItems = function (id)

if type(id) == "string" then

id = Item.GetID(id)

end

local pos = Self.Position()

local store = {}

for x = -7, 7 do

for y = -5, 5 do

if Map.GetTopUseItem(pos.x + x, pos.y + y, pos.z).id == id then

itemPos = {x = pos.x + x, y = pos.y + y, z = pos.z}

table.insert(store, itemPos)

end

end

end

return store

end

 

 

 

Zrobilem takie cos w sumie wiele sie nie rozni tylko sd dodalem i nie chce mi sie wczytac co tu jest zle?

Kocham mpcforum.pl!!!

18706.png

Opublikowano

KOD NIE W [.code]

..

...

...

Zrobilem takie cos w sumie wiele sie nie rozni tylko sd dodalem i nie chce mi sie wczytac co tu jest zle?

W labelu CheckStuff zapomniałeś dopisać, żeby sprawdzało ilość SD. Jakieś błędy w server logu? U mnie normalnie się odpalił - xBRwskY.png

 

Opublikowano

Ok, wczytalo sie. Cos mi depozyter nie dziala ale chu* tam wywalilem to, macie jakis skrypt zeby otwieral wszystkie bp? Bo mi nie widzi przy sprawdzaniu sd i manasow i wraca do depo.

Kocham mpcforum.pl!!!

18706.png

  • 1 rok później...
Opublikowano
Dnia 3.12.2013 o 22:47, Petoss napisał:

Witam chciał bym wam pokazać łatwy i prostu sposób na zrobienie skryptu 100% afk w xenobocie bez większego

wysiłku.

 

Pierw zacznijmy od poradnika jak krok po kroku zrobic samemu skrypta 100% afk:

 

nasz skrypt polecam pisać w Notepad++ bądź notatniku i zapisać go jako .lua

 

Przy robieniu każdego skrypta nie zapomnijmy dodać na początku:


registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")

-- NASZ SKRYPT

end

Krótki Spis treści:


1.Zmienne - dzięki nim nie będziesz musiał zmieniać w całym skrypcie np. jakiego chcesz pota kupić.
2.Otwieranie i zamykanie bp po przyjściu do dp (resetowanie bp.)
3.Deponowanie itemów w dp - bot bedzie nam chował dany item w dp.
4.Bank - Bot będzie nam wpłacał i wypłacał kasy np. na poty, runki lub speary.
5.Kupowanie itemów - bot będzie nam kupował dany przedmiot w sklepie
6.Hunt - tutaj ustawiamy od ilu capa lub potków bot ma wracac do dp

Zmienne:


local GoldBP = 'Backpack'    --- Nazwa bp jakiego bot ma resetować.
local LeaveCap = 50    --- Od ilu capa nasz bot ma wracać do dp.
local LeaveManas = 10   --- od ilu potków nasz bot ma wracać do dp.
local MaxManas = 40   --- Ile potków ma kupić nasz bot zanim pójdzie expić.

Resetowanie Bp:


Container.GetByName(GoldBP):Close()         -- zamkniecie danego bp
Container.GetFirst():OpenChildren(GoldBP)   -- otworzenie danego bp
---------------------------------------------------------------------------

if labelName == 'ResetBPs' then
Container.GetByName(GoldBP):Close()
wait(500, 600)
Container.GetFirst():OpenChildren(GoldBP)
end

Deponowanie itemów:


Self.DepositItems({268, 0}, {266, 1}) :   268- tutaj wpisujemy id itemka którego chcemy żeby bot nam zostawiał w dp      
1 - tu ustawiamy do ktorego slota w dp ma nam bot chować itemki (np. wsadzamy 3bp do dp jesli bedziemy mieli ustawione 1 schowa nam do pierwszego bp jesli bedziemy mieli ustawione 2 to do drugiego bp.
-----------------------------------------------------------------------------------


if labelName == 'DepositItems' then
Self.ReachDepot()
wait(500, 600)
Self.DepositItems({268, 0}, {266, 1})
end

Bank:


if labelName == 'Bank' then
Self.SayToNpc({'hi', 'deposit all', 'yes', 'withdraw' .. math.ceil((50*(MaxManas-Self.ItemCount(268)))/1000)*1000, 'balance'})
end

 

 

 

Kupowanie potionów:

 

 

 


Self.ShopBuyItem()   -- jaki item ma kuować nasz bot w tym przypadku jest to smp (268)         
----------------------------------------------------------------------

if labelName == 'Buy' then
Self.SayToNpc({'hi', 'trade'})
Self.ShopBuyItem(268, (MaxManas-Self.ItemCount(268)))
end

Sprawdzanie swojej ilości potionów przed pójsciem na exp:


elseif (labelName == "CheckStuff") thenWalker.ConditionalGoto((Self.ItemCount(266) < MaxHealth), "Bank", "ToHunt")

Sprawdzanie potionów i capa na expie:

 

 


if labelName == 'CheckSupplies' then
Walker.ConditionalGoto(Self.Cap() < LeaveCap or Self.ItemCount(268) < LeaveManas, 'Refill', 'ContinueHunt')
end

 

waypointy do naszego skrypta powinny wyglądać tak:

 

ResetBPs

waypointy do skrzynki w dp

DepositItems

waypointy do banku

Bank

waypointy do sklepu

Buy

CheckStuff

ToHunt

waypointy na exp

ContinueHunt

waypointy po expie

CheckSupplies

Refill

waypointy do dp

 

Gratulacje zrobiłeś skrypt 100% afk

 

 

----------------------------------------------------------------------------------------------------------------------------------------

 

A tutaj poradnik dla osób które nie radzą sobie z poradnikiem wyżej ;p

 

 

Niżej załączam już gotowego skrypta czekającego na wasze ustawienia z dokładnym wytłumaczeniem co gdzie macie wpisać itp.

 

Dobra więc zacznijmy od zrobienia naszych waypointów (drogi jaką ma wykonywać nasz bot)

 

Jako pierwszy wykonujemy label o nazwie Resupply a nastepnie label o nazwie ResetBP teraz stajemy w dp do którego bot ma nam chodzic i robimy waypointy do naszej skrzynki w dp ;p i tworzymy label o nazwie Deposit poczym robimy waypointy do banku i tworzymy label o nazwie Bank teraz musimy zrobic waypointy do sklepu z mana i heal potionami (magic shop) i stworzyć label o nazwie Potions gdy to zrobimy pora utworzyć label o nazwie CheckStuff (który będzie odpowiedzialny za sprawdzanie naszej ilosci potionow i capa przed pójsciem na exp) teraz tworzymy label o nazwie ToHunt i robimy waypointy na naszego expa, gdy dojdziemy na expa robimy label o nazwie Hunt i tworzymy waypointy po naszym expie, i tworzymy label o nazwie Checker (sprawdza nasza ilosc potow i capa) a nastepnie tworzymy label onazwie Leave (droga powrotna z expa do depo)

 

pewnie zastanawiacie sie jak ustawić by bot zostawiał nam lota w dp w danym bp ;p

Nic trudnego, wystarczy otworzyć skrypta którego załącze w załączniku i odnaleść:

 

 

elseif (labelName == "Deposit") then
Walker.Stop()
Self.ReachDepot()
Self.DepositItems({10196, 1}, {11480, 1}, {5878, 1}, {11472, 1}, {3358, 1}, {3056, 1}, {3430, 1}, {3054, 1}, {3299, 1}, {3410, 1}, {3354, 1}, {3286, 1}, {9689, 1}, {11479, 1}, {3376, 1}, {3264, 1}, {3378, 1}, {11453, 1}, {3426, 1}, {3273, 1}, {3336, 1}, {3274, 1}, {3412, 1}, {3268, 1}, {3355, 1}, {3277, 1}, {3552, 1}, {3577, 1})
 
 
Self.DepositItems({10196, 1}
 
10196- tutaj wpisujemy id itemka którego chcemy żeby bot nam zostawiał w dp
1 - tu ustawiamy do ktorego slota w dp ma nam bot chować itemki (np. wsadzamy 3bp do dp jesli bedziemy mieli ustawione 1 schowa nam do pierwszego bp jesli bedziemy mieli ustawione 2 to do drugiego bp)
 
teraz musicie ustawić jakie poty ma wam bot kupować, więc znowu musicie odszukać w skrypcie :
 
elseif (labelName == "Potions") then
Walker.Stop()
if (Self.ItemCount(266) < MaxHealth) then
Self.SayToNpc({"hi", "flasks", "yes", "yes", "yes", "yes", "yes", "yes", "trade"}, 65)
wait(2000)
if (Self.ItemCount(266) < MaxHealth) then
BuyItems(266, MaxHealth)
wait(500)
end
wait(200, 500)
end
Walker.Start()
 
elseif (labelName == "CheckStuff") then
Walker.ConditionalGoto((Self.ItemCount(266) < MaxHealth), "Bank", "ToHunt")

 

i w miejsca zaznaczone czerwonym kolorem wpisać id waszego potiona, a najlepiej wyszukać wszystkie 266 i zmienić na id swojego potiona

 

teraz wyszukujemy :

 

 

 
elseif (labelName == "Bank") then
local withdrawHealths = math.max(MaxHealth - Self.ItemCount(266), 0)*45
w miejscie zaznaczone na błękitno wpisujemy cene naszego pota by bot wiedział ile ma wypłacać
 
I o to tak zrobiliście swojego pierwszego skrypta 100% afk ;p
 
SKRYPTA NALEŻY WKLEIC DO FOLDERU SCRIPTS KTORY ZNAJDUJE SIE W FOLDERZE XENOBOTA A ON POWINNIEN SIE ZNAJDOWAĆ W DOKUMENTACH ;P
 
odrazu dalem wam waypointy na zamek w ab zebyscie zobaczyli jak to ma wygladać (plik xbst należy wkleić do katalogu o nazwie setings który znajduje w kataogu xenobota)
 
jesli pomogłem prosze o ++++++

ek20 Zamek w ab-2_1.rar

Fajnie Fajnie wszystko okej chodzi tylko w tym skrypcie mi nie pisze do npc ani bankowego and potow Help

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...