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] UltimaGuild By FusHerkA


FusHerkA

Rekomendowane odpowiedzi

Opublikowano

@Fulsiek

 

Typie , dostales ten plg nie legalnie nie sprzedaje juz praktycznie pluginow zadnych skonczylem z java raz na zawsze :P moge napisac cos dla znajomego ale napewno nie bede juz sprzedawal mojej roboty :D najnowsza wersje plg ma tzw "palkia" oraz "muras331" Tylko oni i mam zabezpieczenie bede wiedzial od kogo wycieknie :) Ty masz tak stara wersje pluginu ze to poezja ale to szczegol :)

@topic

C do tego pluginu to juz nie chce sie wypowiadac tak jak wtedy wstawil plugin i zostawil projekt :) , Ja polecam dalej uzywanie gildi moich ;D przez rok nikt na nie nie narzekal :) milego dnia .

  • Odpowiedzi 294
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

@offtopic Siemka, mam problem bo robię własne gildie i nie wiem czym regiony zrobić wiem, że WG to gówno. Ale teraz na czym robić te zabezpieczenia ? Chunkami ? 

 

@topic Plugin bardzo fajny, tylko szkoda, że ma trochę bugów.

Opublikowano

Do wszystkich na górze,to jest backdoor dlatego niektórym nie działa...Więc nie polecam ściągać  i tym bardziej wgrywać na serwer..

Opublikowano

@up wpisz sobie w yt Griffujmy z komarem,tam też jest FusHerKa.Więc wiadomo że są bugi i wgl. jak to backdoor.

Opublikowano

Spokój albo polecą bany dla każdego za flamewar.

no ale ziom, słuchaj to jest czysta prawda o nim wiele serwerow zostało przez niego zgriefowanych .. :)

Opublikowano

Witam,

Przed ostatni czas cały czas pracuje nad ulepszaniem pluginu. Od teraz bedzie on na wieksze serwery wszystko teraz bedzie w mysql lub sqlite. (bez pliku guilds.yml) Wlasne cuboidy bez chunk i worldguard. Bedzie dodany plecak gildii w którym bedzie można dawać itemy na rzecz gildi. Bedzie bardzej wydajny i bedzie mniej bugów. Ale to troche potrwa więc bedzię trzeba troszkę poczekać xD

@EDIT

A co do pana hakiera "KoMaR1911" nie pisz bzdur ...

@EDIT2

A do tych co myślą ze jest tam kod na jakies force op co nie istnieją xD (muras twoj force op w visual basic jest op XDDD) to proszę o przepatrzenie kodu tego pluginu dokladnie a pozniej niech rzucają oskarżenia pozdro :)

Opublikowano

@up

Ale napewno to tego Zgrieffuj z komarem nie pomogl zaden moj plugin :) ja mu w zdobywaniu hasel nie pomgam :)

Opublikowano

Jak ustawić płatność itemkami za założenie gildi pomocy jak najszybciej

Pomoże ktoś ?

Do reklam mamy dział.


Opublikowano

Witam,

Przed ostatni czas cały czas pracuje nad ulepszaniem pluginu. Od teraz bedzie on na wieksze serwery wszystko teraz bedzie w mysql lub sqlite. (bez pliku guilds.yml) Wlasne cuboidy bez chunk i worldguard. Bedzie dodany plecak gildii w którym bedzie można dawać itemy na rzecz gildi. Bedzie bardzej wydajny i bedzie mniej bugów. Ale to troche potrwa więc bedzię trzeba troszkę poczekać xD

@Edit

A co do pana hakiera "KoMaR1911" nie pisz bzdur ...

@Edit2

A do tych co myślą ze jest tam kod na jakies force op co nie istnieją xD (muras twoj force op w visual basic jest op XDDD) to proszę o przepatrzenie kodu tego pluginu dokladnie a pozniej niech rzucają oskarżenia pozdro :)

Uf... już się bałam że znowu porzuciłeś temat po kilku dniach!

Przepraszam że musiałeś tyle czekać, ale miałam bana :<

 

No dobra, zaczynajmy :D

 

na początku zdziwił mnie rozmiar, (na taki średni +)

Bo przynajmniej widac ze coś tam jest... ale jak na gildie to i tak raczej słabo, spodziewałam się raczej czegoś 500+

 

 

Potem... SZOK!!! Więcej niż 1 klasa! prawie umarłam ze zdziwienia...

 

No ale dobra, gdzieś tu się kończą dobre wiadomości :D

Czas na resztę, trochę trudno mi to wszystko opisywać... bo kod jednak dość duży, więc trochę mi zajmie zrozumienie jak wszystko działa :>

 

Na początku już chiałam się cieszyć, fush zrobił osobną klase dla Graczy i gildi!

Ale niestety po wejściu do klasy cała radość prysła :<

 

