-
Ilość zawartości
273 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
1
Treść opublikowana przez Skiuel
-
Na to nie wpadłem dzięki wielkie
-
można zamknąć poddaje się
-
Jaką flagę?
-
Czemu masz osobne pliki dla każdego gracza? Co tak właściwie chcesz osiągnąć?
-
Mamy tłumacza na sali? Jeżeli dobrze Ciebie rozumiem to można to zrobić w taki sposób: command /kits: trigger: open chest with 1 rows named "&6&lKity" to player wait 1 tick if player has permission "kits.vip": format slot 0 of player with 1 blue wool named "&5&lKIT VIP" with lore "&7Odblokowane: &aTAK" to be unstealable else: format slot 0 of player with 1 blue wool named "&5&lKIT VIP" with lore "&7Odblokowane: &4NIE" to be unstealable zrobiłem to format slotem bo i tak te gui nic nie robi tylko wyświetla informację
-
Chyba powinno działać on portal enter: console command "komenda"
-
Chce wczytać plik z source samego pluginu. Tzn umieścić plik z wiadomościami w samym projekcie pluginu.
-
Możesz to zrobić tak: on command "ban": add 1 to {bany::%player%}
-
ale we wszystkich tych poradnikach oni robili configi w folderze serwerowym a z tym nie miałem żadnego problemu. Ja próbuje odczytać plik który jest w samym pluginie
-
Chodziło mu pewnie o unbreakable (z ang. niezniszczalny) czyli o tag nbt, który sprawia, że item jest niezniszczalny
-
po give player item daj stop o tak: chance of %: give player <item> stop nastepnie po wszystkich chance daj graczowi inny item. Np masz jak masz do rozdania 3 itemy. To 2 wstaw do chance a 1 po za nimi. Dzięki temu trikowi jak się żaden nie wylosuje to wylosuje się tamten.
-
no ale jak będą 2 języki to lepiej by to wyglądało w jakimś folderze. Totalnie się pogubiłem o co chodzi z tą scieżką. private static File file = new File(Messages.class.getResource("/messages/messages_en.yml").getFile()); Gdzie tak własciwie jestem jako messages.class.getResource. Totalnie się pogubiłem jaką tam sieżkę dać
-
Tak powinien końcowo wyglądać kod: on chat: message contains ".pl" or ".com" or ".eu" or ".net" or ".csrv" or ".us" or ".ench" or ".de" or ".serv.nu" or ".topcraft" or ".hiplay" or "https://" or "http://": cancel event loop all players: if loop-player has permission "anty.reklama": send "" send "&8============================" to loop-player send "&7->&c&l Prawdopodobnie" to loop-player send "&7->&c&l Wykryto Reklame!" to loop-player send "&7->&c Gracz&4 %player%&c." to loop-player send "&7->&c Napisal:&4 %message%&c." to loop-player send "&8============================" to loop-player send "" on command "msg" or "r": if full command contains ".pl" or ".com" or ".eu" or ".net" or ".csrv" or ".us" or ".ench" or ".de" or ".serv.nu" or ".topcraft" or ".hiplay" or "https://" or "http://": cancel event loop all players: if loop-player has permission "anty.reklama": send "" send "&8============================" to loop-player send "&7->&c&l Prawdopodobnie" to loop-player send "&7->&c&l Wykryto Reklame!" to loop-player send "&7->&c Gracz&4 %player%&c." to loop-player send "&7->&c Napisal:&4 %full command%&c." to loop-player send "&8============================" to loop-player send ""
-
nie jest to wina dodatku Na pewno skopiowałeś i wkleiłeś cały kod ? Nie edytowałeś nic ?
-
nie masz : albo coś źle wytabowałeś bo skript pomyślał że full command contains to event
-
on command "msg" or "r": if full command contains ".pl" or ".com" or ".eu" or ".net" or ".csrv" or ".us" or ".ench" or ".de" or ".serv.nu" or ".topcraft" or ".hiplay" or "https://" or "http://": cancel event loop all players: if loop-player has permission "anty.reklama": send "" send "&8============================" to loop-player send "&7->&c&l Prawdopodobnie" to loop-player send "&7->&c&l Wykryto Reklame!" to loop-player send "&7->&c Gracz&4 %player%&c." to loop-player send "&7->&c Napisal:&4 %full command%&c." to loop-player send "&8============================" to loop-player send "" Nie zamieniłem message na full command ten kod powinien już być git
-
Generalnie zamysł miałem taki, aby stworzyć klasę a w niej funkcję która będzie zwracać wiadomość jakiej aktualnie potrzebuje. Tak wygląda klasa Main: package me.skiuel.easycase; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener { public void onEnable() { String loadMsg = Messages.msg("pluginLoadMessage"); System.out.println(loadMsg); } } Tak wygląda klasa Messages: package me.skiuel.easycase; import java.io.File; import org.bukkit.configuration.file.YamlConfiguration; public class Messages { private static File file = new File(Messages.class.getResource("/messages/messages_en.yml").getFile()); private static YamlConfiguration yaml = YamlConfiguration.loadConfiguration(file); public static String msg(String lookingMessage) { System.out.println(file.getName()); System.out.println(yaml.getName()); if (yaml.get(lookingMessage) == null) { throw new Error("[ERROR] easyCase: That message doesn't exist! " + lookingMessage); } return yaml.getString(lookingMessage); } } Tak wygląda sam plik messages_en.yml: pluginLoadMessage: easyCase was loaded succesful! To wysypuje konsola: java.lang.Error: [ERROR] easyCase: That message doesn't exist! pluginLoadMessage at me.skiuel.easycase.Messages.msg(Messages.java:15) ~[?:?] at me.skiuel.easycase.Main.onEnable(Main.java:8) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Paper-594] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) ~[patched_1.16.5.jar:git-Paper-594] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.5.jar:git-Paper-594] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:501) ~[patched_1.16.5.jar:git-Paper-594] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:415) ~[patched_1.16.5.jar:git-Paper-594] at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:591) ~[patched_1.16.5.jar:git-Paper-594] at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:280) ~[patched_1.16.5.jar:git-Paper-594] at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1065) ~[patched_1.16.5.jar:git-Paper-594] at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:289) ~[patched_1.16.5.jar:git-Paper-594] at java.lang.Thread.run(Unknown Source) [?:1.8.0_281] A tak wygląda drzewko plików:
-
Powinno działać: on command "msg" or "r": if "%full command%" contains ".pl" or ".com" or ".eu" or ".net" or ".csrv" or ".us" or ".ench" or ".de" or ".serv.nu" or ".topcraft" or ".hiplay" or "https://" or "http://": cancel event loop all players: if loop-player has permission "anty.reklama": send "" send "&8============================" to loop-player send "&7->&c&l Prawdopodobnie" to loop-player send "&7->&c&l Wykryto Reklame!" to loop-player send "&7->&c Gracz&4 %player%&c." to loop-player send "&7->&c Napisal:&4 %message%&c." to loop-player send "&8============================" to loop-player send "" Nie wiem czemu widzę ten kod jakby nie było taba po loop all players ale jak się wkleja to wszystko jest git.
-
No ale dalej z jakiegoś powodu yaml jest pusty
-
Aby argument był opcjonalny musisz go dać w nawiasy kwadratowe czyli: command /yt [<text>]: W przeciwnym razie skript nie przepuści dalej bo nie ma podanego wymaganego argumentu. Wiadomość która się wtedy pojawi możesz edytować poprzez usage. np: command /yt <text>: usage: Poprawne użycie: /yt nazwa Więc wystarczy że zamienisz <text> na [<text>] i będzie działać.
-
chodziło mu o operatory logiczne. > ten znak oznacza większe np: if 2 > 1 Ten warunek zwróci true(prawdę) < ten oznacza mniejsze np: if 2 < 1 Ten warunek zwróci false(fałsz) bo dwa nie jest mniejsze od jeden == ten oznacza równe np: if 1 == 1 zwróci true (prawdę) możesz też używać ich w połączeniu np: <= mniejsze lub równe
-
Czy da się jakoś pobrać z itemu durability do zmiennej ?
Skiuel odpowiedział(a) na Nunekexe1 pytanie w Pytania i problemy
próbowałeś? item's durability czyli np: player's tool durability -
Być może mój problem jest kretyński ale nie wiem jak go naprawić stąd moje pytanie. private static File file = new File(Messages.class.getResource("/messages/messages_en.yml").getFile()); private static YamlConfiguration yaml = YamlConfiguration.loadConfiguration(file); Jak wyświetlam sobie file.getName() to normalnie otrzymuje messages_en.yml. Natomiast yaml tak jakby nie istnieje. Gdy próbuje wyświetlić w konsoli yaml.getName() to nic nie wyświetla. A jak próbuje wyświetlić jakąś zmienną to zatrzymuje się na ifie który sprawdza czy zmienna istnieje. Ten if wygląda tak: if (yaml.get(lookingMessage) == null) { throw new Error("[ERROR] " + lookingMessage + "doesn't exist in that file!"); } Od razu spytam też czy takie wyświetlanie błędu jest poprawne? W js robiłem to zawsze za pomocą "throw new Error", spróbowałem i okazało się że również tutaj zadziałało. Pozdrawiam i przepraszam jeżeli te pytanie jest szczególnie głupie ale jestem bardzo bardzo nowy w pisaniu pluginów.
-
on place: send "&cTen blok zostanie usunięty za 12 sekund!" wait 12 Second set event-block to air
-
on place: wait 12 Second set event-block to Nie wiem czemu ale ucina tam air Powinno być to air
