Ranking
Popularna zawartość
Treść z najwyższą reputacją w 04/03/21 uwzględniając wszystkie działy
-
Witajcie! Każdy na pewno wie, że da się zarządzać plikami YAML za pomocą WildSkript. Jednak wielu ludzi nie wie, że można to zrobić w SkQuery. Poradnik ten, będzie krótki, podzielę go na 2 części: Zapisywanie i usuwanie Odczytywanie Zaczynamy! ZAPISYWANIE I USUWANIE: 1) Pojedyncza wartość: Kod wygląda tak: set yaml value "nazwa" from file "plik.yml" to "wartosc" Sk sam stworzy dany plik, jednak stanie się to w folderze scripts. A co jeśli chcemy zrobić to w "plugins" ? Musimy dodać do ścieżki pliku "../" spowoduje to "przejście" o folder wyżej, czyli: set yaml value "nazwa" from file "../../plik.yml" to "wartosc" Powyższy kod stworzy plik "plik.yml" w folderze "plugins". Wyglądał on będzie tak: nazwa: wartosc Czasami potrzebujemy jednak zrobić coś w stylu: nazwa: nazwa1: nazwa2: wartosc Czyli takie "drzewko". Wtedy dodajemy "." pomiędzy nazwami czyli: set yaml value "nazwa.nazwa1.nazwa2" from file "../../plik.yml" to "wartosc" Aby usunąć: delete yaml value "wartosc" from file "plik.yml" 2) Lista: Kod do stworzenia listy: add "wartosc1" to yaml list "nazwalisty" from file "../../plik.yml" Stworzy to nam takie coś: nazwalisty: - wartosc1 Jeśli chcemy dodać klika wartości po prostu robimy to samo, tylko zmieniamy wartość. Więc kod: add "wartosc1" to yaml list "nazwalisty" from file "../../plik.yml" add "wartosc2" to yaml list "nazwalisty" from file "../../plik.yml" add "wartosc3" to yaml list "nazwalisty" from file "../../plik.yml" add "wartosc4" to yaml list "nazwalisty" from file "../../plik.yml" Stworzy nam: nazwalisty: - wartosc1 - wartosc2 - wartosc3 - wartosc4 Oczywiście jeśli chcemy zrobić "drzewko", tak samo jak na początku, dodajemy ",". Aby usunąć: remove "wartosc" from yaml list "lista" from file "plik.yml" ODCZYTYWANIE: 1) Pojedyncza wartość: Odczytujemy to kodem: set {zmienna} to yaml value "nazwa" from file "../../plik.yml" Zmienną tą możemy potem dowolnie użyć: send "%{zmienna}%" Możemy używać też bez zmiennych: send "%yaml value ""nazwa"" from file ""../../plik.yml""%" 2) Lista: Listy odczytujemy kodem: set {lista::*} to yaml list "nazwalisty" from file "../../plik.yml" Również listy możemy użyć bez zmiennych: send "%yaml list ""nazwalisty"" from file ""../../plik.yml""%" To już koniec. Mam nadzieję, że komuś się to przyda. 2016-05-19 - Dodano usuwanie.1 punkt
-
1 punkt
-
Wybór w gui
pawel998 przyznał(a) reputację Helios1993 za pytanie
Nie wprowadzaj początkujących w błąd. on inventory click: if name of event-inventory is "&6&lMAPY": cancel event if index of event-slot = 0: execute player command "join 1" if index of event-slot = 1: execute player command "join 2" Nazwa, a dokładniej kolor, jest inny w otwieranym inventory i sprawdzanym inventory.1 punkt -
Skrypt na rangi
zoolczeq przyznał(a) reputację PolsatGraniePL za pytanie
albo mi się wydaje albo chłop kupił sobie serwer za 10 zł z limitem 5 pluginów zainstalował skripta i wszystko w nim robi bo nie może zainstalować więcej pluginów. No trochę XD ej. Jeżeli masz 100% wszystkie komendy w skripcie to w sumie się da. Do każdej komendy dać if {permisjakomendy::%player%} is set: #Dalej else: send "Nie masz permisji do wykonania tej komendy" i do skriptowego luckpermsa command /dajpermisje [<player>] [<text>]: trigger: set {arg-2::%player-arg%} to true #player = gracz któremu dajesz permisje #text = permisja jaką chcesz dać graczowi1 punkt -
Aby opublikować nawet darmowe aplikacje w App Store trzeba wykupić licencję developerską za $99 rocznie co dla małej forumowej apki nie ma żadnego sensu. Dla porównania w Google Play jest to $25 i to jednorazowo.1 punkt
-
no chyba żartujesz XD możesz uprościć inventory click event, wystarczy raz sprawdzić nazwę i raz anulować event na początku1 punkt
-
Krytyka jest bardzo potrzebna w takich projektach. Tak naprawdę to dzięki niej ktoś może się wiele nauczyć. if (sender != null) { to nie będzie nullem i tak czy siak, co najwyżej sender będzie albo graczem albo konsolą for (int i = 0; i < 101; ++i) { for (Player p2 : Bukkit.getOnlinePlayers()) { p2.sendMessage(" "); } } 100x pobierasz każdego gracza po kolei i wysyłasz mu wiadomośc, zamiast stworzyć sobie w konstruktorze klasy jakiś StringBuilder i tylko go wysyłać #przykład private final StringBuilder emptyMessage = new StringBuilder(); public JakasKlasa() { for (int i = 0; i < 101; i++) { emptyMessage.append(" \n"); } #gdzieś przy czyszczeniu for (Player player : Bukkit.getOnlinePlayers()) { player.sendMessage(emptyMessage.toString()); } } WTF public Helpop(PluginController pluginController){} Tu znowu public MeCommand(PluginController plugin) { Nazwy metod zaczynają się od małej litery:c private int SecondsDelay(){ W ten sposób porównuje się enumy a nie klasy:< if(sender!=invited) { XDD package me.opkarol.opchat.utils; public class BukkitUtils { } Dlaczego integer jest w formie Obiektu? public static String argBuilder(String[] args, Integer removeArgumentsNumber){ Po co te event priority o.0? @EventHandler(priority = EventPriority.LOW) MemoryLeak halo public static HashMap<Player, Player> lastPlayer = new HashMap<Player, Player>(); Jest wiele więcej błędów ale nie chce mi się już wymieniać. 1. Za dużo metod statycznych, brak programowania obiektowego 2. Dziwne nazwy klas/dziwne metody 3. Nazewnictwo jednej klasy z małej litery 4. Pobieranie żywcem z configu, tragedia, tak się nie robi. Zrób sobie jakaś klase Config, ConfigLoader, Settings co ci tam pasuje i przy starcie serwera zapisuj wszystkie stringi a potem je tylko wczytuj. Zobacz chociażby na kod paweu: https://github.com/paweUdev/paweU-Safes/blob/master/src/main/java/pl/paweu/safes/config/Settings.java1 punkt
-
M-CHAT - NAJLEPSZY SKRYPT NA /CHAT
KoSaTuGRA przyznał(a) reputację Helios1993 za temat
I kolejne dziecko co nic w życiu nie potrafi i musi kraść czyjąś pracę... Każdy na tym forum zna już zmienną {chat.status).1 punkt -
Zaawansowany Plugin/Skrypt na działki na wersje spigot 1.16.5!
radziuu7 przyznał(a) reputację dziwakkolega za pytanie
A chcesz żeby ci serwer jebnął w powietrze? od skripta? skript to max wiadomości powitalne i tego typu lekkie rzeczy a nie zawansowane skrypty na działki rusz głową i poszukaj proponuje także Lands1 punkt -
[TuSke] GUI
Bartek200219 przyznał(a) reputację _MicX_ za temat
Elo. Ostatnio widzę, że gracze wrzucają skrypty z bugującym się GUI. Dlatego wpadłem na pomysł, żeby zrobić poradnik dla osób początkujących. Aby GUI działało z tego poradnika potrzebny jest plugin TuSke. Tworzymy komendę która będzie otwierać GUI: command /gui: trigger: open virtual <rodzaj inventory> with %numbers% rows named %named% to player wait 3 tick #przykład: #open virtual chest with 3 rows named "Jestem GUI" to player Rodzaje inventory: chest dispenser hopper Następnie dodajemy do konkretnych slotów itemy oraz jakie komendy może wykonać dany slot: format gui slot %number% of %player% with %itemstack% named "Kliknięcie w ten slot, nic się nie stanie" format gui slot %number% of %player% with %itemstack% named "GUI się zamknie" to close format gui slot %number% of %player% with %itemstack% named "Zamknie się, ale tylko po naciśnięciu klawisza numerycznego" to close using number key format gui slot %number% of %player% with %itemstack% named "To sprawi, że gracz wykona polecenie, ale może nie mieć pozwolenia" to run player command "/gui" format gui slot %number% of %player% with %itemstack% named "To sprawi, że gracz wykona polecenie z pozwoleniem "*"" to run player command "/gui" with permission "*" format gui slot %number% of %player% with %itemstack% named "To sprawi, że konsola wykona polecenie" to run console command "/gui" format gui slot %number% of %player% with %itemstack% named "Zostanie uruchomiona funkcja" to run function [nazwa funkcji] format gui slot %number% of %player% with %itemstack% named "GUI się zamknie się i uruchomi funkcję" to close then run function [nazwa funkcji] format gui slot %number% of %player% with %itemstack% named "Funkcja zostanie uruchomiona po kliknięcui na slot kamieniem" to run function [nazwa funkcji] with cursor stone format gui slot %number% of %player% with %itemstack% named "Uruchomi event GUI" to run gui event #przykład #format gui slot 4 of player with paper named "Jestem papierem który uruchomi polecenie z konsoli" to run console command "/reload confirm" Wypełnienie pustych slotów dowolnym itemem: format gui slot %numbers% times of %players% with %itemstack% named %named% Nadanie tego samego przedmiotu w kilku slotach: add %numbers% and %numbers% to {_t::*} loop {_t::*}: format gui slot loop-value of %players% with %itemstack% named %named% Jest także opcja, że po kliknięciu na konkretny slot można wykonać kilka komend: format gui slot %numbers% of %players% with %itemstack% named %named% to run: if click type is left mouse button: #przykład add bone of unbreaking 10 to player send "&aDostałeś kość" if click type is right mouse button: #przykład kick offlineplayer due to "&4&lKliknąłeś prawy przycisk myszy" # if click type is left mouse button with shift # if click type is right mouse button with shift # if click type is double click using mouse # if click type is middle mouse button1 punkt -
Powinien być update 0.0.0.0.1 Po co tworzysz taki obiekt public class User { protected Player player; public User(final Player player) { this.player = player; } skoro po prostu mozesz uzywac playera? XD1 punkt
-
skrypt na cenzure
Maksiu_Kozak przyznał(a) reputację gitara17 za pytanie
on chat: replace all "chuj" with "****" in message replace all "huj" with "****" in message Licze na +!1 punkt -
Wiem że tamten kod był idiotyczny i odliczanie robi się przy użyciu HashMapy0 punktów
-
Wesołej Wielkanocy all!
Misio12320 przyznał(a) reputację _NoBo_ za aktualizację statusu
Wesołej Wielkanocy all!0 punktów -
VixaWeapons - Skrypt na bronie
Glicz przyznał(a) reputację Vixareczeq za temat
UPDATE BETA 1.2 Dodana została komenda: /VixaWeapons Jest to gui skryptu W updacie BETA 1.3 dodam craftingi lub zbroje0 punktów
-
Najwięcej postów w tygodniu
-
Najwięcej tematów w tygodniu
-
Aktywni użytkownicy
-
1
-
2
-