No ale dobra... zaczynamy od początku

Nazewnictwo... czasem poprawne, czasem nie....

 

Guild.class

 

Głowna klasa pluginu...

saveDefaultConfig();

Za błąd tego uznać nie moge... ale niby taki dobry plugin a używa domyślnych konfiguracji z bukkita (które są ograniczone... nawet komentarzy nie można dodać)

 

hook = new Hook(); 

Nie do końca rozumiem dlaczego klasa Hook.class nie jest statyczna, nie potrzebujesz więcej niż 1 instancji, i ogólnie nie ma to żadnego celu :P

 

    Conf = new ConfigHandler(getConfig());

Moja 1 reakcja: OOO ConfigHandler, jednak widać jakieś postępy!

Jednak potem to otworzyłam :<

  public boolean getMySQLUse() {
    return this.config.getBoolean("MySQL.use");
  }

Po to sie robi takie klasy by załadować dane do zmiennych w pluginie i nie uzywać configu, a nie po to by wsadzić tam takie bezsensowne tegesy....

Więc lipa, ale przynajmniej coś jest, ale i tak lipa.

 

    lang = new LangHandler(this);

No... bardzo oryginalny sposób na tworzenie domyślnego configu.

      this.lang.set("NoHaveGuild", "&4Blad:&cNie posiadasz gildi");

i takie coś x 5 tysięcy.

Od robienia plików jest FileWritter :>

 

 

 

sql = new MySQL(getConfig());

zrobiłeś klase od configu a i tak wysyłasz i użwasz tam osobno configu.

    if (file.getBoolean("MySQL.Use")) {
      this.mysql = true;
      this.host = file.getString("MySQL.Host");
      this.port = file.getInt("MySQL.Port");
      this.user = file.getString("MySQL.User");
      this.password = file.getString("MySQL.Password");
      this.database = file.getString("MySQL.DateBase");
    }

no...

 

Do tego... wszystkie metody od bazy danych też powinny sie tam znajdować.

Np metoda od pobrania gracza/gildi z bazy danych.

A u ciebie masz tylko metody do wywołania wybranego SQL...

Czyli kolejna lipa :<

 

 

    getServer().getPluginManager().registerEvents(new PlayerJoinToServer(), this);
    getServer().getPluginManager().registerEvents(new PlayerFightEvent(), this);
    getServer().getPluginManager().registerEvents(new PlayerOnChatEvent(), this);
    getServer().getPluginManager().registerEvents(new PlayerBlockListener(), this);

Przyjeło się by podczas rejestracji używać "pełnych nazw" czyli razem z paczkami :> ogranicza to nadmiar importów w głównej klasie.

 

Miło że zrobiłeś osobną paczke na to wszystko, ale to powinna raczej nazywać sie "Listeners" :P Events to raczej własne eventy, a ty nasłuchujesz do już istniejących. Ale to tam pikuś

 

 

No dobra, to by było na tyle jeśli chodzi o główna klase, przy okazji mamy z głowy kilka innych :>

 

GuildGuild.class

 

Ta... klasa od zarządzania gildią, problem jest jeden, w tej klase jest tylko jej nazwa!

Nie ma żadnych danych....

 

Do tego uzywasz konstruktora do stworzenia nowej gildii...

 

W tej klasie powinny być wszystkie zmienne dotyczące gildi, ładowane na stracie server,a zapisywane pod koniec + autozapis o ile potrzebny.

 

konstruktor powinien własnie zawierać tylko te informacje i wprowadzać je do zmiennych np:

public class GuildGuild {
protected String name, tag;
protected Location p1, p2, spawn;
protected List<String> players;

public GuildGuild(String name, String tag, Location p1, Location p2, Location spawn, List<String> players) {
this.name = name;
this.tag = tag;
this.p1 = p1;
this.p2 = p2;
this.spawn = spawn;
this.players = players;
}
}

No i oczywiście metody do zarządzania tym wszystkim :>

 

A u cb jest tylko jeden wielki burdel :< wygląda jak mój pluin na warny, masakra :D

 

GuildPlayer.class

 

Nie ma się co rozpisywać... to samo co wyżej, z tym że ładujemy podczas logowania i zapisujemy na wyjściu.

 

NewEvents

 

masz własne eventy, zawsze coś....

ALE

Jeśli twój event opiera się na graczu np:

public class PlayerChangeAdmin extends Event
{
  private Player p;

  public static HandlerList getHandlerList() {
    return handlers;
  }
  public PlayerChangeAdmin(Player p, String admin, String NameGuild, String Tag) {
    this.p = p;
  }

(usunełam niepotrzebne mi tegesy :P)

To zamiast bawić się tym graczem... dajesz

extends PlayerEvent

A zamiast robić zmieną "cancel" dodajesZ:

implements Cancellable;

 

NP:

public class PlayerPingEvent extends PlayerEvent implements Cancellable {

