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

[DL][Autorski] MyJoin - Koniec z spamem o wejściu/wyjściu!


Rekomendowane odpowiedzi

Opublikowano

Kolega wyżej pewnie nawet nie pobrał :D Można prosić byś mi pokazał mi co jest słabo i jak to zmienić? Jestem kurwa ciekaw. Nie chwale się tym gównem zalega w eclipse to dałem ludziom. Teraz takie info dla wszystkich gdyby nie wasze proszenie innch o pluginy na gildie za darmo ty by pewnie już dawno bybył. Tak wam śpieznoj

10732745374541468291.png

Opublikowano

Kolega wyżej pewnie nawet nie pobrał :D Można prosić byś mi pokazj

Pobrałem. Da się to łatwiej napisać i sprawniej.

Myślę, że Mruczek wiesz z kim piszesz. ;- )

Opublikowano

Pobrałem. Da się to łatwiej napisać i sprawniej.

Myślę, że Mruczek wiesz z kim piszesz. ;- )

 

Ee nie wiem a z kim to mam przyjemność? Pokaż ze napiszesz to lepiej i daj na forum. CZEKAM.

 

Ps. Już nie będe dawał na forum gówiem z mojego eclipse. Chcieć dobrze, ale dostać hejt na ryj, i kłode pod nogi.

Moda prosze o wywalenie do kosza i usuniecie tresci. Poczekajmy oa wasze pluginy wielcy programiści :3

10732745374541468291.png

Opublikowano

Usuń taką prosta rzecz lub daj to jako ustawienie. Jak ktoś wejdzie i wyjdzie to go nie dodawaj do listy...

Prościej pisząc... jak jest jednocześnie na obu listach to go olej, bo to nie potrzebne.

Podpowiedz: w evencie na zalogowanie sprawdź czy gracz jest już na liście tych co wyszli i jak jest... to go usuń z tej listy. I to samo w drugą stronę.

 

 

I po 2

messageJoin = getConfig().getString("messageJoin").replaceAll("(&([a-fk-or0-9]))", "§$2");

WHY?

 

Jebnij sobie takie cuś:

	public static String fixMsg(String msg) {
		return ChatColor.translateAlternateColorCodes('&', msg.replace("%n", "\n"));
	}
a u sb w kodzie daj jedynie:

messageJoin = fixMsg(getConfig().getString("messageJoin"));
Dodatkowo można robić nowe linie używając %n

 

 

 

Do tego brakuje prostej komendy do przeładowania configu ;/

zamień

for (Player player : Bukkit.getServer().getOnlinePlayers()) {

player.sendMessage(joinMsg);

}

 

na:

 

Bukkit.broadcast(joinMsg, "Jakies.tam.permissions");

 

Wygodniejsze i wysyła tylko do tych z permissions, permissions daj w plugin.yml jako domyślne, dzięki temu jak ktoś będzie chciał może dać komuś ujemne permissions by nie otrzymywał tego info. Ewentualnie:

 

Bukkit.broadcastMessage(joinMsg);

 

To samo ale bez permissions.

 

 

No i jeszcze te metody...

public void announceJoin()
  {
    if (joinList.isEmpty()) {
      return;
    }
    Iterator it = joinList.iterator();
    String joinMsg = "";
    while (it.hasNext())
    {
      String value = (String)it.next();
      if (joinMsg == "")
      {
        joinMsg = messageJoin;
        joinMsg = joinMsg + value;
      }
      else
      {
        joinMsg = joinMsg + seperator + value;
      }
    }
    for (Player player : Bukkit.getServer().getOnlinePlayers()) {
      player.sendMessage(joinMsg);
    }
    joinList.clear();
  }

i prawie to samo dla leave...

nie łatwiej

public void getAnnounce(List<String> list)
  {
    if (list.isEmpty()) {
      return;
    }
    Iterator it = list.iterator();
    String msg = "";
    while (it.hasNext())
    {
      String value = (String)it.next();
      if (msg == "")
      {
        msg = messageJoin; //oczywiście z małym wyjątkiem tutaj, ale można dodac to metody zmienną true/false i wtedy msg = (bool)?messageJoin:messageLeave;
        msg += value;
      }
      else
      {
        msg += seperator + value;
      }
    }
    Bukkit.broadcast(msg, "Jakies.tam.permissions");
    list.clear();
  }
I wtedy użyć tylko tej metody dla obu list?

I dziwne składanie tego msg...

String msg = ((bool)?messageJoin:messageLeave);
    while (it.hasNext())
    {
      String value = (String)it.next();
      msg += value.concat(seperator);
    }
Powinno działać xD

 

 

Hyym i tak jeszcze dodatkowo :D tak z czystej złości i przyzwyczajenia:

 

getServer().getScheduler().runTaskTimerAsynchronously(this, this, interval * 20, interval * 20);

 

		getServer().getScheduler().runTaskTimerAsynchronously(this, new Runnable() {

			@Override
			public void run() {
			    announceJoin();
			    announceLeave();
			}

		}, interval * 20, interval * 20);
Nie musisz używać tego run w żadnym innym miejscu więc po co dawać je ot tak w kodzie, jak można wpierdzielić od razu tam.(i nie trzeba wtedy dodawać implements Runnable)

 

 

 

I tu już mogę się mylić ale nie chce mi się sprawdzać o.O

