Tworzenie własnych komend - Wersja do druku

+- fCraft.pl (https://fcraft.pl)
+-- Dział: Rozwój (https://fcraft.pl/forumdisplay.php?fid=56)
+--- Dział: API - społeczność programuje serwer (https://fcraft.pl/forumdisplay.php?fid=62)
+---- Dział: Komendy (https://fcraft.pl/forumdisplay.php?fid=65)
+---- Wątek: Tworzenie własnych komend (/showthread.php?tid=1475)



Tworzenie własnych komend - Libter - 25.10.2017

Od v2.3.1 możliwe będzie tworzenie własnych komend za pomocą komendy /api oraz swojego serwera WWW:
  • Dodanie komendy - /api +<nazwa> <url>
  • Usunięcie komendy - /api -<nazwa>
  • Wywołanie własnej komendy - /api <nazwa> <poziomy>
  • Wywołanie cudzej komendy - /api <nick:nazwa> <poziomy>

Wykonywanie komend
Pod adres URL podany przy dodawaniu komendy wysyłane jest zapytanie POST z parametrami:
  • nick - nick gracza na serwerze,
  • uuid - unikalny identyfikator gracza,
  • args - parametry komendy oddzielone spacją,
  • server - hard lub easy,
  • key1, key2, key3 - odpowiednie klucze API gracza jeśli zostały wcześniej wygenerowane i zawarte w poziomach,
  • world - świat gracza (world, nether, end) jeśli w poziomach została zawarta flaga L,
  • x, y, z - współrzędne gracza jeśli w poziomach została zawarta flaga L.
Przykładowe komendy
Podane przykłady są oczywiście dosyć prymitywne, np. drugi nie ma żadnej obsługi błędów.
Hello world:
Kod PHP:
<?php
echo(json_encode(['text' => [
 
   '§6Przykład» §aWitaj świecie!',
 
   '§6» §aTwój nick: §e'.$_POST['nick'],
 
   '§6» §aTwój UUID: §e'.$_POST['uuid']
])); 

Dodawanie liczb:
Kod PHP:
<?php
$args 
explode(' '$_POST['args']);
$a floatval($args[0]); $b floatval($args[1]); $result $a $b;
echo(
json_encode([
 
   'text' => [
 
       "§6Przykład» §a$a + $b = $result"
 
   ]
])); 



RE: Tworzenie własnych komend - Libter - 26.10.2017

Zostały dodane parametry server i opcjonalnie key1.


RE: Tworzenie własnych komend - CzarnyRedziu - 30.11.2017

Proponuję dodawać we wszystkich przykładach następującą linię:
Kod PHP:
header('Content-Type: application/json'); 



RE: Tworzenie własnych komend - Libter - 30.11.2017

(30.11.2017, 10:08)CzarnyRedziu napisał(a): Proponuję dodawać we wszystkich przykładach następującą linię:
Kod PHP:
header('Content-Type: application/json'); 
Przykłady powinny być przede wszystkim proste, a odpowiedni nagłówek nie ma żadnego znaczenia dla serwera.


RE: Tworzenie własnych komend - CzarnyRedziu - 30.11.2017

Jednak są osoby, które wpadną na tworzenie komend na darmowych hostingach - to powinno zapobiec reklamom.


RE: Tworzenie własnych komend - Libter - 29.12.2017

Aktualizacja tematu - dodanie flagi L pozwala komendzie na odczytanie współrzędnych gracza:
[Obrazek: x10sctmp17.png]