	private static final HandlerList handlers = new HandlerList();
	protected boolean cancelled, know;
	protected String nickname, ip;
	protected InfoVariables data;

	public PlayerPingEvent(final Player player, final boolean know, final String nickname, final InfoVariables data) {
		super(player);
		this.know = know;
		this.nickname = nickname;
		this.ip = player.getAddress().getAddress().getHostAddress();
		this.data = data;
	}

	public InfoVariables getData() {
		return this.data;
	}

	public void setData(final InfoVariables data) {
		this.data = data;
	}

	public String getIp() {
		return this.ip;
	}

	public void setIp(final String ip) {
		this.ip = ip;
	}

	public String getNickname() {
		return this.nickname;
	}

	public void setNickname(final String nickname) {
		this.nickname = nickname;
	}

	public boolean isKnow() {
		return this.know;
	}

	public void setKnow(final boolean know) {
		this.know = know;
	}

	@Override
	public boolean isCancelled() {
		return this.cancelled;
	}

	@Override
	public void setCancelled(final boolean  {
		this.cancelled = b;
	}

	@Override
	public HandlerList getHandlers() {
		return PlayerPingEvent.handlers;
	}

	public static HandlerList getHandlerList() {
		return PlayerPingEvent.handlers;
	}
}

super(player); wywołuje konstruktor z rozszerzanej klasy PlayerEvent :>

 

 

GuildCmd

 

Po co te guild w nazwie paczki? :P

Miło .że dodałeś do kazdej klasy przedrostek CMD, tutaj masz +

 

Komendy jak komendy, nie chce mi sie wszystkich opisywać

Często masz tam za duzo nawalone, ale to ze względu na słabe wykonanie samego "szkieletu" pluginu...

 

Niby większośc wiadomości pochodzi z configu, ale czasem są wiadomości nie pobierane z configu...

Oczywiście robi sie takie wiadomości, ale raczej tylko do błędów i po angielsku.

 

źle nie jest, ale dupy nie urywa.

 

Jakaś tam klasa 

 

 catch (SQLException e) {
      System.out.println(e);
      return false;
    } finally {
      if (rs != null)
        try {
          rs.close();
        }
        catch (SQLException localSQLException7) {
        }
      if (st != null)
        try {
          st.close();
        }
        catch (SQLException localSQLException8)
        {
        }
    }
    if (rs != null)
      try {
        rs.close();
      }
      catch (SQLException localSQLException9) {
      }
    if (st != null)
      try {
        st.close();
      }
      catch (SQLException localSQLException10)
      {
      }
    return false;
  }

Masz tu 2x ten sam kod... powinien być tylko w tym finally :>

finally ma to do siebie że wywołuje się zawsze :P

I te wszystkie localSQLException7, skoro i tak nic tam nie dajesz... to otocz to jednym try-iem albo użyj throw

 

Metody od chunków i wszystkie te klasy też są zaśmiecone i nie tak zrobione.

 

 

 

No więc tak... postępy widać... ale dalej jest lipa, ale i tak lepiej niż większość tego forum... (licząc tylko tych co piszą)

I jeszcze strasznie wkurza te przeplatanie angielskiego z polskim w kodzie np masz cos w stylu:

int guildRadius = ...
int wielkosc = ...

Albop jedno, albo drugie, lepiej te pierwsze :P (angielskie)

Do tego masz nazwe paczki z dużej litery :<

 

 

I w wielu komendach masz taki kod:

 public static void removeFromInv(Inventory inv, Material mat, int dmgValue, int amount)
  {
    if (inv.contains(mat)) {
      int remaining = amount;
      ItemStack[] contents = inv.getContents();
      for (ItemStack is : contents) {
        if ((is != null) && 
          (is.getType() == mat) && (
          (is.getDurability() == dmgValue) || (dmgValue <= 0))) {
          if (is.getAmount() > remaining) {
            is.setAmount(is.getAmount() - remaining);
            remaining = 0;
          }
          else if ((is.getAmount() <= remaining) && 
            (remaining > 0)) {
            remaining -= is.getAmount();
            is.setType(Material.AIR);
          }

        }

      }

      inv.setContents(contents);
    }
  }

Daj go w osobnej klasie np Utils, i tyle...

 

Do tego... cuboidy w WG, teoretycznie masz inne opcje nie wymagający dodatkowych pluginów, ale bardziej ograniczone.

Owie "Hooki" powinny tylko poprawiać kompatybilność między pluginami - jeśli mój plugin zmienia nazwe gracza, upewniam sie by essentials tez się o tym dowiedziało.

Oczywiście taki przykład z pupy, ale wiadomo o co chodzi :P


