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ź

  1. Sparuj klienta na serwerze i otwórz Na żywo: widać poziom, pozycję i udźwig.
  2. Widać też pola z adaptera: trasę, zapasy, taski.
  3. Wyślij pauzę i wznowienie z panelu; dziennik komend pokazuje gotowe.
  4. 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.