IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 5 - Skript - SkAddony - SkRayfall

V předchozí lekci, Skript - SkAddony - SkQuery, jsme si ukázali nejstarší SkAddon - SkQuery.

Logo SkRayFall - Skript - Minecraft modding bez Javy

SkRayFall je SkAddon, který přidává primárně grafické vylepšení hry, jako například podporu zobrázování titlů, actionbarů, generování bossbarů, scoreboardů, particlů, tvorba hologramů a plno dalšího. Dnes si ukážeme ty, které pravděpodobně budete používat nejčastěji.

Titly

Hned ze začátku se naučíme velmi užitečnou věc - zobrazování titlů. Title je v Minecraftu text, který vám překryje obrazovku pro sdělení nějaké zprávy (zpravidla je u něj i subtitle). Dá se tedy využít pro sdělení nějaké informace hráčům na serveru, či pro propagaci nějaké služby na serveru... využití je spousta.

Title a subtitle ve Skript - Skript - Minecraft modding bez Javy

Základní kód pro odeslání titlu vypadá takto:

send player title "<zpráva do titlu>" with subtitle "<zpráva do subtitlu>" for 10 seconds #zobrazit na 10 sekund hráči, který ten příkaz odeslal

My si nyní naprogramujeme jednoduchý skript pro odeslání title všem hráčům s vlastní zprávou:

command /zaslattitle [<text>]:
  trigger:
    if arg-1 is not set: #V případě, že argument za příkazem není nastaven (aby nám to nedělalo nepořádek)
      send "&cNastav zprávu!"
    else:
      set {_alert.zprava} to colored arg-1 #Pro nastavení barevnosti hodnoty v argumentu
      send player title "%{_alert.zprava}%" with subtitle "&aTitle vytvořený podle tutoriálu itnetwork.cz" for 10 seconds #Pošleme title s argumentem a subtitlem

Výsledek by měl vypadat takto:

Title ve Skript - Skript - Minecraft modding bez Javy

Hologramy

Pomocí SkRayFall lze taky vytvořit hologramy - zprávy, které se zobrazí pomocí pojmenovaných armorstandů ve vzduchu. Na tuto funkci budeme potřebovat plugin Holographic Displays

Kód pro vytvoření hologramu:

create hologram <text hologramu> at <lokace> for <čas>

Tudíž si nyní vytvoříme takový skript, který nám vypíše předem vyplněnou hodnotu do hologramu:

command /hdcreate [<text>]:
  trigger:
    if arg-1 is not set: #V případě že argument za příkazem není nastaven
      send "&cNastav text hologramu!"
    else:
      set {_hologram.text} to colored arg-1 #Pro nastavení barevnosti hodnoty v argumentu
      create hologram "%{_hologram.text}%" at location of player for 10 seconds #Vytvoříme hologram s textem v příkazu, na místě kde se hráč nachází a na 10 sekund

Formátování hologramů ve Skriptu

Hologramy, vytvořené pomocí SkRayFall, se dají různě formátovat, a to přidáním řádků, vložení létajících itemů do hologramu atd.

Barevnost

Klasické barevné kódy, které vytvoříme pomocí znaku &<číslo 0-9 nebo písmeno a-f>, tabulku barev naleznete zde

Odřádkování

Řádky v hologramu odřádkujeme středníkem (;), příklad:

create hologram "&ePrvní řádek!;&cDruhý řádek;&b;&ačtvrtý řádek, ten předemnou byl prázdný" at location of player for 10 seconds

Vložení itemu do hologramu

Item do hologramu vložíme tímto kódem:

create hologram "ItemStack:Wool;&cNademnou levituje vlna!;&c;&b&litnetwork.cz" at location of player for 10 seconds
Hologramy v Minecraftu - Skript - Minecraft modding bez Javy

Particly (částicové efekty)

Na začátku článku jsem zmínil, že s pomocí SkRayFall lze tvořit i tzv. particly. Co jsou zač? Particly jsou 2D částicové efekty, které se zobrazí na určitém místě (např. po výbuchu, při chození či při dešti). Pomocí SkRayFall je ovšem lze vyvolat i záměrně, a to pouze kouskem kódu!