  public String setColor(String text) {
    return text.replaceAll("&", "§");
  }

Buikkit ma wbudowaną opcje od tego :>

w klasie ChatColor

 

No i to by było tyle! ogólnie raczej średnio

 

 Omg,To jest backdoor/komendy dające opa.ktoś tam podał link jak griffują serwery.I to prawda.Myślisz że będziesz fajny jak zgriffujesz serwer? Ktoś wkłada w to prace,a ty to sobie niszczysz.Jak to mówią "Łatwo coś zniszczyć,ale trudno odbudować"

 

Nie polecam ściągać pluginu :>

Hym... nie przeszukiwałam tego dokładnie... ale jak dla mnie nic tam nie ma :>

Jak jest to pokaż gdzie... bo napisać to każdy może.

"Myślisz że będziesz fajny jak napiszesz że tam jest jakiś haczyk"

 

Jak coś jest to pokażcie :P

To samo do cb @TheKrokodail nup...

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

@up Nawet cie nie znam,ale widać że już krytykujesz.Jestem na fonie i nie mogę napisać.Sam wiem jak sie pisze backdoory,Digi też wie,dla niego pestka :D (digitalix jak ktoś nie wie) + Sam moge napisać pl na gildie.Ten jest marny,aż mi rzygać się chce jak na to patrze,Pozdrawiam.

Opublikowano

@up Nawet cie nie znam,ale widać że już krytykujesz.Jestem na fonie i nie mogę napisać.Sam wiem jak sie pisze backdoory,Digi też wie,dla niego pestka :D (digitalix jak ktoś nie wie) + Sam moge napisać pl na gildie.Ten jest marny,aż mi rzygać się chce jak na to patrze,Pozdrawiam.

napisz plugin na gildie i go opublikuj na mpc zobaczymy czy kod bedzie lepszy 

bo jak narazie to pokazales tylko ze hejtowac potrafisz

Opublikowano

@up Nawet cie nie znam,ale widać że już krytykujesz.Jestem na fonie i nie mogę napisać.Sam wiem jak sie pisze backdoory,Digi też wie,dla niego pestka :D (digitalix jak ktoś nie wie) + Sam moge napisać pl na gildie.Ten jest marny,aż mi rzygać się chce jak na to patrze,Pozdrawiam.

no ale skoro tam jest, to go pokaż :>

I tak, krytykuje/oceniam... coś jest w tym złego?

 

@PokerFacePL

 

napisz plugin na gildie i go opublikuj na mpc zobaczymy czy kod bedzie lepszy 

bo jak narazie to pokazales tylko ze hejtowac potrafisz

Hejt a krytyka to co innego... wszystko jest uzasadnione i poprate przykładami...

A nawet dostał kilka +

 

Hejt to ty piszesz... nic nie uzasadnione a tylko po mnie "jedziesz" :>

 

Nie napisze pluginu na gildie... bo mam w dupce servery pvp i gildie... a gildie to kupe roboty :>

(takie dobre)

 

I to nudnej roboty... bo pisanie 100 wiadomości po po prostu wkurwia

"sorry, nie mozesz dać tu gildi"

"Sory, nie masz permission"

"potrzebujesz jeszcze 14 ciastek by uj cie strzelił"

Więc nie dziękuje, wole moje projekty nie związane tak z zarządzaniem graczy :D gdzie nie trzeba się pierdzilic z nudnymi komendami i wiadomościami

 

EDIT: hyym myślałam ze to do mnie było o.O ślepota ze mnie :<

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

@Tearquester

Wejdź do plugin.yml i usuń linie aliases: [kick]

    wyrzuc:
        description: Komenda do dolaczania do gildi
        aliases: [kick] 

@Fush

Omg, naprawdę? Nawet ci się nie chciało opisać komend w plugin.yml (Przy każdej komendzie: Komenda do dolaczania do gildi)"

Ale masz ode mnie plusa za to że chociaż nie ma 3 class tak jak poprzednio

Ale minusy już podała Karolina ;)

Opublikowano

@PokerFacePL nie upublikuję,bo skkf/mchc nie będzie już miało stylu,czy coś (chodzi o pl) Moge ci sprzedać za  65 zł...A Karolina ma rację.Zapraszam na ts'a/skype może pogadamy?

Opublikowano

@Tearquester

Wejdź do plugin.yml i usuń linie aliases: [kick]

    wyrzuc:
        description: Komenda do dolaczania do gildi
        aliases: [kick] 

@Fush

Omg, naprawdę? Nawet ci się nie chciało opisać komend w plugin.yml (Przy każdej komendzie: Komenda do dolaczania do gildi)"

Ale masz ode mnie plusa za to że chociaż nie ma 3 class tak jak poprzednio

Ale minusy już podała Karolina ;)

A gdzie ten plik jest?

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...