Skocz do zawartości

Ranking


Popularna zawartość

Najbardziej lubiana zawartość od 17.11.2017 we wszystkich działach

  1. 7 punktów
    Witajcie Na internecie, jest wiele poradników o tym, jak rozpocząć swoją przygodę z pisaniem wtyczek do Minecrafta. Jednak zdecydowana większość pokazuje, jak robić to z pomocą IDE o nazwie Eclipse. Dzisiaj, pokażę jak robić to z pomocą innego programu, mianowicie IntelliJ. Zaczynajmy! Minecraft pierwotnie został napisany w języku programowania, który nazywa się Java. Silnik serwera tej gry, również napisany jest w tym języku i to właśnie Javy będziemy używali do tworzenia pluginów. Przed rozpoczęciem, należy jednak zapoznać się z podstawami tego języka, naprawdę, będzie Ci o wiele łatwiej Oto kilka kursów w języku polskim: https://javastart.pl/static/darmowy-kurs-java/ https://kobietydokodu.pl/kurs-javy/ Po zapoznaniu się z kursami i napisaniu kilku podstawowych programów, przejdźmy do części właściwej. 1) Instalacja JRE oraz JDK. Przed rozpoczęciem tworzenia czegokolwiek w Javie, musimy ją zainstalować. JRE (Java Runtime Environmen) to środowisko, które pozwala uruchamiać programy napisane w Javie. Pobieramy je tutaj: https://www.java.com/pl/download/ JDK (Java Development Kit) jest to pakiet, niezbędny do programowania w tym języku. Pobieramy je tutaj: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Po pobraniu, po prostu je instalujemy. Instalacja jest bardzo intuicyjna. Sprawdźmy teraz, czy wszystko zrobiliśmy dobrze. Uruchamiamy wiersz poleceń. (Win + R, a następnie wpisujemy cmd i klikamy Enter) W oknie, które się ukaże wpisujemy java. Jeśli dobrze zainstalowaliśmy JRE, powinniśmy ujrzeć coś takiego: Sprawdźmy teraz JDK. Wpisujemy javac. Widzimy coś takiego: Co teraz? Musimy dodać ścieżkę folderu \bin\ dla JDK do zmiennej środowiskowej Path. Jak to zrobić? Na początek, musimy skopiować ścieżkę folderu \bin\. Wchodzimy w Mój Komputer > Dysk C; > Program Files > Java > jdknumer_wersji > bin i kopiujemy ścieżkę: Teraz klikamy PPM na Mój Komputer > Właściwości > Zaawansowane Ustawienia Systemu > Zaawansowane > Zmienne Środowiskowe. Teraz musimy znaleźć zmienną Path. Następnie zaznaczamy ją i klikamy Edytuj. ( Uwaga! Przed jakąkolwiek zmianą radzę zapisać aktualną ścieżkę! ) Teraz, na końcu dopisujemy ; i wklejamy skopiowaną ścieżkę i klikamy Ok > Ok. Tutaj mały schemat: Teraz ponownie uruchamiamy wiersz poleceń i wpisujemy javac. Jeśli zobaczymy coś takiego, to zakończyliśmy instalacje JRE i JDK. 2) Instalacja i uruchomienie IntelliJ. Intellij pobieramy ze strony https://www.jetbrains.com/idea/. (Wybieramy wersje Community) Następnie instalujemy pobrany program, tutaj również instalacja jest bardzo intuicyjna. Po instalacji, przyszła pora na pierwsze uruchomienie. Uruchamiamy nasze IDE. W pierwszym okienku zaznaczamy Do not import settings i klikamy OK. Następnie według własnego upodobania, wybieramy UI, ciemne lub jasne. Ja wybiorę ciemne. Teraz wystarczy kliknąć Next i Start using IntelliJ IDEA. Ukaże nam się takie okno: Brawo! Przejdźmy do następnej części. 3) Tworzenie projektu. Klikamy Create New Project. W następnym okienku wybieramy Java. Teraz musimy wskazać programowi SDK. Klikamy New i podajemy ścieżkę do katalogu z JDK. (C:\Program Files\Java\jdknumer_wersji\) Klikamy dwa razy Next. Teraz wpisujemy nazwę naszego projektu i podajemy ścieżkę, gdzie zostanie zapisany. Ja swój projekt nazwę Poradnik. Klikamy Finish. Ujrzymy takie oto okno. Po lewej stronie znajduje się source tree. To właśnie tu będziemy tworzyć wszystkie pliki. Teraz musimy dodać bibliotekę, będzie nią spigot. Pobieramy go stąd: https://yivesmirror.com/downloads/spigot (Spigot ok. 40mb, nie API) Wybieramy wersję, pod którą będziemy pisali. Ja wybiorę 1.12.1. Teraz musimy dodać to do naszego projektu. Klikamy File > Project Structure i z menu po lewej stronie wybieramy Libraries. Następnie klikamy na zielony +, wybieramy Java, podajemy ścieżkę do naszej biblioteki i klikamy OK. Jeśli wszystko zrobiliśmy dobrze, będzie wyglądać to tak: Klikamy OK, następnie Apply i OK. Świetnie! Możemy teraz zacząć pisać 4) Pierwsza komenda. Na początek stwórzmy package. Jest to tak jakby połka, na której coś trzymamy - klasy. Każda ma unikalną nazwę. Stwórzmy go. Klikamy PPM na src, New > Package. Package nazywamy małymi literami w następujący sposób. Przypuśćmy, że posiadasz domenę example.com. Twój package będzie nazywał się com.example.poradnik. Jeśli nie posiadasz lub nie chcesz nazywać packagów domeną, nazwij go po prostu me.twojnick.poradnik. Ja posiadam domenę ixidi.pl, więc package nazwę pl.ixidi.poradnik. Wpisujemy nazwę swojego package i kliknij OK. Jak widzisz, w twoim source tree pojawił się nowy package Stwórzmy teraz klasę. Klikamy PPM na nasz package New > Class. Klasy z kolei nazywamy Wielką literą. Istnieją dwie szkoły nazywania głównych klas. Main NazwapluginuPlugin, w moim przypadku PoradnikPlugin Ja nazwę moją główną klasę, PoradnikPlugin. Wpisujemy nazwę, klikamy i OK. Nasze source tree powinno wyglądać tak: Rozszerzmy teraz naszą klasę główną, o klasę JavaPlugin. W tym celu public class PoradnikPlugin zmieniamy na public class PoradnikPlugin extends JavaPlugin Ale zaraz, czemu słowo JavaPlugin świeci się na czerwono? Znaczy to, że musimy zaimportować klasę JavaPlugin. W tym celu przechodzimy kursorem na czerwone słowo, klikamy LPM, a następnie używamy skrótu ALT + Enter i wybieramy Import class. Tak właśnie importuje się klasy. Skrót ten przydaje się też w wielu innych rzeczach, warto go zapamiętać Dodajmy teraz dwie metody (tak w Javie nazywamy funkcje), dziedziczone z klasy JavaPlugin - onEnable i onDisable. Jak sama nazwa mówi, wykonują kolejno podczas włączenia i wyłączenia pluginu. Zacznijmy pisać onEn i tutaj widzimy jedną z wielu zalet Intellij. Podpowiada nam o jaką metodę może nam chodzić. Wybierzmy public void onEnable() {...} i kliknijmy Enter. Tak samo zróbmy z onDisable. Teraz zróbmy coś wewnątrz metod. Wyślijmy np. wiadomości do konsoli. Służy do tego np. metoda info() klasy Logger. Wywołujemy ją w następujący sposób. this.getLogger().info("Wiadomosc"); Nasz kod powinien wyglądać tak: package twojpackage; import org.bukkit.plugin.java.JavaPlugin; public class PoradnikPlugin extends JavaPlugin { @Override public void onEnable() { this.getLogger().info("Wiadomosc przy wlaczeniu."); } @Override public void onDisable() { this.getLogger().info("Wiadomosc przy wylaczeniu."); } } Ale po co nam plugin, który tylko wysyła wiadomość do konsoli? Dodamy teraz komendę. Przejdźmy kursorem pod metodę onDisable, i zacznijmy pisać onCom. Jak widać, tutaj również nasze IDE pomaga. Metoda o którą nam chodzi to onCommand. Wybierzmy ją. Nasz kod wygląda tak: package twojpackage; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.plugin.java.JavaPlugin; public class PoradnikPlugin extends JavaPlugin { @Override public void onEnable() { this.getLogger().info("Wiadomosc przy wlaczeniu."); } @Override public void onDisable() { this.getLogger().info("Wiadomosc przy wylaczeniu."); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { return true; } } Tutaj widzimy, że po słowie public, zamiast void, występuje boolean. Znaczy to, że metoda musi zwracać wartość boolean. (Przybiera ona dwie wartości true lub false) Słowo, które zatrzymuje dalszą część metody to return. Jeśli metoda coś zwraca, po słowie return musi pojawić się zwracana wartość. Metoda onCommand zostanie wywołana gdy ktoś (nie ważne czy gracz, czy konsola) użyje komendy. Powiedzmy, że chcemy sprawdzić, czy wysyłający jest graczem czy konsolą i wysłać odpowiedni komunikat. Najpierw sprawdźmy, czy komenda, którą wpisał gracz, to właśnie ta o którą nam chodzi. Użyjmy do tego metody equalsIgnoreCase() klasy String. Porównuje ona dwa Stringi, bez względu na wielkość liter. Jako parametr, podajemy ciąg znaków (String), z którym chcemy porównać wartość. Nazwijmy więc naszą komendę sprawdz. Nazwę wpisanej komendy uzyskujemy przez command.getName() a więc kod który sprawdzi, czy wpisana komenda to sprawdz będzie wyglądał następujaca if (command.getName().equalsIgnoreCase("sprawdz")) { } Wiemy już że komenda się zgadza, sprawdźmy teraz czy wysyłający jest graczem. Służy do tego słówko instanceof. Aby więc sprawdzić czy wysyłający jest graczem używamy kodu: if (sender instanceof Player) { } Słówko Player świeci się na czerwono. Co musimy zrobić? Zaimportować, tak samo jak robiliśmy to z JavaPlugin. Wiemy już, że komenda się zgadza, a wysyłający jest graczem. Wyślijmy teraz wiadomość informującą. Do wysłania wiadomości służy metoda sendMessage(). Aby wysłać więc wiadomość użyjemy kodu: sender.sendMessage("Jestes graczem!"); Brawo! Chcemy jednak, że jeśli wysyłający jest konsolą, to wyśle się inna wiadomość. Zastosujemy tutaj else. Kod po else wykonuje się, jeśli warunek w if nie jest spełniony. Kod na wysłanie wiadomości do konsoli, wygląda tak samo. Musimy zmienić tylko treść. Nasz kod powinien wyglądać teraz tak: package twojpackage; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; public class PoradnikPlugin extends JavaPlugin { @Override public void onEnable() { this.getLogger().info("Wiadomosc przy wlaczeniu."); } @Override public void onDisable() { this.getLogger().info("Wiadomosc przy wylaczeniu."); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (command.getName().equalsIgnoreCase("sprawdz")) { if (sender instanceof Player) { sender.sendMessage("Jestes graczem!"); } else { sender.sendMessage("Jestes konsola!"); } } return true; } } Świetnie! Właśnie skończyliśmy pisać kod. Teraz stwórzmy plik plugin.yml. Zawiera on informacje potrzebne serwerowi przy ładowaniu pluginu. Kliknijmy PPM na nasz projekt (nie na src!) New > File i nazwijmy go plugin.yml. Klikamy OK. Plik plugin.yml musi zawierać trzy podstawowe informacje: Nazwę pluginu name Wersje pluginu version Ścieżkę do klasy main main Oprócz wymaganych informacji, może również zawierać informacje dodatkowe. Więcej o tym pliku tutaj: https://bukkit.gamepedia.com/Plugin_YAML/pl Tak więc mój plugin.yml powinien wyglądać tak: name: PoradnikPlugin version: 1.0 main: pl.ixidi.poradnik.PoradnikPlugin Z racji, iż stworzyliśmy komendę, musimy pokazać serwerowni przy ładowaniu pluginu, że takowa istnieje. Dodajemy więc następującą frazę: commands: sprawdz: description: "Plugin pokazujacy czy jestes graczem" aliases: [spr, spraw] permission: sprawdz.sprawdz permission-message: "Nie masz uprawnien!" Wymagana jest tylko część do słowa sprawdz. Dodałem tu jednak często używane elementy. Oznaczają one: description - Opis naszej komendy. aliases - Aliasy komendy, możemy ją wywołać przez wpisanie sprawdz, spr lub spraw. permission - Uprawnienie wymagane do użycia komendy. permission-message - Wiadomość, wysyłana jeśli nie posiada się uprawnienia. Nasz plugin.yml oraz source tree powinny wyglądać tak: 5) Kompilacja Możemy teraz przejść do czegoś, co wiele osób uważa w Intellij za trudne - kompilacji. Najprościej mówiąc jest to zamiana kodu źródłowego, na kod maszynowy. Aby to zrobić, klikamy File > Project Structure. Z menu po lewej stronie wybieramy Artifacts. Następnie klikamy na zielony +, JAR > From modules with dependencies. Wybieramy nasz projekt i klikamy OK. Teraz wybierzmy ścieżkę, gdzie zostanie zapisany nasz skompilowany plugin. Po niżej widzimy dwa okienka: W pierwszym od lewej, widzimy co będzie zawierał nasz skompilowany plik jar. W drugim znajdują się elementy, które możemy dodać. Na początek usuńmy z naszego jara bibliotekę spigota, jest on naszym serwerem, nie potrzebujemy go skompilowanego w projekcie. Klikamy na niego PPM > - Remove. Teraz musimy dodać do projektu nasz plik plugin.yml. Klikamy na zielony + > File i wybieramy nasz plik plugin.yml. Powinno wyglądać to tak: Następnie klikamy Apply i OK. Stworzyliśmy artefakt, teraz pozostaje tylko skompilować. Klikamy Build > Build Artifacts wybieramy nasz projekt i klikamy Build. Teraz musimy chwileczkę poczekać. Kiedy kompilacja dobiegnie końca, w lewym dolnym rogu zobaczymy taki oto napis: Brawo! Teraz wystarczy tylko wrzucić nasz skompilowany plik do katalogu plugins naszego serwera i sprawdzić działanie To by było na tyle, powodzenia
  2. 7 punktów
    EKSTREMALNIE PRZYDATNY SKRYPT - jSignSpy jSignSpy to niewyobrażalnie przydatne i skuteczne narzędzie dla administratorów. Pewnie słyszałeś już o komendzie /socialspy, wbudowanej w plugin Essentials. Pozwala szpiegować graczy, widzieć, co piszą. Ale czekaj! Są jeszcze tabliczki. CO ROBIĆ?? Odpowiedź jest tylko jedna. Użyj jSignSpy - WŁAŚNIE TERAZ! Ten świetny skrypt pozwoli Ci na szpiegowanie wszystkich tabliczek, które pojawią się w Twoim królestwie. Jak widzisz, to jest genialne. Gdy tylko ktoś postawi tabliczkę, jSignSpy powie Ci o tym! Dowiesz się także kto ją postawił, gdzie oraz co na niej pisze! Narzędzie jest niezawodne. Doskonale wspiera formatowanie tekstu, więc żaden gracz Cię nie oszuka. Teraz już wiesz, że nie chodzi o banany! Komendy: /signspy - wystarczy wpisać tą komendę, aby szpiegować każdą tabliczkę! /signspy [nick] - jeśli jesteś Imperatorem, możesz włączyć lub wyłączyć signspy komuś innemu! Uprawnienia: - signspy.use - pozwala, na korzystanie z komendy /signspy - signspy.other - pozwala, na ustawianie /signspy innym użytkownikom Pobieranie (243 miliony pierwszych użytkowników otrzymują ten skrypt za darmo, nie zastanawiaj się): https://code.skript.pl/vsN7iC9B/ JEŚLI MOJA PRACA CI SIĘ PODOBA, DAJ MI PUNKT REPUTACJI.
  3. 7 punktów
    Ewald

    Lista zmian

    26.11.2017: @bopke zostaje nowym moderatorem lokalnym.
  4. 6 punktów
    ten opis wygląda jakbyś przepisał to co mówili w Pasja Informatyki; w pierwszym przykładzie nie zamknąłeś tagu html. Sugeruje nie robić takich poradników
  5. 5 punktów
    Nie pytaj czemu. Najpewniej dla testu kilku rzeczy. Wszystko robione samemu, może komuś się spodoba. Użyte programy: Cinema 4d, Photoshop Wymiary: (nie gryźcie) 1920x1080 Po prostu pobierz, zalajkuj albo nie wiem, zostaw miły komentarz jak Ci się spodobało. podgląd: https://imgur.com/a/eLzhV http://www80.zippyshare.com/v/eP8k7M3u/file.html ^ download, a jak by ktoś się bał to tylko tu to zostawię https://www.virustotal.com/#/file/1a2158995c566d100ae149184a3852fb459e3a1b25e67256c972c7aafd73e4c1/detection
  6. 5 punktów
    Myślę, że na samym początku musisz nauczyć się języka polskiego. Następnym krokiem będzie wybranie języka jakiego chcesz się uczyć. Ostatnim krokiem jest to, że masz się go uczyć poprzez różne poradniki, dokumentacje czy czytając kod.
  7. 5 punktów
    FunnyWeb Strona www, służąca do wyświetlania informacji z pluginu FunnyGuilds i nie tylko... Strona oferuje podpięcie bazy danych z FunnyGuilds oraz MaxBans, co przekłada się na statystyki oraz bany, tworzenie własnych podstron, zarządzaniem kont administratorów, zmiane ustawień z poziomu administratora itd. Dashboard ACP zawiera oś czasu (ang. timeline) co przekłada się na bieżące informacje o wprowadzonych bądż usuniętych funkcjach. Podstrony wspierają html, czyli nie problem będzie tam wstawić obraz bądź film z youtube lub bądź nawet skrypt JavaScript. Instalacja strony jest bardzo prosta, a wrącz banalna. Skrypt PHP wykona wszystko za Ciebie. Github Aktualna wersja: 1.1 Demo: Chcę to zobaczyć Wymagania: - PHP5 lub wyższe - Aktywny mod_rewrite Demo panelu administratora Login: demo Hasło: demo Link: Chcę to zobaczyć Screeny:
  8. 5 punktów
    Ewald

    Odchodze

    Żegnam.
  9. 4 punktów
    Wstawiając coś takiego jako próbka twoich umiejętności, odstraszysz tylko potencjalnych klientów.
  10. 4 punktów
    LloydPL

    SkIris

    Yo, ostatnio zabrałem się za pisanie dodatku do skript, pare klas dziennie z nudów no i jak nazbierałem trochę funkcji to postanowiłem go opublikować. DOWNLOAD SKAN SRC Funkcje: Edit: - dodano propozycję KrejzolekPro - dodano funkcje expr: (lower|upper) case %string% - - dodano możliwość włączenia/wyłączenia bicia gracza (domyślnie włączone, przy restarcie wraca do domyślnych), możliwość tworzenia paliw i nowych receptur w piecach, włączania/wyłączania pieca, - dodano wyrażenia zwracające baltopa z essentiala, lokacje na powierzchni z danej lokacji oraz listę komend z danego pluginu - - dodano kolorki do doca które robią je bardziej czytelne następny update jak dodam tre wincy rzeczy bo nie opłaca mi się edytować wszystkiego za każdym razem gdy dodam nową funkcję *i jeszcze poprawie kilka rzeczy
  11. 4 punktów
    ale ty smieszny jestes XD 200zl za plugin nie polecam, ten pan scamuje
  12. 4 punktów
    Skrypty są w całości wykonywane w głównym wątku serwera, do tego przez dodatkową warstwę softwareową, co sprawia że bardzo szybko zabijają wydajność serwera i potrzeba znacznie mocniejszej maszyny do działania takiego samego serwera napisanego w skripcie w porównaniu do maszyny potrzebnej na taki sam serwer na pluginach. Do tego pluginy dają Ci znacznie więcej możliwości.
  13. 4 punktów
    Minecon Earth już za nami! Tym razem wydarzenie miało formę interaktywnego internetowego show, w którym każdy mógł wziąć udział. W tym wpisie podsumujemy najważniejsze ogłoszone w jego trakcie nowości i zmiany. Wodna aktualizacja Dotychczas oceany w Minecrafcie nie były zbyt rozbudowanie — występowały w nich tylko 3 moby (oraz ryby) i 1 struktura. Wodna aktualizacja (The Aquatic Update), czyli wersja 1.14, ma znacznie poszerzyć liczbę mobów i struktur w oceanach. Dodane mają zostać między innymi rafy koralowe, krasnorosty morskie, znacznie więcej rodzajów ryb, eksplorowalne wraki, nowa fizyka wody i wiele więcej! Dodatkowo zostanie dodana całkowicie nowa broń do walki pod wodą — trójząb. Będzie można nim rzucać we wrogów, a także walczyć nim w walce bezpośredniej. Oprócz tego zostanie także dodane kilka ulepszeń dla nowej broni: Lojalność — ulepszenie sprawiające, że broń będzie wracała do gracza po rzucie, a także Nadziewanie i Lot aerodynamiczny, których działania twórcy gry nie zdradzili (ale można je wywnioskować po nazwach ). Darmowa zawartość w Marketplace W ramach promocji aktualnie przez ograniczony czas w Marketplate dostępna jest darmowa zawartość: zestaw skinów Minecon Earth, mapa Abstraction: Minecon Earth, mapa Purple Party Parrot Palace, mapa Truffletop Town, zestaw skinów Mineplex Friends oraz mapa Enderman's Forest. Warto skorzystać z tej okazji. Nowy serwer partnerski Do grona serwerów partnerskich dołączył serwer The Hive. Na serwerze wkrótce dostępna będzie dość ciekawa minigra — Death Run, w której gracz ściga się z innymi graczami przez mapę z przeszkodami, pułapkami i wieloma innymi utrudnieniami. Super Duper Graphics i Nintendo Switch Super Duper Graphics — czyli płatna paczka, urozmaicająca grafikę w Minecrafcie o elementy znane z shaderów, ma zostać wydana nie w tym roku, a dopiero w następnym, ze względu na problemy związane z jej tworzeniem. Przesunięta została także premiera nowego Minecrafta ze wsparciem dla gry międzyplatformowej dla konsoli Nintendo Switch. Ma on zostać wydany dopiero w 2018 roku. Nowy mob w Minecrafcie W trakcie Minecon Earth „uczestnicy” mieli możliwość zagłosowania, który z 4 czterech zaproponowanych przez twórców gry mobów powinien zostać dodany do Minecrafta. Większość z nich zagłosowała na moba B, który będzie dosyć przełomowy, albowiem będzie pierwszym latającym agresywnym mobem występującym w świecie zwykłym. Będzie się on pojawiał na dużych wysokościach i w dużych grupach atakował graczy, którzy od dłuższego czasu się nie przespali.
  14. 4 punktów
    Ewald

    Lista zmian

    18.11.2017: @Invi rezygnuje z rangi moderatora lokalnego.
  15. 3 punktów
    Sewer

    Itemy CraftBoard

    Czesc wszystkim, chcialbym wam dzisiaj opublikowac moj pierwszy plugin. Plugin ten jest w polowie moj, poniewaz w znacznym stopniu pomogli mi @yooniks, oraz @LloydPL, ktorym BARDZO DZIEKUJE Javy ucze sie od lekko ponad tygodnia i wydaje mi sie, ze dobrze mi idzie. Jesli znajda sie tutaj deweloperzy javy i bukkita prosze nie wystawiajce mi opinii za zle napisany plugin, tylko spokojnie napiszcie co moge poprawic, a ja sie postaram to zrobic. Src pluginu: https://github.com/sewerxd/ItemyCB Plugin: http://www.mediafire.com/file/4bfu99arwedaxb7/CB_Itemy.jar Skan: https://www.virustotal.com/#/file/e94c9c6747e2a289650434c7c64dbd0f3486150d16721a2a9f39facf097cd467/detection Jeszcze raz chcialbym podziekowac @yooniks i @LloydPL to naprawde wiele dla mnie znaczy Komendy: Uprawnienia:
  16. 3 punktów
    Ewald

    Lista zmian

    09.12.2017: @Ixidi zostaje nowym moderatorem lokalnym.
  17. 3 punktów
    Inder00

    plugin na drop

    bez src, no ale. Sądze, że mój darmowydrop w tej sytuacji jest przynajmniej 2 razy lepszy od Twojego. KLIK
  18. 3 punktów
  19. 3 punktów
    Hmmm.... może kup im ładnego misia z napisem kocham was i kwiaty (takie zajebiste!) liczę na +
  20. 3 punktów
    Nie ma to jak ocenić serwer po hostingu, a nie po właściwym gameplayu
  21. 3 punktów
    wiesz piszesz ze to fg jest chujowe a sam sprzedajesz plugin ktory nie ma zadnego zapisu, wiec jaki ten plugin ma sens XD
  22. 3 punktów
    JanekMaSkrypta_

    Skrypt na BH

    I ty sie nazywasz pisarzem skryptów? bo napisales skrypt ktory wykorzystuje tez plugin Essentials? Takie menu w dodatku może się bugować jeszcze dwa razy sprawdzasz czy gracz ma permisje skoro jeden raz wystarczy. Najlepiej by było jak byś wykorzystał kod skryptu a nie innych pluginów. Co do skryptu jest bardzo łatwy do napisania więc daje 3/10. Postaraj się bardziej.
  23. 2 punktów
    Takie strony to przeglądałem w latach 2002-2004
  24. 2 punktów
    Polecam tego pana.
  25. 2 punktów
    Ixidi

    Zmienna na datę i godzinę

    %now%
  26. 2 punktów
    Funkcje Automatyczne dawanie nagród za wgranie reklamy (traileru) na kanał youtube. Sprawdzanie ilości wyświetleń, polubień, opisu, czasu trwania. Łatwa konfiguracja wszystkiego w yml. Komendy /reklama sprawdz <link do filmu> Changelog v1.0 - https://code.skript.pl/CKxtTTSG/ - wydanie pierwszej wersji skryptu. v2.0 - https://code.skript.pl/6vrrjuY3/ - dodanie zapisywanie reklam w pliku, dodano sprawdzanie czy reklama nie została już użyta. Od teraz trzeba wpisywać id filmu, nie link. Jak zaktualizować? Co ze zmiennymi? Aby zaktualizować skrypt trzeba usunąć folder niReklama, zmienić kod skryptu na nowy i go przeładować. TODO Zapisywanie reklam w logach. Blokada linków. Lista wszystkich wgranych reklam. Sprawdzanie do 10 minut czy reklama istnieje. Sprawdzanie ilości subskrybcji dla wymagających. Konfiguracja Download https://code.skript.pl/6vrrjuY3/ Użyto api od użyszkodnika użytkownika @Quaczi za co mu bardzo dziękuję.
  27. 2 punktów
    1 tab = 4 spacje
  28. 2 punktów
    "(do niedawna uznawane jeszcze za wulgarne, a dziś już tylko za kolokwialne)" https://sjp.pwn.pl/poradnia/haslo/do-jasnej-cholery;1248.html czyli, jeżeli dobrze rozumiem to uznawane za normalne w mowie potocznej (czy jak tam to nazwać) kebab porządny człowiek, nie wierzę, żeby użył tego wyrazu do obrażenia kogoś Hurr Durr za moich czasów ta nauka lepiej szła
  29. 2 punktów
    Bielecki

    Automatyczne rangi

    Dlaczego nie chcesz przez pex? Możesz stworzyć kilka grup z takimi samymi uprawnieniami, tak samo wyglądających, tylko z innymi nazwami. Wtedy /ranking ograniczy sie tylko do pobrania z tych grup.
  30. 2 punktów
    KrejzolekPRO

    technik

    Rangę oraz FTP xDD Płacisz 150 zł i może ktoś zrobi
  31. 2 punktów
    Witam nie jest to jakis wielki skrypt gdyż dodaje tylko EFEKTY particle itd... pod 1.8 Skrypt bede dalej rozwjal! TODO: - Konfiguracja YML (Dodawanie wlasnych efektow) - Wasze pomysły DL: https://code.skript.pl/gcnjpOqG/ WYMAGANIA: Skript, SkRayFall
  32. 2 punktów
    Bardzo ładne portfolio, przedstawienie osoby. Grafiki według mnie ładne , tak samo jak budowle. I wreszcie ktoś, to napisał poważną "reklamę", przedstawił portfolio, kontakt...
  33. 2 punktów
    yooniks

    [Java] Exceptions

    Cześć, dzisiaj wytłumaczę wam co to są exceptiony, kiedy ich używać, oraz jak je tworzyć. (a raczej dam kod, bo z tłumaczeniem u mnie to słabo ) Oczywiście zanim przeczytacie ten temat polecam wzbogacić się chociaż o podstawy javy: https://javastart.pl/static/darmowy-kurs-java/ https://kobietydokodu.pl/kurs-javy/ https://docs.oracle.com/javase/tutorial/ https://www.tutorialspoint.com/java/ Exception z j. angielskiego: zastrzeżenie/wyjatęk, trochę wiecej o samym exceptionie tutaj: https://docs.oracle.com/javase/tutorial/essential/exceptions/definition.html Wiadomo, można ich nie używać, ale zawsze przyda sie trochę więcej abstrakcji itd. w programie/pluginie. Zaczniemy od tego jak stworzyć taki 'exception': public class IllegalCharactersException extends RuntimeException{ public IllegalCharactersException(){ } public IllegalCharactersException(String message){ super(message); } } tworzymy klasę, rozszerzamy ją o klasę abstrakcyjną Exception. - pierwszy krok za nami. teraz przykład jakiejś metody, do wyłapania 'exceptiona' użyjemy try/catch, maly przykład: private static int warns; //bedziemy sprawdzac ilosc "warnow" - ostrzezen public static void main( String[] args ) { final Scanner scanner = new Scanner(System.in); String line = ""; while ((line = scanner.nextLine()) != null) { try { write(line); } catch (IllegalCharactersException ex) { //Wylapalismy naszego exceptiona System.out.println(ex.getMessage() + " 1 warn has been added to your statistics.. "); warns++; if (warns >= 3) System.out.println("You reached " + warns + "warns!"); //ew. jakis boolean blokujacy pisanie. } } scanner.close(); } private static void write( String text ){ if (text.contains( "cos" )) throw new IllegalCharactersException( "You cannot use invaild characters!" ); else System.out.println("Napisales: " + text ); } cos troszke innego, przykładowo haspaid: public class MojangAPI{ //mozna w sumie bez static, strzelic w mainie fielda MojangAPI, w onEnable robic mojangAPI = new MojangAPI(); i potem normalnie plugin.getMojangAPI()... ale do przykladu zrobilem tak: public static PremiumType getPremiumType(String nick) { try { final URL url = new URL("https://api.mojang.com/users/profiles/minecraft/" + nick); final BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); String hasPaid; if ((hasPaid = reader.readLine()) != null) { reader.close(); return PremiumType.PREMIUM; } else { reader.close(); return PremiumType.NONPREMIUM; } } catch (IOException ex) { plugin.getLogger().info(ex.getMessage()); } return PremiumType.ERROR; } } jesli try/catch wyłapie IOException ustawi zmienna 'premiumConnections' na true w głownej klasie rozszerzonej o JavaPlugin. public final class AuthPlugin extends JavaPlugin{ @Override public void onEnable(){ getServer().getPluginManager().registerEvents( new Listener(){ @EventHandler public void onConnect( AsyncPlayerPreLoginEvent e ){ if ( MojangAPI.getPremiumType(e.getName()) == PremiumType.ERROR){ e.disallow( PlayerPreLoginEvent.Result.KICK_OTHER, "MojangAPI nie odpowiada..." ); return; } //dalsza część kodu } } },this); } } public enum PremiumType{ PREMIUM, NONPREMIUM, ERROR; }
  34. 2 punktów
    knugi

    Komenda /crafting

    command /crafting [<text>]: trigger: open crafting table to player stop Tyle
  35. 2 punktów
    knugi

    TuSke

    zainstaluj sobie WildSkript i wtedy możesz używać: if slot is 1: cancel event
  36. 2 punktów
    Inder00

    FunnyWeb

    Siema, Co myśliscie, abym napisał stronę FunnyWeb. A więc tak to miała bybyć strona funnyguilds tzn. topki, graczy itd. Piszcie poniżej
  37. 2 punktów
    Jest jeszcze Administrator i Właściciel, forum nie ma armii użytkowników, dla 3 osób śmiało wystarcza opcja "Zgłoś" a z własnego doświadczenia wiem że w przeciągu najbliższego czasu ktoś się tym zajmie
  38. 2 punktów
    Ewald

    Lista zmian

    25.11.2017: @JPablo rezygnuje z rangi moderatora globalnego.
  39. 2 punktów
    Jeszcze tydzien ;D
  40. 2 punktów
    Przekleństwo to przekleństwo. Raczej każdy ma to gdzieś. Według mnie ostrzeżenie nadane słusznie.
  41. 2 punktów
    Idź i poskarż się, że mojang źle nazywa swoje bloki. Bo przecież jak to!? Grass_path jest niepoprawne! Przecież stosuję to tylko w informatyce i oznacza to ścieżke do pliku, wszyscy inni się mylą!!!11oneone
  42. 2 punktów
    Ezx

    .

    .
  43. 2 punktów
    Niestety, ale czarno widzę Twoje poszukiwania.
  44. 2 punktów
    Serwer fajny, warto wbić oraz pograć. Więcej do powiedzenia nie mam i mogę jedynie życzyć powodzenia.
  45. 2 punktów
  46. 2 punktów
    Ewald

    Błąd w tłumaczeniu

    Poprawione, pojedyńcze błędy można zgłaszać w wiadomości prywatnej
  47. 2 punktów
    bopke

    Zasponsoruję serwer

    ?? W tym momencie sam sobie zaprzeczasz z trzema ważnymi wymaganiami
  48. 2 punktów
    on command: kick player due to "won"
  49. 2 punktów
    McKoxu

    Nowa Nazwa

    XD
  50. 2 punktów
    Robienie serwera na darmowym hostingu nie jest dobre. Już lepiej kupić serwer za 10 zł i mieć dostęp do chociażby ftp czy bazy danych.
Ta TOPka użytkowników jest ustawiona na strefę czasową Warszawa/GMT+01:00
×