PlayerKickEvent jest chyba nie potrzebny, bo wyjebane chyba tez wywołuje PlayerQuitEvent

Do tego w eventach masz ten sam błąd co z wiadomościami, można to wyeksportować do metody zamiast się pierdzielić.

 

Dobra kończę... bo napisałam więcej niż tam jest kodu :D

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Usuń taką prosta rzecz lub daj to jako ustawienie. Jak ktoś wejdzie i wyjdzie to go nie dodawaj do listy...

Prościej pisząc... jak jest jednocześnie na obu listach to go olej, bo to nie potrzebne.

Podpowiedz: w evencie na zalogowanie sprawdź czy gracz jest już na liście tych co wyszli i jak jest... to go usuń z tej listy. I to samo w drugą stronę.

 

 

I po 2

messageJoin = getConfig().getString("messageJoin").replaceAll("(&([a-fk-or0-9]))", "§$2");

WHY?

 

Jebnij sobie takie cuś:

	public static String fixMsg(String msg) {
		return ChatColor.translateAlternateColorCodes('&', msg.replace("%n", "\n"));
	}
a u sb w kodzie daj jedynie:

messageJoin = fixMsg(getConfig().getString("messageJoin"));
Dodatkowo można robić nowe linie używając %n

 

 

 

Do tego brakuje prostej komendy do przeładowania configu ;/

zamień

for (Player player : Bukkit.getServer().getOnlinePlayers()) {

player.sendMessage(joinMsg);

}

 

na:

 

Bukkit.broadcast(joinMsg, "Jakies.tam.permissions");

 

Wygodniejsze i wysyła tylko do tych z permissions, permissions daj w plugin.yml jako domyślne, dzięki temu jak ktoś będzie chciał może dać komuś ujemne permissions by nie otrzymywał tego info. Ewentualnie:

 

Bukkit.broadcastMessage(joinMsg);

 

To samo ale bez permissions.

 

 

No i jeszcze te metody...

public void announceJoin()
  {
    if (joinList.isEmpty()) {
      return;
    }
    Iterator it = joinList.iterator();
    String joinMsg = "";
    while (it.hasNext())
    {
      String value = (String)it.next();
      if (joinMsg == "")
      {
        joinMsg = messageJoin;
        joinMsg = joinMsg + value;
      }
      else
      {
        joinMsg = joinMsg + seperator + value;
      }
    }
    for (Player player : Bukkit.getServer().getOnlinePlayers()) {
      player.sendMessage(joinMsg);
    }
    joinList.clear();
  }

i prawie to samo dla leave...

nie łatwiej

public void getAnnounce(List<String> list)
  {
    if (list.isEmpty()) {
      return;
    }
    Iterator it = list.iterator();
    String msg = "";
    while (it.hasNext())
    {
      String value = (String)it.next();
      if (msg == "")
      {
        msg = messageJoin; //oczywiście z małym wyjątkiem tutaj, ale można dodac to metody zmienną true/false i wtedy msg = (bool)?messageJoin:messageLeave;
        msg += value;
      }
      else
      {
        msg += seperator + value;
      }
    }
    Bukkit.broadcast(msg, "Jakies.tam.permissions");
    list.clear();
  }
I wtedy użyć tylko tej metody dla obu list?

I dziwne składanie tego msg...

String msg = ((bool)?messageJoin:messageLeave);
    while (it.hasNext())
    {
      String value = (String)it.next();
      msg += value.concat(seperator);
    }
Powinno działać xD

 

 

Hyym i tak jeszcze dodatkowo :D tak z czystej złości i przyzwyczajenia:

 

getServer().getScheduler().runTaskTimerAsynchronously(this, this, interval * 20, interval * 20);

 

		getServer().getScheduler().runTaskTimerAsynchronously(this, new Runnable() {

			@Override
			public void run() {
			    announceJoin();
			    announceLeave();
			}

		}, interval * 20, interval * 20);
Nie musisz używać tego run w żadnym innym miejscu więc po co dawać je ot tak w kodzie, jak można wpierdzielić od razu tam.(i nie trzeba wtedy dodawać implements Runnable)

 

 

 

I tu już mogę się mylić ale nie chce mi się sprawdzać o.O

PlayerKickEvent jest chyba nie potrzebny, bo wyjebane chyba tez wywołuje PlayerQuitEvent

Do tego w eventach masz ten sam błąd co z wiadomościami, można to wyeksportować do metody zamiast się pierdzielić.

 

Dobra kończę... bo napisałam więcej niż tam jest kodu :D

 

Dzięki dzięki, faktycznie, nie pomyślałem :P

W następnej większej aktualizacji coś może z tym zrobię, ogólnie nie mam zamiaru go jakoś rozwijać. (Zamotanie głowy z pluginem na chat, tyle rzeczy co chce tam wpakować, a tak malo czasu :P)

 

Dodaj skan, 1h

Dodany.

10732745374541468291.png

Opublikowano

Hyym swoja drogą, tam jest kilka błędów (w moim)... bo nie uda się z osobnej metody wyczyścić listy. (No chyba że zrobi się to inaczej, ale to szkoda zachodu)
żeby nie było że jestem tylko wredna wysyłam ci na PW mój dziwny kod który tak mi się jakoś napisało przy okazyjnie :D Gratis komenda do reloadu.
Może coś ci się przyda.

 

PS: łącznie ma jakieś 140 linijek czyli chyba tyle samo co u cb :P

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...