Plugin java.jar
#1
Napisano 09 marca 2012 - 06:05
potrzebuję pilnie speca do przekompilowania plugina. mam źródła.
#2
Napisano 09 marca 2012 - 09:45
#3
Napisano 09 marca 2012 - 10:49
Mam Netbeansa, mam Eclipse, no i co najważniejsze, mam konsolę!
#4
Napisano 10 marca 2012 - 12:17
ale dzięki, będę wiedział na przyszłość do kogo się zgłosić, może się zdarzyć, że będę potrzebował pomocy.
tym razem to było proste, wystarczyło zmienić jedno true na false i skasować dwie cyfry 1.
czasem są pluginy, które nie uruchamiają się, bo się zestarzały i trzeba je zwyczajnie przekompilować na nowej wersji serwera.
#5
Napisano 10 marca 2012 - 03:16
kogo by to tam obchodziło
..."Umiesz liczyć - licz na siebie"...
Head Admin @ Tawerna-cs.org
#6
Napisano 12 marca 2012 - 10:13
a czy dalibyście radę napisać coś w javie?
np. coś na wzór tego w załączniku.
trzeba dodać do projektu bibliotekę zewnętrzną craftbukkit.jar, pobraną stąd, najnowszą beta - http://dl.bukkit.org...ds/craftbukkit/
oraz javadoc podłączone stąd -> http://jd.bukkit.org/apidocs/
i exportować do jar.
to w załaczniku można by przekompilować w oparciu o te najnowsze biblioteki.
ja patrzyłem ale zgłasza jakieś błędy javy, a ja tego nie czaję.
dlaczego pytam o napisanie czegoś ? bo Skral zgłaszał wielokrotnie pomysł, który moim zdaniem jest ciekawy, ale nie ma tego nigdzie, a pisanie o pomoc na forum Bukkit nie ma sensu.
chodzi o ogniska - campfire.
2012-03-12_09.26.16.png 215,69 KB 19 Ilość pobrań
plugin robiłby to co tamten mobrepellent - odstraszał moby.
- jeśli zrobi się dokładnie tak jak na screenie, log + stone slabs, i podpali, i dopóki te warunki będą spełnione, to moby nie będą podchodziły na odległość, powiedzmy 16 bloków. ogień to tez blok i mozna sprawdzić jego obecność w tym wszystkim.
byłby to fajny dodatek do naszego świata Pandora, zapada noc, rozpalasz ognisko i masz spokój, dopóki ogień się pali.
- inną rzeczą zgłaszaną przez Skrala jest odczuwanie zimna w biomie zimowym.
kiedy jesteś w biomie - to da się sprawdzić, zaczynasz czuć większy głód, a twoje zdrowie -pasek życia- zaczyna schodzić. chyba, że jesteś blisko lavy, blisko ognia (ogniska), lub masz skórzane ciuchy na sobie.
- na pustyni, jeśli jestes w słońcu, zaczyna ci być gorąco i pasek ci schodzi, musisz iść w cień.
takie rzeczy dodałyby trochę smaczku RPG do gry.
wiem, że to duże wyzwanie i że pewnie nic z tego nie będzie, ale....
żebym trochę kumał tą javę, to sam bym spróbował, ale nic nie wiem...
#7
Napisano 12 marca 2012 - 10:33
#8
Napisano 12 marca 2012 - 09:33
#9
Napisano 12 marca 2012 - 10:29
Jak mi się przypomnisz w piątek, najlepiej mailowo, albo na gadu (gadu podałem, a mail to jsokol@banid.pl) to postaram się chociaż rozeznać w terenie czy przyjaźnie jest opisana dokumentacja, bo to może być klucz do szybkiego i sprawnego napisania takiego pluginu. Póki co niestety nie chcę się w to zagłębiać, bo jakbym już zaczął czytać, to pewnie by mnie późna noc zastała, a i tak z wszystkimi terminami w plecy jestem Puść mi przypominacza w piątek (choćby z rana) to postaram się chociaż rozpoznać grunt pod nogami.
Pozdr
#10
Napisano 16 marca 2012 - 07:21
bumpy dumpy
#11
Napisano 16 marca 2012 - 07:50
http://wiki.bukkit.o...rtal:Developers
http://wiki.bukkit.org/Plugin_Tutorial
#12
Napisano 16 marca 2012 - 01:34
http://bukkit.org/
to jest forum gdzie one wszystkie są.
ja niestety nie jarze tej javy, kiedyś sie bawiłem C i C++ ale to było dawno...
#14
Napisano 17 marca 2012 - 08:34
Myślałem że wczoraj znajdę chwil parę, ale roboty było co nie miara, więc piątek jednak okazał się nie być "luźniejszym dniem"
#15
Napisano 17 marca 2012 - 11:08
Przedyskutowaliśmy to wczoraj z Shatanem. Coś mniej więcej się z tego wyłania. Miałoby to działać następująco:
- gracz buduje ognisko składające się z 4 steps (44), opału w środku - log (17) lub wood (5), oraz skrzyni (54) poniżej, podpala opał, pojawia się blok ognia (51), po czym wpisuje komendę /campfire, lub /ognisko i uzyskuje ochronę przed mobami. (patrz screens poniżej). Po co ta skrzynia? pierwotnie miało być tak, że gracz miał kłaść nowy opał po każdym razie jak się wypali, ale w ten sposób, musiałby cały czas stać przy tym ognisku. Wpadłem więc na pomysł, żeby dać skrzynię, do której można załadować więcej opału i ogień będzie się palił dopóki będzie opał w skrzyni.
Szczegółowo do może działać następująco:
- plugin nie robi nic, dopóki gracz nie wpisze komendy. Po wpisaniu komendy, plugin znajduje pozycję gracza, po czym sprawdza czy miejsce na które wskazuje celownik to jest jeden z elementów ogniska i począwszy od tego sprawdza czy sąsiednie bloki tworzą zdefiniowaną strukturę ogniska, lub bardziej zaawansowany sposób, gdzie plugin wyszukuje np. blok ognia w promieniu kilku bloków od gracza i od tego poczynające sprawdza strukturę ogniska.
-- jeżeli znajdzie ognisko, to załącza ochronę,
-- jeżeli nie znajdzie to wyświetli info - najpierw rozpal ognisko, czy coś takiego, po czym się wyłącza.
(można to zrobić bez komendy, ale wtedy plugin musiałby skanować mapę wokół każdego gracza non stop - co obciąża niepotrzebnie serwer.)
- plugin sprawdza obecność bloku ognia w strukturze ogniska.
--jeżeli ogień zanika, to plugin sprawdza czy w ognisku jest opał - czy blok loga nadal tam jest, a ogień zwyczajnie zgasł np. od deszczu.
-- wtedy załącza się procedura braku ognia.
-- jeśli nie ma opału, bo się wypalił, to plugin sprawdzi czy w skrzyni poniżej znajduje się opał
---jeśli jest to odejmuje jedną sztukę, spawnuje blok opału w ognisku oraz zapala go. Całość odbywa się w sposób niezauważalny - ogień pali się ciągle, dopóki jest opał w skrzyni.
---jeśli w skrzyni nie ma opału, to załącza się procedura braku ognia.
- procedura braku ognia - plugin wyświetli info - 'brak ognia lub opału' i czeka określony czas np. 10s na reakcję gracza, który w tym czasie może, albo zapalić log jeśli jest w ognisku, położyć nowy log do ogniska i uzupełnić/lub nie zapas opału w skrzyni.
--jeżeli w tym czasie ogień się pojawi, to plugin kontynuuje działanie i ochronę
--jeżeli czas upłynie i nie będzie ognia, to plugin wyłącza ochronę i przestaje cokolwiek robić.
dwie sprawy :
-czas oczekiwania nie może być zbyt długi, bo będą oszukiwać i kłaść pojedyncze bloki opału, bo wtedy mniej się go spali.
-czas palenia się można pozostawić mechanizmowi gry, lub zdefiniować w konfigu. np: log 30s, wood 15s. Prościej byłoby pozostawić to grze, ale w przypadku, gdy na serwerze jest wyłaczone rozprzestrzenianie ognia, to wtedy opał się nigdy nie spali, będzie się palił wiecznie.
Jeżeli zdefiniujemy czas (nie wiem jak to zadziała, czy opał się nie spali wcześniej jeśli gra tak zdecyduje) to wtedy możemy zrobić tak, że jeżeli opał jest w skrzyni, to czas palenia będzie dłuższy o te 10s (czas oczekiwania na reakcję gracza) niż wtedy, gdy podkładamy ręcznie. wówczas nic nie da przeciąganie dokładania. dalej....
-ochrona- musi się składać z kilku elementów, żeby była skuteczna
--na obszarze wokół ogniska -chunk z ogniskiem tylko, lub również sąsiednie- wyłaczone spawnowanie mobów
--gracz powinien mieć włączone ignorowanie go przez moby-tak jak to jest w trybie Creative
--gracz powinien mieć włączoną przyspieszoną regenerację zdrowia. Normalnie jest co 1 serce co 8s, wiec tutaj możemy zrobić 1 serce co 4 s.
--gracz musi się znajdować w pobliżu ogniska- zdefiniowana odległość, myslę, że max 8bloków, jezeli odejdzie zbyt daleko to plugin rozpocznie proceduję wyłączania ogniska i ochrony
- wyświetli komunikat 'pilnuj ogniska' czy coś takiego i po określonym czasie np. 30s, wyłączy ogień-usunie blok, wyłączy ochronę gracza, zaprzestanie robić cokolwiek.
za każdym razem ponowne włączenie ogniska musi się odbywać jak na początku.
to mniej więcej tyle. napisałem, żeby zostało i nie zapomniało, jakby się ten projekt przedłużał znacznie, z powodu braku czasu na realizację.
Załączone pliki
#16
Napisano 17 marca 2012 - 11:23
Dream As You'll Live Forever. Live As You'll Die Today.
#18
Napisano 18 marca 2012 - 01:30
masz na mysli, listę graczy na mapie, na serwerze, czy pozycję gracza?
#19
Napisano 18 marca 2012 - 04:27
I tak będę musiał co sekundę sprawdzać czy gracz jest w zasięgu campfire, aby go leczyć, a w ciągu sekundy gracz może przemieścić się o kilka bloków co dawałoby kilka sprawdzeń więcej. Co więcej zawsze mogę nawet sprawdzać co dwie sekundy np
#20
Napisano 18 marca 2012 - 06:24
na pewno pluginy typu WorldBorder ( https://github.com/B...lan/WorldBorder ) - ustawia granicę świata i nie puszcza graczy poza oraz WorldGuard ( https://github.com/sk89q/worldguard/ ) , cuboidy zabezpieczenia, mają funkcje monitorowania pozycji gracza względem założonych obszarów.
Regeneracja zdrowia odbywa się pół serca na 4 s, więc sprawdzanie co 2 sek (~50ticków serwera) w zupełności wystarczy.