Skocz do zawartości
Sop24PL

SAutoMSG - Automatyczne wiadomości

Rekomendowane odpowiedzi

Użytkownik

SAutoMSG

Plugin na automatyczne wiadomości

PluginZarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Releases: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Masz jakiś problem związany z pluginem? Poprostu napisz Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Chcesz wiedzieć na jakim plugin jest poziomie? Tutaj wszystko jest czarno na białym -> Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Funkcje:

  • Wysyłanie automatycznych wiadomości co X sekund (możliwość zmiany)
  • Pełna konfiguracja pluginu
  • Możliwość edycji prefixu
  • Możliwość kolorowania wiadomości jak i prefixu
  • Możliwość włączania/wyłączania wysyłania wiadomości [WERSJA #1.1]

Informacje dodadkowe: Plugin będzie rozwijany. Te funkcje które tu przedstawiłem są to funkcje podstawowe ale będę oczywiście wprowadzał nowe. Wszystko będzie działo się na GitHubie.

Przykładowy config:

Spoiler

tag: '&7[&a&lINFO&7]'
interval: 10
admin-permission: 'info.admin'

status: true
messages:
  - 'Witaj na serwerze!'
  - 'Baw sie dobrze!'
  - '&cCheaterow zglaszaj na &a/helpop'
  - 'Admin nie poprosi o haslo!'

Kod: Dostępny na GitHubie

ToDo (na najbliższe tygodnie):

  • Dodanie dźwięku po wysłaniu wiadomości
  • Dodanie panelu administracyjnego w GUI :seemskappa:
  • Dodanie wieloliniowych wiadomości
  • Dodanie zmiennych typu {PLAYERS}
  • Wasze pomysły

 

Edytowane przez Sop24PL
Update (#1.1)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
translateColor();

Po co to dałeś w onEnable(), skoro masz metodę colorMessage?

tag = colorMessage(getConfig().getString("tag"));

Po drugie, te zmienne:

public static List<String> msgs;
public static int interval;
public static String tag;
public static String perm;
public static int lastMsg = 0;

powinny być prywatne.

Edytowane przez KrejzolekPRO

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
1 minutę temu, KrejzolekPRO napisał:
translateColor();

Po co to dałeś w onEnable(), skoro masz metodę colorMessage?

tag = colorMessage(getConfig().getString("tag"));

Po drugie, te zmienne:

public static List<String> msgs;
public static int interval;
public static String tag;
public static String perm;
public static int lastMsg = 0;

powinny być prywatne.

W następnym wydaniu poprawie to. Zmienne są publiczne, ponieważ nie wiem czy nie wykorzystam ich w innych klasach, ale na chwilę obecną zmienie je chyba na private

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
Godzinę temu, KrejzolekPRO napisał:
translateColor();

Po co to dałeś w onEnable(), skoro masz metodę colorMessage?

tag = colorMessage(getConfig().getString("tag"));

Po drugie, te zmienne:

public static List<String> msgs;
public static int interval;
public static String tag;
public static String perm;
public static int lastMsg = 0;

powinny być prywatne.

Lepiej zwrócić uwage na to ze moga byc one finalne, ze uzywa on timera, robi wszystko statycznie i przy kazdym wysylaniu wiadomosci tworzy nowa instancje random :/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
2 minuty temu, yooniks napisał:

Lepiej zwrócić uwage na to ze moga byc one finalne, ze uzywa on timera, robi wszystko statycznie i przy kazdym wysylaniu wiadomosci tworzy nowa instancje random :/

Chodzi ci o to aby dodać przed Random final czy żeby przenieść Random na góre? Właśnie pracuję nad updatem. Myślę, że za jakieś max.30 minut będzie gotowy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Update (#1.1)

Nowy Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!/plik Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! został umieszczony na GitHubie!

ChangeLog również dostępny na Releases

To do podane na GitHubie oraz tutaj nie jest to wszystko co będzie. Są to tylko plany na najbliższe tygodnie. Jeśli macie jakieś pomysły piszcie. Chętnie dodam je do listy na GitHubie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Kod wygląda tragicznie, osobiście bym tego nie używał, nie polecam ;/ 

	private static Random rand = new Random();
	private static Random r = new Random();

po co ci dwa razy to samo? do tego powinno byc finalne

wszystko statycznie, niewydajnie, kod wyglada jak kupa, wszystko zrobione tak oby po prostu dzialalo ;/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
19 minut temu, yooniks napisał:

Kod wygląda tragicznie, osobiście bym tego nie używał, nie polecam ;/ 

	private static Random rand = new Random();
	private static Random r = new Random();

po co ci dwa razy to samo? do tego powinno byc finalne

wszystko statycznie, niewydajnie, kod wyglada jak kupa, wszystko zrobione tak oby po prostu dzialalo ;/

Dziękuję za opinie. No cóż nie każdy docenia pracę i starania innych. Oczywiście będę starał się zoptymalizować kod;

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
5 minut temu, Sop24PL napisał:

Dziękuję za opinie. No cóż nie każdy docenia pracę i starania innych. Oczywiście będę starał się zoptymalizować kod;

A czego sie spodziewasz? Ledwo co ogarnales troche javy i bukkita i od razu robisz publiczny plugin, a kod wyglada jak sraka i jest bardzo niewydajny.

Gdyby kazdy tutaj przychodzil ze swoimi pierwszymi pluginami to te forum byloby zasmiecone ;/ Napiszcie cos pozadnie i dobrze i najlepiej cos nowego, a nie cos co jest dostepne w internecie za darmo, lepsze. A takie projekty zostawcie dla siebie i je poprawiajcie caly czas, az cos z tego wyjdzie, a nie wrzucacie takie cos i pozniej jeszcze ktos ma takie cos uzywac ;/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
23 minuty temu, yooniks napisał:

A czego sie spodziewasz? Ledwo co ogarnales troche javy i bukkita i od razu robisz publiczny plugin, a kod wyglada jak sraka i jest bardzo niewydajny.

Gdyby kazdy tutaj przychodzil ze swoimi pierwszymi pluginami to te forum byloby zasmiecone ;/ Napiszcie cos pozadnie i dobrze i najlepiej cos nowego, a nie cos co jest dostepne w internecie za darmo, lepsze. A takie projekty zostawcie dla siebie i je poprawiajcie caly czas, az cos z tego wyjdzie, a nie wrzucacie takie cos i pozniej jeszcze ktos ma takie cos uzywac ;/

Kod został przed chwilą poprawiony i wstawiony. Wrzuciłem ten plugin, ponieważ chciałem poznać opinię użytkowników. Ale dzięki twojej opinii mam nadzieję, że kod jest już chociaż trochę lepszy

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
26 minut temu, Sop24PL napisał:

Update (#1.3)

Nowy Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!/plik Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! został umieszczony na GitHubie!

ChangeLog również dostępny na Releases

Ile tych updateow będzie az w koncu zrobisz to porządnie? po co uzywasz static jak masz to w jednej klasie i w listenerze tez nie musi byc statycznie jezeli jest (nie czytałem kodu listenera)

Zamiast timera mozesz używać taskow i wgl kod wyglada jak kupa.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
23 minuty temu, yooniks napisał:

Ile tych updateow będzie az w koncu zrobisz to porządnie? po co uzywasz static jak masz to w jednej klasie i w listenerze tez nie musi byc statycznie jezeli jest (nie czytałem kodu listenera)

Zamiast timera mozesz używać taskow i wgl kod wyglada jak kupa.

Twoją opinię o tym że kod wygląda fatalnie już znam. Updatów będzie tyle ile będzie. Pozwól, że sam zadecyduje jakiego typu będą zmienne

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

wszystko w jednej klasie, jak ja tego nienawidzę xd, w readme na githubie błąd ortograficzny 

Cytat

Nic z tych żeczy

}else if (clicked.getType() == Material.GRASS || clicked.getType() == Material.DIRT){
				returnInventory(event, player);
				return;
			}else if (clicked.getType() == Material.PAPER){
				returnInventory(event, player);
  				return;

dwa ify ktore byś mógł połączyć w jedno, ale to drobnostka

	}
		if(sendMsg)
			start();
}

tutaj gdzies nawias uciekł, i nwm czemu ale to jest głupie XD no chyba ze ja jestem głupi wystarczy poprostu samo start(); dodac do onenable a nie if, mordo poucz się bardziej javy i zrób bardziej zaawansowany plugin jesli go udostępniasz, szanuje trochę za staranie i tu mały dla Ciebie +, ale po co komu jakies smieszne gui to AM xd

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
Cytat
  1. Jak plugin liczy czas? Czyżby pętle? Nic z tych żeczy. Plugin do odliczania używa Timer i TimerTask

Jakie pętle? Wuut? I timer i timertask, właśnie to mnie martwi, przecież w bukkicie masz juz takie cos w Scheduler ;/

Cytat
[][]- 'Witaj na serwerze!\nNikt nie cierpi!'

wątpie ,że to zadziała :D powinno być " " jeżeli \n ma działać. (no albo ja nie jestem na tak zaawansowanym poziomie i źle wiedziałem)

Cytat
  1. Czy plugin nie będzie obciążał serwera? Nie pod warunkiem, że nie ustawisz czasu mniejszego niż 5 sekund.

EH ;/ Jakby było dobrze napisane to nawet jakby miało wysyłać wiadomość co sekunde lub nawet kilkaset milisekund (a moze nawet mniej, nie sprawdzalem czy taki spam coś robi) by nie lagowało.

 

Brak konfiguracji gui (itemów, nazwy itd.) 

package Listener z dużej i nie pod twoim package, czemu?

Cytat
@SuppressWarnings({ "deprecation", "static-access" })
 

>.<

Cytat
return;
  }else
  return;

;/

Cytat
@EventHandler
  public void onInventoryClick(InventoryClickEvent event) {
  Player player = (Player) event.getWhoClicked();
Cytat
Inventory inventory = event.getInventory();
  if (inventory.getName().equals(Main.getInst().gui.getName())) {

co jak inventory jest nullem? tzn. gracz kliknie poza inventory - to inventory.getname bedzie zwracac null i bedzie walic bledy :d 

if'y mozna zrobic lepiej, krócej, tak samo całe automessage - jak dla mnie nie ma żadnego sensu, no ale cóż od czegoś trzeba zacząć, w sumie to zrobiłbym forka i poprawił tak jak trzeba, ale wtedy sie niczego nie nauczysz :v 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Dziękuję za opinie. Co do błędów przy gui to w konsoli już nic nie wywala. Oczywiście całość będę udoskonalał. A może macie jakieś pomysły?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×