Výmena knihy za knihu v command blocku

Technická podpora k herním serverům Minecraft a Tekkit
Message
Autor
Uživatelský avatar
ZionZangar
Příspěvky: 60
Věk: 60
Registrován: 17 říj 2015, 22:57
Reputation: 0

Výmena knihy za knihu v command blocku

#1 Příspěvekod ZionZangar » 09 lis 2015, 07:34

Server: 82.208.17.24:27582

Ahoj všichni
potřeboval bych poradit s problémem výměny itemu (podepsané knihy) v command blocku

Jde mi o tuto situaci:
hráč si vyzvedl podepsanou knihu s instrukcemi co má dělat a souřadnicemi místa kde má odevzdat tuto knihu a za ní dostane podepsanou knihu novou, z dalšími instrukcemi a souřadnicemi nového místa (cíle)

- jde mi o to jak tyto knihy vyměnit (to že mu jí pomocí command give dam vím)
- potřebuji aby výměna proběhla pouze v případě že dotyčný má knihu (např.) č. 2 za kterou dostane knihu č. 3 a tak dále
- v případě že nebude mít správnou knihu aby mu to například napsalo : Smolík, nemáš správnou knihu, asi jsi vynechal stanoviště :-)
- potřebuji to speciálně pro knihy kvůli složitějším instrukcím

Děkuji za rady a typy
P.S. ty command blocky bych bral raději než nějaký plugin a navíc bych se chtěl vyvarovat redstounu (s ním vůbec neumím)

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Výmena knihy za knihu v command blocku

#2 Příspěvekod Hanakocz » 09 lis 2015, 10:58

Přes commandy by to nejspíš šlo, ale když jsem se snažil naposledy u Plooooooooogera, tak jeho server odmítl dělat to samé, jak se chovaly commandbloky v singleplayeru. Takže.....nemusí to být jednoduché.
Nicméně pokud s těmi knihami jsou v prostoru, kde není přístup ke kovadlině, tak se to dá udělat přes LOCK tagy, nicméně ne vždy bude vanilla způsob zcela bezpečný. Problém tam je hlavně v tom, že ne všechny způsoby respektujou správné NBT tagy (ale i na to jsem teď viděl VELMI pěkný fígl!), takže kdyby se mi chtělo(když budu mít večer čas), můžu zkusit něco zkonstruovat (nejlépe rovnou na serveru, je k tomu ale potřeba /gm 1 a /op ), zvlášť proto, že je často třeba i trocha toho redstonu, který u takových věcí je dost zásadní.
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Uživatelský avatar
ZionZangar
Příspěvky: 60
Věk: 60
Registrován: 17 říj 2015, 22:57
Reputation: 0

Re: Výmena knihy za knihu v command blocku

#3 Příspěvekod ZionZangar » 09 lis 2015, 13:14

Koukám že vše je daleko složitější než si představuji :-)

budu asi potřebovat nejprve vysvětlit základní pojmy jako:
- co jsou tagy NBT
- co přesně znamená LOOTS TABLES

zmiňované forum jsem pročítal a také jsem tomu moc nerozuměl :-)
nicméně chápu li to správně bez těch vyhazovacích děr a redstone to nepůjde
myslel jsem že to půjde nějak takto: give kniha id3 pokud uz je kniha id2 - clear kniha id2

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Výmena knihy za knihu v command blocku

#4 Příspěvekod Hanakocz » 09 lis 2015, 13:39

Ok, tak nejdřív teorie pro samostudium, s tím se dá začít už teď:)
NBT je zkratka Named Binary Tag, tedy jde o parametry a jejich hodnoty. gól je v tom, že všechna data v Minecraftu jsou tak uložená, mají nějakou strukturu a všechny části (server, klient, atd) ví, jaká data očekávat a jak je číst.
Třeba tu si můžeš prohlédnout strukturu dat o hráči: http://minecraft.gamepedia.com/Player.dat_format , bloky, předměty atd jsou uloženy podobně.

Jde o to, že pokud dokážeš tato data číst a upravovat, tak můžeš v Minecraftu změnit skoro cokoliv. Tedy....zase v rámci mezí, ale dá se s tím dělat opravdu velká množina věcí, o kterých se ti ani nesnilo.

Jde o to, že i kniha má nějak omezené, jaké tagy může mít a co v nich.
http://minecraft.gamepedia.com/Player.d ... tten_Books

author: The author of the written book.

title: The title of the written book.

pages: The list of pages in the book.
Víceméně se to eliminuje na tyto tři, tudíž musíš knihu rozlišit podle autora a názvu. Další problém je, že ne všechny příkazy dokážou rozlišit víc, než základní ID.

LOOTS TABLES by zase měly ukládat věci, jako co mobové dropujou, co je v dungeon chestkách atp.

Ještě si nastuduj, co jsou scoreboards , taky je budeme potřebovat. http://minecraft.gamepedia.com/Scoreboard A pokročilou syntaxi příkazů, hlavně target selectory: http://minecraft.gamepedia.com/Commands

Teď jdu na oběd, pak do školy a večer na to můžeme kouknout.
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Uživatelský avatar
Dart
Příspěvky: 93
Registrován: 20 led 2013, 01:32
Reputation: 20

