[Neobot][Tutorial] Podstawy botowania- depositer i potion refiller.
Witam.
Dzisiaj tłumaczyłem jednemu forumowiczowi jak ustawić neobota, by deponował kasę, wrzucał itemy do dp, uzupełniał potki na podstawowym poziomie botowania i wyszedł mi z tego dość ładny poradnik, więc postanowiłem, że go tu wrzucę. Może się komuś przyda. ; )
Poradnik składa się z 3 części (bo akurat takie 3 pytania owy forumowicz mi zadał):
1. Depositer.
2. Wrzucanie itemów do bpka w dp.
3. Powrót do dp tylko jeśli postać ma mniej niż X capa, skończyły się potiony itd oraz kupowanie potionów:
- a) Wyjaśnienie zasady działania.
- b) Sprawdzanie, czy postać ma odpowiednią ilość capa i potionów.
- c) Depositer z wypłacaniem kasy na potiony.
- d) Kupowanie potionów.
No to zaczynamy:
1. Depositer:
Jak już masz waypointa w banku, to dodajesz Action, w którym jest:
Cytuj:
say('hi') wait(1500,2250)
npcsay('deposit all') wait(300,650)
npcsay('yes') wait(300,650)
npcsay('balance') wait(300,550)
Wpłaci kase i zapyta o stan konta, po czym przejdzie do kolejnego waypointa.
Bardzo proste, a prościej chyba nie da się tego wyjaśnić.
2. Wrzucanie wszystkiego w dp do jednego bp:
Stawiasz waypointa blisko skrzynki dp, następnie dodajesz Action, w którym:
Cytuj:
wait(600,900)
reachgrounditem('depot')
wait(300,500)
reachgrounditem('depot')
wait(300,500)
openitem('depot')
wait(600, 1200)
openitem('Red Backpack')
wait(3000,3500)
moveitems('Wand of Inferno', 'Red Backpack')
wait(1000,2000)
moveitems('Dragon Shield', 'Red Backpack')
'Wand of Inferno'- tutaj nazwa itema, może być mace, iron ore, knight legs, cokolwiek co chcesz, by bot wrzucił do tego plecaka.
'Red Backpack'- tutaj wpisz nazwę backpacka który będzie w dp, którego ma otworzyć i wrzucać wszystkie itemy, które chcesz.
Ten backpack ma być w skrzynce dp(tej brązowej), a nie w tej drugiej. ;d
Tego 'moveitems' może być duużo więcej, a nie 2 tak jak ja napisałem. Linijek moveitems wpisujesz tyle, ile itemów chcesz, aby bot wrzucił.
@ŚWIATY OPTIONAL PVP
Jeśli mamy zaznaczone w cavebocie 'przechodzenie przez graczy' na tak (światy optional pvp), to warto dodać przed wrzucaniem itemków do dp, by przez nich nie przechodził i po wrzucaniu itemów do dp, by znów przez nich przechodził. W przeciwnym wypadku skrypt próbuje wejść w gracza, który aktualnie stoi przy dp.
Action w tym przypadku wyglądał będzie tak:
Cytuj:
setsetting('Cavebot/Pathfinding/WalkThroughPlayers', 'no')
wait(600,900)
reachgrounditem('depot')
wait(300,500)
reachgrounditem('depot')
wait(300,500)
openitem('depot')
wait(600, 1200)
openitem('Red Backpack')
wait(3000,3500)
moveitems('Wand of Inferno', 'Red Backpack')
wait(1000,2000)
moveitems('Dragon Shield', 'Red Backpack')
setsetting('Cavebot/Pathfinding/WalkThroughPlayers', 'yes')
Podziękowania dla Dziki Pallek :) za zauważenie tego. ; p
3. Powrót do dp tylko jeśli postać ma mniej niż X capa, skończyły się potiony itd oraz kupowanie potionów.
a) Wyjaśnienie zasady działania:
Musisz zrobić pętle, by bot wykonywał takie zadanie:
Start:
-Stand/Node/Walk (expienie)
-Stand/Node/Walk (expienie)
-Action (sprawdza czy ma odpowiednią ilość capa i potionów. Jeśli ma wystarczająca ilość capa i potionów wraca do linijki ' start: ', jeśli ma za mało idzie do linijki ' dp: ')
dp:
-Stand/Node/Walk (droga do banku)
-Action (wpłacanie kasy, wypłacanie na potiony)
-Stand/Node/Walk (droga do dp)
-Action (wrzucanie itemów do dp)
-Stand/Node/Walk (droga do sklepu magicznego
-Action (kupowanie potków)
-Stand/Node/Walk (droga spowrotem na exp)
Jest to tylko wyjaśnienie dla Ciebie jak ma to mniej więcej wyglądać.
A teraz przełożenie tego na język bota:
Pierwszy waypoint w skrypcie (rozpoczynający expienie) oznacz (label) jako ' start: '.
Żeby oznaczyć kliknij na niego 2 razy i wpisz tam ' start '. Kliknij w napis 'Stand/Walk/Node' itd. a nie w te cyfry.;d
Następnie dodaj waypointy, w których bot sobie biega po expowisku.
b) Sprawdzanie, czy postać ma odpowiednią ilość capa i potionów:
Kiedy dotrzesz waypointami do miejsca, w którym zaczynałeś je robić, dodaj Action, w którym wpisz sprawdzanie ile ma capa i potionów. Będzie to wyglądało tak:
Cytuj:
if $cap < 150 or itemcount('health potion') < 50 then gotolabel('dp') else gotolabel('start') end
Wyjaśnienie ważnych rzeczy:
<- ten znaczek na pewno znasz z matematyki i wiesz co on oznacza.
150- tutaj wpisujesz ilość capa, poniżej której bot na iść do dp.
'health potion'- zamiast tego może być jakikolwiek inny potion, wpisujesz zależnie od tego jakich poitonów używasz.
50- tutaj liczba potionów, poniżej której bot ma iść do dp.
dp- znacznik (label)
start- znacznik (label)
else--
Bot rozumie tą linijkę w taki sposób:
Cytuj:
Jeśli postać ma poniżej 150 capa lub poniżej 50 health potionów, to muszę przejść do linijki 'dp'. W innym wypadku- muszę przejść do linijki 'start'.
c) Depositer z wypłacaniem kasy na potiony:
Pod linijką Action sprawdzająca ile Twoja postać ma capa lub potionów, dodaj pod nią waypointy do banku. Przy waypoincie w banku dodaj Action, dzięki któremu Twoja postać wpłaci kasę i wypłaci odpowiednią ilość kasy, by kupić potiony, ten Action wyglądał będzie tak:
Cytuj:
say('hi') wait(1500,2250)
npcsay('deposit all') wait(300,650)
npcsay('yes') wait(300,650)
npcsay('withdraw '..(100-itemcount('health potion'))*45+1) wait(300,650)
npcsay('yes') wait(300,650)
100- ilość potionów, którą bot ma kupić.
health potion- nazwa potiona.
45- cena potiona.
Następnie dodaj waypointy prowadzące do dp i wykorzystaj to co napisałem w punkcie 2.
d) Kupowanie potionów:
Potem dodaj waypointy do sklepu magicznego i dodaj Action, dzięki któremu Twój bot sprzeda puste viale i kupi potiony. Będzie on wyglądał tak:
Cytuj:
npcsay('hi') wait(1000)
npcsay('vial') wait(1000)
npcsay('yes') wait(1000)
npcsay('trade') wait(1000,2000)
buyitemsupto('health potion', 100, itemcount('100')) wait(1000)
npcsay('bye')
health potion- nazwa potionów, jakie ma kupić.
100- liczba potionów. W tym przypadku bot kupi tyle potionów, aby łącznie z tymi co masz w bpku, było ich 100.
No i na koniec dodajesz waypointy do expowiska i obserwujesz jak postać sama sobie biega bez żadnej pomocy z Twojej strony. ; )
Koniec poradnika, miłego botowania.;d
Jak mi się kiedyś będzie nudziło, to może zrobię poradnik, w którym wyjaśnię skrypty bardziej zaawansowane i łatwiejsze w edytowaniu, ale na razie nie chce mi się tłumaczyć łopatologicznie co to są zmienne.;d
W razie niejasności lub błędów znalezionych w tekście- pisać. ;d