Coming Soon ™

Zaawansowane formatowanie w komendach
#1
Od v2.3.2 możliwe będzie wysyłanie przez komendy tworzone przez graczy etykiet pokazywanych po najechaniu na tekst, klikalnych linków, sugestii na chacie, a nawet klikalnych komend. W tym celu został utworzony nowy język bazujący na składni XML - dokumentacja poniżej.

Tagi:
  • label: <l>etykieta</l> - ustawia etykietę wyświetlaną po najechaniu dla elementu w którym się znajduje.
  • command: <cmd v="/pomoc">tekst</cmd> - klikalna komenda z niezmienną etykietą "» /komenda".
  • suggest: <sgt v="/mod cuboid na &lt;budowla&gt;">tekst</sgt> - klikalna sugestia wstawiana na chat.
  • url: <url v="https://fcraft.pl">tekst</url> - klikalny link.
  • new line: <n/> - tworzy nową linię.
Atrybuty:
  • value: v - wymieniony wcześniej atrybut dla tagów <cmd>, <sgt> oraz <url>.
  • style: s - określa formatowanie elementu, może zostać użyty dla dowolnego tagu.
Style:
  • format - formatowanie elementu składające się z koloru (black, navy, green, teal, maroon, purple, gold, gray; white, blue, lime, aqua, red, pink, yellow, silver) oraz efektów (bold, italic, underline, strikethrough, obfuscate).
  • before - tekst dodawany na początku elementu.
  • after - tekst dodawany na końcu elementu.

Przykład - style wbudowane:
Kod:
{
 "style": {
   "p": {
     "format": "gold",
     "after": "»"
   },
   "cmd": {
     "format": "yellow"
   },
   "sgt": {
     "format": "yellow"
   },
   "url": {
     "format": "aqua"
   }
 }
}
Jak można zauważyć za pomocą stylu można definiować nowe tagi - w tym przypadku jest to prefix: p. <p>Serwer</p> zmieni się w na złoty napis "Serwer»", a <p/> zmieni się w sam złoty znak "»".

Przykład - kod komendy:
Kod PHP:
echo(json_encode([
 
   'content' => str_replace('%nick%'$_POST['nick'], file_get_contents('clickable.xml')),
 
   'style' => [
 
       'sgt' => [
 
           'format' => 'pink'
 
       ]
 
   ]
])); 
clickable.xml:
Kod:
<p>API</p> <f s="bold">Test interaktywnego tekstu:</f><n/>
<p/> Formatowanie: <f s="red">czerwony tekst</f>, <f s="lime underline italic">limonkowy tekst</f>, <f s="gold obfuscate">magia!</f><n/><n/>
<p/> Komendy: <cmd v="/msg %nick% Właśnie uruchomiłeś komendę /msg %nick%">kliknij mnie</cmd><n/>
<p/> Sugestie: <sgt v="/mod proszę o cuboida na &lt;nazwa budowli&gt;">kliknij mnie
   <l>Kliknij, aby poprosić o <f s="underline">cuboida</f>!</l></sgt><n/>
<p/> Linki: <url v="https://fcraft.pl/">kliknij mnie
   <l>Kliknij, aby otworzyć <f s="gold bold">forum</f>!</l></url>
Rezultat:
[Obrazek: 5Olmjkr.png]
Na potrzeby formatowania pojawił się tag <f> o podobnym działaniu jak <span> z HTMLa - mógłby nazywać się inaczej. Dodatkowo w zwracanym JSONie został zadeklarowany własny styl nadający sugestiom kolor różowy zamiast wbudowanego żółtego.


Odpowiedz
#2
Nic z tego nie rozumiem ale fajnie :)


Odpowiedz
#3
(31.10.2017, 14:49)PolskiPro napisał(a): Nic z tego nie rozumiem ale fajnie :)
Temat jest przeznaczony dla programistów ze społeczności serwera, którzy dotychczas nie mogli tu wykorzystać swoich umiejętności. Zrozumiesz jak będą efekty w postaci znacznie szybszego rozwoju serwera (przykład: https://fcraft.pl/temat-ranking-fcraft-pl-1516) ;)


Odpowiedz
  




Użytkownicy przeglądający ten wątek:
1 gości