Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Tworzenie pluginów dla Bukkit


piotrek54PL

Rekomendowane odpowiedzi

Opublikowano

mozna dac zmienna player czyli

Player wylosowany = players[new Random().nextInt(players.length)]

 

to w zmiennej wylosowany zapisze gracza wylosowanego, mozesz tez dac:

String wylosowany = players[new Random().nextInt(players.length)].getName()

 

ktory w zmiennej wylosowany zapisze nick gracza :D

 

i pamietaj! Player != string :D

No dzieki. Dziala. Mi to narazie potrzebne do wyswietlania. Moge to Random wpleść miedzy + +, ale jak wyswietlam 2 razy to 2 inne losowania sa. Narazie wyczerpalem pytania.

  • Odpowiedzi 496
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Mam pytanie. Jak mogę zrobić, aby przy zalogowaniu gracza tworzy się plik: {nick}.dat, który zawiera domyślne dane zdefiniowane wcześniej. I też jak później te dane odczytać?

Nazwie pliku to tak można zrobić: player.getName() + ".dat, ale chodzi mi o tworzenie tego pliku.

 

@EDIT

Przepraszam za podwójnego posta. Nie zobaczyłem że ten wyżej to nadal mój.

Opublikowano

@UP. Spoko, ale nie napisałeś nawet jak stworzyć taki plik... :).

 

Jest jakaś funkcja, która robi wybraną akcję przy pierwszym zalogowaniu gracza i czy można zrobić żeby rozpoznało czy jest to pierwsze logowanie gracza? Jak?

Opublikowano

@UP. Spoko, ale nie napisałeś nawet jak stworzyć taki plik... :).

 

Jest jakaś funkcja, która robi wybraną akcję przy pierwszym zalogowaniu gracza i czy można zrobić żeby rozpoznało czy jest to pierwsze logowanie gracza? Jak?

zadajesz dużo pytań, poczytaj dokumentacje:

 

jd.bukkit.org/doxygen

<>

Opublikowano

widać, że niektórzy chcą tylko takie poradniki, żeby pokazali jak zrobić swój wymarzony plugin...

przykładem jest @up

<>

Opublikowano

Ej piotr zrób tak że gracz po wejściu na serwer tworzy sie plik nick.log i w tym pliku pokazuje jakie komendy on wykonał

Spoko. Stworzenie takiego pluginu to błachostka, ale nic za darmo. Wyślij do mnie maila w temacie wpisz "[ZLECENIE]" i odrazu juz wpłać zaliczkę 50zł , potem się dogadamy co do ceny......

 

PS Wystarczy zajrzeć do server.log .... i użyć wyszukiwania....

 

 

Do modków: Tak, to jest troling - nie handel.

Opublikowano

@piotrek54PL

 

Zaktualizuj swój poradnik.

 

plugin.yml u ciebie nie jest poprawny.

Nie używa się już "@Override" przed funkcjami "onEnable", "onDisable".

Wpisaną komendę (przynajmniej ja pobieram inaczej) pobiera się inaczej.

I.. em... jak ma działać komenda którą dałeś w tutorialu jak w ogóle serwer nie wie że taka istnieje, LOL.

 

Czyli - twój poradnik nie jest na aktualną wersję MC tylko na stare wersje, i jedynie można się z niego nauczyć jak NIE PISAĆ pluginów, zamiast jak pisać.

 

Pozdrawiam :)

Opublikowano

@piotrek54PL

 

Zaktualizuj swój poradnik.

 

plugin.yml u ciebie nie jest poprawny.

Nie używa się już "@Override" przed funkcjami "onEnable", "onDisable".

Wpisaną komendę (przynajmniej ja pobieram inaczej) pobiera się inaczej.

I.. em... jak ma działać komenda którą dałeś w tutorialu jak w ogóle serwer nie wie że taka istnieje, LOL.

 

Czyli - twój poradnik nie jest na aktualną wersję MC tylko na stare wersje, i jedynie można się z niego nauczyć jak NIE PISAĆ pluginów, zamiast jak pisać.

 

Pozdrawiam :)

Korzystałem z oficjalnego http://wiki.bukkit.org/Plugin_Tutorial , mógłbyś podać źródło w którym pisze jak poprawnie to robić ?

Ponadto plik plugin.yml jest poprawny, tylko trzeba wejść na pastebin bo forum psuje formatowanie. (jeśli nadal uważasz że jest złe, to dlaczego w swoim tucie dałeś tak samo ? :))

 

Również pozdrawiam ! ^_^

 

PS Tak mogą być błędy bo utraciłem wszystkie pliki projektu do tego tuta. Ale myślę że user ma na tyle muzgu żeby domyślić się o co kaman :D

Opublikowano

@piotrek

 

Pliki YAML są dokładnie sprawdzanie przez Bukkita ;)

Masz tam "jednego entera" przez co prawdopodobnie będzie wywoływało błąd "Invalid plugin.yml" :P

 

Podałem Ci w moim tutku.

 

@Down

 

