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

getboolean/getstring, problem ze sprawdzaniem


Entify

Rekomendowane odpowiedzi

Opublikowano

czesc, mam maly problem ;/

 

pomimo tego ze "entify.antibot.users.gracz" nie istnieje to nie tworzy "entify.antibots.users.gracz: false"

co tu jest zle?

	public void onConnect(AsyncPlayerPreLoginEvent e){
		String name = e.getName();
		if (AntiBot.getInstance().enable == true){
			if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name) == null){
				AntiBot.getInstance().getConfig().addDefault("entify.antibot.users."+name, Boolean.valueOf(false));
				e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_OTHER, AntiBot.fixColor("&8>> &3dolacz ponownie..."));
			}
			else if (AntiBot.getInstance().getConfig().getBoolean("entify.antibot.users."+name) == Boolean.valueOf(false)){
				String msg = AntiBot.getInstance().getConfig().getString("entify.antibot.kick");
				e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_OTHER, msg);
                //weryfikacja www :)
			}	
		}
	}
}

 

 

 

JAVA <3

 

Opublikowano

1.

Zamiast używać AntiBot.getInstance, po prostu stwórz statyczny config i boolean enable

2.

if (AntiBot.getInstance().enable == true){

w if-statementach nie musisz używać ==. wystarczy

if(AntiBot.getInstance().enable) - wykona się, jeśli boolean jest true

if(!(AntiBot.getInstance().enable)) - wykona się, jeśli boolean jest false

3.

if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name) == null){

:((

z użyciem == porównujesz tylko typy proste! String nie jest typem prostym i porównuje się go metodą .equals()

+ może użyjesz .contains(obj) zamiast .getString() i sprawdzania czy ten string jest nullem

4.

AntiBot.getInstance().getConfig().getBoolean("entify.antibot.users."+name) == Boolean.valueOf(false)

  == false

5. sprawdź czy w configu zapisujesz true zamiast "true" bądź 'true', to samo tyczy się false

Opublikowano
15 godzin temu, DraftHC napisał:

1.

Zamiast używać AntiBot.getInstance, po prostu stwórz statyczny config i boolean enable

2.


if (AntiBot.getInstance().enable == true){

w if-statementach nie musisz używać ==. wystarczy

if(AntiBot.getInstance().enable) - wykona się, jeśli boolean jest true

if(!(AntiBot.getInstance().enable)) - wykona się, jeśli boolean jest false

3.


if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name) == null){

:((

z użyciem == porównujesz tylko typy proste! String nie jest typem prostym i porównuje się go metodą .equals()

+ może użyjesz .contains(obj) zamiast .getString() i sprawdzania czy ten string jest nullem

4.


AntiBot.getInstance().getConfig().getBoolean("entify.antibot.users."+name) == Boolean.valueOf(false)

  == false

5. sprawdź czy w configu zapisujesz true zamiast "true" bądź 'true', to samo tyczy się false

okkkej, zzrozumialem ^^

 

@edit nie dziala :c

@DraftHC

kod:

	private final static String createuser = AntiBot.fixColor("&8>> &3wejdz ponownie...");
	
	public void onConnect(AsyncPlayerPreLoginEvent e){
		String name = e.getName();
		if (AntiBot.getInstance().enable){
			if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name).equals(null)){
				AntiBot.getInstance().getConfig().addDefault("entify.antibot.users."+name, Boolean.valueOf(false));
				e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_WHITELIST, createuser);
			}
			else if (AntiBot.getInstance().getConfig().getBoolean("entify.antibot.users."+name) == false){
				String msg = AntiBot.getInstance().getConfig().getString("entify.antibot.kick");
				e.disallow(AsyncPlayerPreLoginEvent.Result.KICK_WHITELIST, msg);
			}	
		}
	}
}

wgl tak jakby nie dzialal caly event ;/

ani errorow, ani nic nie tworzy.

main;

	public static boolean enable = true;
	public static AntiBot instance;
	
	public void onEnable(){
		  this.getConfig().addDefault("entify.antibot.kick", "&8>> &cMusisz zostac zweryfikowanym aby wejsc na serwer! \n&8>> &cZweryfikuj swoje konto na: &6www.strona.pl");
         	//to zrobie pozniej inaczej, nie zwracajcie na to uwagi
		  this.getConfig().options().copyDefaults(true);
		  this.saveConfig();
		  this.getCommand("antibot").setExecutor(new AntiBotCommand());
		  Bukkit.getPluginManager().registerEvents(new PlayerLoginListener(), this);
		  instance = this;
		  enable = true;
		  System.out.println("[ent_AntiBotWWW] Ochrona serwera wlaczona.");
	}
	
	  
	public static AntiBot getInstance(){
		return instance;
	}
	
	public static String fixColor(String text){
		return ChatColor.translateAlternateColorCodes('&', text.replace(">>", "»").replace("<<", "«"));
	}

}