Re: Výmena knihy za knihu v command blocku

#5 Příspěvekod Dart » 09 lis 2015, 14:19

Myslim, ze by stacil udelat prikaz, ten napises do command blocku, ktery ten prikaz spusti a nasledne checkne inventar hrace, vymeni knihy atd. Je to jeden prikaz a jedna podminka v Jave, nevim proc z toho delat vedu.

Driv sem chtel taky vse resit pres command bloky, ale kdyz sem si udelal test + sem zkusil MobArenu pomoci command bloku bralo to vic CPU nez sam plugin na MobArenu, ktery neni naroubovany na miru, jako command bloky.
Obrázek

Uživatelský avatar
ZionZangar
Příspěvky: 60
Věk: 60
Registrován: 17 říj 2015, 22:57
Reputation: 0

Re: Výmena knihy za knihu v command blocku

#6 Příspěvekod ZionZangar » 10 lis 2015, 06:46

Hanako diky za materiál ke studiu :-) byl podnětný i když pro mě hodně matoucí, ale učím se ;-)

každopádně pokud to bude jen trochu možné chtěl bych zůstat u co nejednoduší varianty viz Darkuv návrh, přeci jen by místa výměn knih měla být dost mobilní a pouze dočasná.

v příkazu clear jsem vyčetl porovnání s hodnotou 0 což by mohlo být to co potřebujme k určení zda kniha je ta správná (asi by stačilo porovnat jen název knihy) pak sebrat s inventáře a vložit knihu novou. Teda zatím čistá teorie :-D

Darku můžeš svou teorii více rozvést???

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Výmena knihy za knihu v command blocku

#7 Příspěvekod Hanakocz » 10 lis 2015, 12:02

Darkova teorie je na bázi jednoduchého pluginu, který to bude mít zabudované v sobě a ty jen uděláš příkaz.
Chtěl jsem se na to včera kouknout, ale na serveru nidko nebyl a byl zamčený, tak jsem to zas vypnul a šel dál hrát tanky :D
Tak jsou rámcově 2 možnosti. Buď knihu na nějakém místě upustit na zem a zabít ji (/kill @e[type=Item ... ] , enbo ji smazat z inventáře pomocí /clear. Ta citlivost na data je ale důležitá, protože ne u všech příkazů je to stejné a je třeba to dotestovat, já si to z hlavy nepamatuju (a jak jsem říkal, na jednom serveru se mi to chovalo jinak, než na singlu)
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Uživatelský avatar
Dart
Příspěvky: 93
Registrován: 20 led 2013, 01:32
Reputation: 20

Re: Výmena knihy za knihu v command blocku

#8 Příspěvekod Dart » 11 lis 2015, 13:15

V prvni rade by chtelo se naucit cist, nejsem Dark ale Dart

Pro studium jak vytvorit plugin muzes pouzit napriklad tento tutorial: https://www.spigotmc.org/wiki/creating- ... n-eclipse/ nebo si vygoogli nejake video nevim co ti vic vyhovuje.

Az budes psat logiku toho pluginu ve tvem pripade vyuzijes tyto dokumentace:
https://hub.spigotmc.org/javadocs/bukki ... Inventory()
https://hub.spigotmc.org/javadocs/bukki ... Stack.html
a Interface "BookMeta"

Nebo nekoho slusne popros pripadne nabidni nejakou financni odmenu a jiste ti takovy plugin udelaji.
Obrázek

marty_
Příspěvky: 1191
Věk: 54
Registrován: 27 srp 2012, 10:10
Reputation: 0
Bydliště: Hranice na Morave
Kontaktovat uživatele:

Re: Výmena knihy za knihu v command blocku

#9 Příspěvekod marty_ » 11 lis 2015, 14:21

mne to taky zaujalo... darte ty bys to dokazal? samozrejme za odmenu?
Všechny své servery jsem sloučil pomocí BungeeCordu na jediny multiserver play.hero-craft.cz a jsem maximálně spokojenej :)
Jsou to tyto:
Lobby (1.11), Creativ(1.12), Skyblock(1.12), Planet(1.12), Games(1.9.4), Hranice(1.11), Classic(1.12), , Seniorcraft (1.12), a dalsi pripravuji... (aktualne RPG 1.12)

Uživatelský avatar
ZionZangar
Příspěvky: 60
Věk: 60
Registrován: 17 říj 2015, 22:57
Reputation: 0

Re: Výmena knihy za knihu v command blocku

#10 Příspěvekod ZionZangar » 12 lis 2015, 08:38

:-) Darte OK už komolit nebudu ..... ale Dark je taky hezké ;-)

tak a zpět k věci

Darte díky za materiál ke studiu .....

Každopádně toto potřebuji pro jeden event, který se možná už nebude opakovat a proto jsem hledal co nejednodušší variantu a navíc jsem chtěl aby to byl elegantní :-) nicméně obě varianty řešení jsou v tuto chvíli pro mě náročné na učení a tak to budu muset vyřešit jinak. Holt jim všechny knihy zůstanou v inventáři až do konce eventu a pak je odevzdají až na konci všechny najednou.

Hanako i tobě díky za materiál :-) studovat budu určitě ...


Zpět na „Minecraft, Tekkit“

Kdo je online

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