Mówię o enterze, a nie TABie :P Nie zauważyłeś? Między "version", a "commands"

Opublikowano

@piotrek

 

Pliki YAML są dokładnie sprawdzanie przez Bukkita ;)

Masz tam "jednego entera" przez co prawdopodobnie będzie wywoływało błąd "Invalid plugin.yml" :P

 

Podałem Ci w moim tutku.

Hmm, ja tam żadnego entera nie zauważyłem o.0 Zawsze kopiuję sobie kod z tąd bo mi się pisać nie chce i wszystko działa. Poza tym pisałem go w notepad++ gdzie mam automatyczne używanie spacji zamiast tabulatora, więc nie możliwe by tam był enter :D

 

Tutorial może nie jest w 100% poprawny, ale działa i jest dobrze wszystko wytłumaczone :) Ale spokojnie, już zacząłem pisać nową zaktualizowaną wersję więc może za jakiś tydzień ją skończę i wrzucę zaktualizowaną i lepiej opisaną wersję.

Opublikowano

@piotrek54PL

 

Zaktualizuj swój poradnik.

 

plugin.yml u ciebie nie jest poprawny.

Nie używa się już "@Override" przed funkcjami "onEnable", "onDisable".

Wpisaną komendę (przynajmniej ja pobieram inaczej) pobiera się inaczej.

I.. em... jak ma działać komenda którą dałeś w tutorialu jak w ogóle serwer nie wie że taka istnieje, LOL.

 

Czyli - twój poradnik nie jest na aktualną wersję MC tylko na stare wersje, i jedynie można się z niego nauczyć jak NIE PISAĆ pluginów, zamiast jak pisać.

 

Pozdrawiam :)

Nie popisałeś się. Adnotacji @Override używa się przed takimi metodami jak odDisable() i onEnable(). Robi się tak dlatego, że klasa którą dziedziczy klasa główna pluginu czyli JavaPlugin jest abstrakcyjna a wszystkie metody przesłonione powinny mieć właśnie tą adnotację. Dzięki temu kod może być łatwiejszy do zrozumienia. A jeśli jesteś ciekawy czemu nie jest wyświetlany żaden błąd to jest na to prosta odpowiedź. Twoje IDE (Eclipse) samo to poprawia w czasie kompilacji.

 

@piotrek

 

Pliki YAML są dokładnie sprawdzanie przez Bukkita ;)

Masz tam "jednego entera" przez co prawdopodobnie będzie wywoływało błąd "Invalid plugin.yml" :P

 

Podałem Ci w moim tutku.

 

@Down

 

Mówię o enterze, a nie TABie :P Nie zauważyłeś? Między "version", a "commands"

Tutaj tak samo jak wyżej. Nie popisałeś się. Bukkit nie sprawdza odstępu między poszczególnymi liniami plugin.yml. Oznacza to, że można oddzielać linie enterami do woli.

Opublikowano

ja mam takie pytanie odnośnie plików konfiguracyjnych... czy da się... znaczy wiem, że się da, pytanie jak? jak "dostać się" do pliku konfiguracyjnego z innej klasy niż ta w której został stworzony?

 

@Edit

 

Źle... dowiedziałem się, że możliwość operowania na plikach konfiguracyjnych jest dziedziczona z JavaPlugin, jednak to posiada jedynie klasa gówna pluginu. I teraz jeżeli chcemy plik konfiguracyjny w innej klasie niż główna to co należy zrobić?

Opublikowano

No no coraz lepiej. Powodzenia:). Mam takie pytanie. Jak mogę zrobić ze gdy ktoś kliknie PPM na np. blok o id 49 to wykona sie jakas akcja? Jak też zrobić ze otwiera sie skrzyna jako ta akcja która ma 5 slotów?

Opublikowano

No no coraz lepiej. Powodzenia:). Mam takie pytanie. Jak mogę zrobić ze gdy ktoś kliknie PPM na np. blok o id 49 to wykona sie jakas akcja? Jak też zrobić ze otwiera sie skrzyna jako ta akcja która ma 5 slotów?

Ponawiam pytanie. :)

Opublikowano

Ponawiam pytanie. :)

Aby sprawdzić czy gracz na coś klika trzeba użyć eventu:

PlayerInteractEvent

Gdy już będziesz go mieć sprawdź czy gracz klika na blok:

if(event.getAction() == Action.RIGHT_CLICK_BLOCK)

Jeśli jesteś już pewien, że gracz wykonał odpowiednie kliknięcie sprawdź id bloku:

if(event.getClickedBlock().getTypeId() == 49)

A dalej robisz już to co chcesz.

 

Ps. mogą być w tym błędy bo pisałem z pamięci bo jestem poza domem.

Opublikowano

Dziekuje perfekcyjnie dziala. Znalazlem tez przy tym inne przydatne akcje z tym eventem.

Ale nie wiem jak moge zrobic ten blok jako skrzynka. Czyli klikam PPM na blok tak jak jest up, ale wyslanie wiadomosci klikajacemu to nie najlepsze rozwiazanie.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...