JavaScript - DeluxeMenus (Requirement)

Technická podpora k herním serverům Minecraft a Tekkit
Message
Autor
Andoz_Cz
Příspěvky: 39
Věk: 21
Registrován: 17 zář 2016, 16:16
Reputation: 0
Kontaktovat uživatele:

JavaScript - DeluxeMenus (Requirement)

#1 Příspěvekod Andoz_Cz » 03 úno 2019, 09:29

IP adresu mám v podpisu dole :)
IP: 82.208.17.30:27863

Dobrý den,
nastavuji v poslední době dost DeluxeMenus a napadlo mě, že by určitě šlo s použitím JavaScriptu vytvořit Adventní kalendář nebo něco na ten způsob, bohužel se mi na googlu nepovedlo nalézt žádné návody jak tento JS vytvořit (byly tam JS pouze pro weby a to teď nepotřebuji - byly to odpočty do určitého dne nebo to ukazovalo jaké to bude datum za 15 dní atp.).

Vzorový requirement ze stránky pluginu na spigotu je zde:

Kód: Vybrat vše

       view_requirement:
          requirements:
            anythinghere:
              type: javascript
              expression: '!"%player_world%".equalsIgnoreCase("world_nether");'


Chtěl bych tedy že by bylo třeba první okénko přístupné dne 1.12. a další den už by přístupné nebylo a bylo by přístupné až okénko toho (následujícího) dne. Přičemž kdyby si hráč okénko vybral tak by se vozík s truhou změnil na vozík bez truhly. A kdyby bylo okénko v ten den nedostupné tak by tam byla barriéra, ale itemy si dokáži později nastavit i sám s tím mám zkušenosti, protože jsem u nás na serveru nastavoval doly menu přístupné po zakoupení.

Děkuji předem všem za rady.

EDIT: Ještě bych Vás chtěl rovnou poprosit, zda by bylo možné vytvořit JavaScript, který by vytořil TXT soubor, kam by napsal [DATE 03.02.2019] Hráč %player_name% právě souhlasil s našimi podmínkami. Děkuji.
Naposledy upravil(a) Andoz_Cz dne 03 úno 2019, 13:42, celkem upraveno 1 x.

Uživatelský avatar
nejento
Příspěvky: 9815
Registrován: 28 lis 2011, 14:09
Reputation: 55
Kontaktovat uživatele:

Re: JavaScript - DeluxeMenus (Requirement)

#2 Příspěvekod nejento » 03 úno 2019, 13:20

IP adresu prosím i přes dostupnost v podpisu, piš vždy do svého prvního příspěvku. Pravidla jsou tak nastavená, děkuji.

Vzhledem k dokumentaci, view_requirement pouze kontroluje, zda-li je daná hodnota true nebo false a tedy Javascriptem samotným nemůžeš nic moc v tomto případě nastavit.
Pokud ti jde ovšem potom jen o otevírání podle daného data, tak by ti měla postačit tahle podmínka:
  1. ((new Date()).getMonth() == 11 && (new Date()).getDate() == 0)

Tedy, že se zkontroluje, jestli je 1. prosince (čísluje se od nuly), pokud je, výsledkem je true
Obrázek

Obrázek Přidejte se ke komunitě zákazníků na FakaHeda.eu Discord! Poznejte nové lidi nebo vyřešte svůj technický problém živě: http://discord.fakaheda.eu/

Andoz_Cz
Příspěvky: 39
Věk: 21
Registrován: 17 zář 2016, 16:16
Reputation: 0
Kontaktovat uživatele:

Re: JavaScript - DeluxeMenus (Requirement)

#3 Příspěvekod Andoz_Cz » 03 úno 2019, 13:40

Zdravím,
mám to takto:

Kód: Vybrat vše

        view_requirement:
           requirements:
             anythinghere:
               type: javascript
               expression: '((new Date()).getMonth() == 1 && (new Date()).getDate() == 2);'
             anythinghere2:
               type: has permission
               permission: menu.advent.1

ale stejně mi to nejde, netuším co s tím.

Konzole mi navíc vypisuje toto:
Spoiler: zobrazit

Kód: Vybrat vše

[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: type
[12:41:48 WARN]: [DeluxeMenus] No type set for requirement: amount


Děkuji za rady.

EDIT: Lze taktéž vytvořit command, když hráč menu zavře pomocí Esc? Případně jak?

Uživatelský avatar
nejento
Příspěvky: 9815
Registrován: 28 lis 2011, 14:09
Reputation: 55
Kontaktovat uživatele:

Re: JavaScript - DeluxeMenus (Requirement)

#4 Příspěvekod nejento » 03 úno 2019, 18:20

Je tam nějaká další chyba při spouštění pluginu? Protože z téhle chyby toho nejde zrovna moc poznat. Zároveň může jít taky o chybu, která souvisí například s kompletně jinou položkou menu.
Pošli případně latest.log při startu serveru a celý soubor s nastavením toho menu.

Jinak, pokud ten plugin umí vyvolat příkaz při zavření menu, tak proč by to nemělo jít nastavit? Otázkou je, jestli to ten plugin sám podporuje a to je potřeba zjistit z dokumentace toho pluginu.

A ještě jak tak koukám, tak ten javascript, který lze použít nemusí být vůbec plnohodnotný, ale vyloženě jen omezený na funkce, které lze jinak aplikovat integrovanými typy podmínek toho pluginu. Poté jakékoliv vytváření objeku Date v Javascriptu nemusí být pro plugin vůbec relevantní a nemusí ani fungovat.
Obrázek

Obrázek Přidejte se ke komunitě zákazníků na FakaHeda.eu Discord! Poznejte nové lidi nebo vyřešte svůj technický problém živě: http://discord.fakaheda.eu/


Zpět na „Minecraft, Tekkit“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 74 hostů