@__AHA__

@MarcinWieczorek

@GotoFinal

@AdamGrzegorz

 

 

JAVA <3

 

Opublikowano
			if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name).equals(null)){

What the actual fuck? Mamy takie cudo jak contains czy coś w tym stylu. Pamiętając, że jak zapiszesz w yamlu yes/no/on/off/true/false i podobne to możesz je pobrać jak boolean, po prostu robisz configurationSection.set(name, true) gdzie configuration section wskazuje na "entify.antibot.users". Zamiast cudów pamiętaj o hasPlayedBefore i tworzeniu plików dla graczy przez inne pluginy i silnik (chociaż pewnie to pierwsze właśnie patrzy po tych plikach).

 

Edit:

Serio .equals(null)? Kolega co się wykazał takim pomysłem proszę niech opuści salę.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano
13 minut temu, MarcinWieczorek napisał:

			if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name).equals(null)){

What the actual fuck? Mamy takie cudo jak contains czy coś w tym stylu. Pamiętając, że jak zapiszesz w yamlu yes/no/on/off/true/false i podobne to możesz je pobrać jak boolean, po prostu robisz configurationSection.set(name, true) gdzie configuration section wskazuje na "entify.antibot.users". Zamiast cudów pamiętaj o hasPlayedBefore i tworzeniu plików dla graczy przez inne pluginy i silnik (chociaż pewnie to pierwsze właśnie patrzy po tych plikach).

 

Edit:

Serio .equals(null)? Kolega co się wykazał takim pomysłem proszę niech opuści salę.

czyli jak mam sprawdzic?

			if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name).contains(null)){

?

 

p.hasPlayedBefore() chyba odpada, bo mi chodzi o to ze jak gracz nigdy nie laczyl sie z serwerem, a nie jak nigdy gral ;/

 

 

JAVA <3

 

Opublikowano

Jaka jest różnica? Łączył się z serwerem przy pingowaniu i pobieraniu statusu

 

			if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name).contains(null)){

god pls don't

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano
7 minut temu, MarcinWieczorek napisał:

Jaka jest różnica? Łączył się z serwerem przy pingowaniu i pobieraniu statusu

 


			if (AntiBot.getInstance().getConfig().getString("entify.antibot.users."+name).contains(null)){

god pls don't

no ale jak pobrac gracza w asyncplayerpreloginevent?

 

moze najlepiej zrobic jakas metode playerBefore, ktora sprawdza czy nick gracza w configu istnieje

 

 

JAVA <3

 

Opublikowano

To musisz już sprawdzić jak to dokładnie działa. Gdzieś to trzeba zapisać, sprawdź tylko, czy już nie jest zapisywane. Możesz pobrać nick i UUID gracza, to Ci wystarczy.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

dobra dobra, wy robicie mi tu kazania a ja nie dalem tylko @EventHandler nad eventem XDDDD, a bawilem sie z tym chyba 1h

 

@antywarn (bo moge dostac)

jak zrobic wlasna komende w mc? (commandexecutor) - nie odpowiadac ;]

 

 

JAVA <3

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...