Když používáme SkRayFall, máme dostupné jen některé particly. Jejich celý list můžete naleznout zde. Pokud netušíte jak některé z nich vypadají, kompletní seznam všech particlů a jejich vzhledů naleznete na Minecraft Wiki.

Využití je rozmanité, ať už pro upoutání pozornosti, "vyjádření" emoce hráče či prostě jen pro ozdobu. Pokud se budete velmi nudit, můžete z nich zkusit vytvořit třeba i nápisy či jiné, složitější obrazce ;)

show [počet] <ID> particles at <lokace> for <hráč> [offset by (rozmístění ve směrech x, y a z)]

Počet značí kolik particlů (vyjádřených proměnnou ID) se má na místě (vyjádřeném proměnnou lokace) zobrazit pro hráče (vyjádřeného proměnnou hráč), popřípadě v jakých směrech okolo lokace (vyjádřeno proměnnou rozmístění).

Zkusme si tedy nyní vytvořit maličký skript na vylekání libovolného hráče, který po použití zobrazí particle "SMOKE" jeden blok od aktuální pozice hráče (do každého směru)

command /baf [<offline player>]:
  trigger:
    if arg-1 is not set: #V případě že argument za příkazem není nastaven
      send "&cSpecifikuj hráče!"
    else:
      if arg-1 is online: #Kontrola jestli hráč, zadaný v argumentu za příkazem, je online
        show 420 "SMOKE_LARGE" particles at location of arg-1 for arg-1 offset by 1, 1, 1 #Zobrazí 120 kouřových particlů v lokaci hráče zvoleného v argumentu vždy 1 blok od hráče do všech směrů. Nezapomínejte uvést ID particlu do uvozovek!
        send "&0&lBAF!!!" to arg-1
        send "&aVykonáno!"
      else:
        send "&cTento hráč není online!"

Výsledek by měl po použití příkazu vypadat nějak takto:

Particle efekty ve Skript - Skript - Minecraft modding bez Javy

Tablist

Pomalu se blížíme ke konci dnešního tutoriálu a jako poslední se budeme bavit o tablistech. Co je to tablist?

Seznam hráčů

Tablist je to, co se vám většinou zobrazí po stisknutí klávesy Tab. Můžete zde vidět všechny online hráče na serveru. Možná už jste si někdy všimli, že tam občas bývá i něco navíc, a přesně to se nyní naučíme.

Header (hlavička) a footer (patička) tablistu se zobrazují na těchto místech:

Skript - Minecraft modding bez Javy

Tudíž řekněme, že budeme chtít hráče v hlavičce pozdravit a v patičce ukázat aktuální počet hráčů na serveru. Pro tento případ si vytvoříme malý skript, který každou sekundu zacyklí všechny online hráče a nastaví jim hlavičku a patičku tablistu:

every 20 ticks: #Každou sekundu
  loop all players: #Zacyklíme všechny hráče na serveru
    set tab header to "&aAhoj %loop-player%&a!" and footer to "&6 Online hráči: &c%amount of players%" for loop-player #Nastavíme obsah tablistu pro zacyklené hráče

Výsledek:

Skript - Minecraft modding bez Javy

Upozornění

Toto pravděpodobně nebude fungovat jestliže máte nainstalovaný plugin TitleManager, nebo jiný plugin, který umí upravovat tablisty, a v něm zapnutou funkci pro vlastní tablisty!

Se SkRayFall se dá ovšem dělat i spousta dalších věcí a jejich popis a ukázání by vystačilo ještě na hodně dlouho.

Kompletní dokumentaci ke SkRayFall můžete nalézt zde. Kódy z dnešní lekce naleznete po kliknutí sem, SkRayFall zase stáhnete zde.


 

Předchozí článek
Skript - SkAddony - SkQuery
Všechny články v sekci
Skript - Minecraft modding bez Javy
Článek pro vás napsal 205nd
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Autor se věnuje primárně Skriptu, z menší části umí i HTML a naprosté základy PHP.
Aktivity