Obsługa nowego serwera
Czym różnią się serwery, gdzie to trafia w module i jak sprawdzić, że działa.
Czym się różnią
Każdy serwer ma własnego klienta. Podstawa, OTClientV8, jest ta sama, ale często różnią się:
- bot: który i jak nazywa trasy, etykiety i zapasy;
- funkcje serwera: taski, blessy, redemption, autoloot;
- gdzie klient trzyma pliki i jakie moduły już ma.
Moduł sam odczytuje podstawy: nick, poziom, doświadczenie, pozycję, udźwig, staminę i skulle w zasięgu wzroku. Resztę daje adapter.
Napisz adapter
Adapter to tabela Lua z funkcjami. Moduł pyta po kolei każdy adapter i bierze pierwszą odpowiedź.
table.insert(Voidwatch.adapters, {
server = function() return 'myserver' end,
route = function() return CaveBot and CaveBot.getCurrentProfile() end,
routeOn = function() return CaveBot and CaveBot.isOn() end,
supplies = function()
return { { name = 'great mana potion', have = itemAmount(238), want = 800 } }
end,
action = function(name)
if name == 'toggle_cavebot' then
return function(args) if args.on then CaveBot.setOn() else CaveBot.setOff() end; return true end
end
end,
})
Pole, na które nie odpowie żaden adapter, nie trafia do danych, a panel je ukrywa.
Sprawdź
- Sparuj klienta na serwerze i otwórz Na żywo: widać poziom, pozycję i udźwig.
- Widać też pola z adaptera: trasę, zapasy, taski.
- Wyślij pauzę i wznowienie z panelu; dziennik komend pokazuje gotowe.
- Otwórz widok na żywo i patrz, jak zrzut odświeża się co kilka sekund.
Gdy serwer przejdzie te testy i gracze go używają, na liście serwerów pojawia się jako obsługiwany. Podziel się adapterem na naszym Discordzie, żeby dostali go inni gracze z serwera.