Skocz do zawartości
  • 0

array zwraca false


rozumek29

Pytanie

Witam, mam taki oto kod

public ArrayList<UUID> unloginplayers = new ArrayList<>();

public void onJoin(PlayerJoinEvent event){
        Player player = event.getPlayer();
        unloginplayers.add(player.getUniqueId());
        if (isPlayerRegister(player.getUniqueId())){
            player.sendMessage("Wpisz / Login");
        }else {
            player.sendMessage("Wpisz /Register");
        }
        

if (unloginplayers.contains(player.getUniqueId())) {
	// Reszta kodu
}

problem polega na tym że if(unloginplayers.contains(player.getUniqueUD())) zwraca false, pomimo że gdy gracz wejdzie na serwer dodaję go to tej listy

Odnośnik do komentarza
https://skript.pl/temat/41923-array-zwraca-false/
Udostępnij na innych stronach

15 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

jest tam, tylko nie skopiowałem po prostu, sorki. ogólnie onJoin się wykonuję, bo po wejściu na serwer wysyłą do gracza to 

player.sendMessage("Wpisz /Register");
Odnośnik do komentarza
https://skript.pl/temat/41923-array-zwraca-false/#findComment-262766
Udostępnij na innych stronach

  • 0
1 minutę temu, LeviBoyPL napisał:

A metoda 


isPlayerRegister(UUID)

jak wyglada?


 
    public Boolean isPlayerRegister(UUID uuid){
        try{
            PreparedStatement statement = DbConnector.getConnection()
                    .prepareStatement("SELECT * FROM players WHERE UUID=?");
            statement.setString(1, uuid.toString());
            ResultSet result = statement.executeQuery();
            if (result.next()){
                return true;
            }else {
                return false;
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
        return false;
    }

 

Odnośnik do komentarza
https://skript.pl/temat/41923-array-zwraca-false/#findComment-262768
Udostępnij na innych stronach

  • 0
18 minut temu, rozumek29 napisał:

problem polega na tym że if(unloginplayers.contains(player.getUniqueUD())) zwraca false, pomimo że gdy gracz wejdzie na serwer dodaję go to tej listy

Czy próbowałeś:

if (Arrays.asList(unloginplayers).contains(player.getUniqueId()))

 

1 minutę temu, LeviBoyPL napisał:

A metoda 


isPlayerRegister(UUID)

jak wyglada?

Tutaj raczej ta metoda nie ma wpływu na warunek wspomniany w problemie. Mam na myśli to, że UUID gracza jest dodawane do arraya i dopiero później sprawdza czy jest zarejestrowany za pomocą metody isPlayerRegister(). Autor ma problem z ostatnimi trzema linijkami.

Odnośnik do komentarza
https://skript.pl/temat/41923-array-zwraca-false/#findComment-262769
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

Czy próbowałeś:


if (Arrays.asList(unloginplayers).contains(player.getUniqueId()))

właśnie sprawdziłem, niestety nadal to samo :/

Odnośnik do komentarza
https://skript.pl/temat/41923-array-zwraca-false/#findComment-262770
Udostępnij na innych stronach

  • 0

hmm

w zasadzie wygląda że problem leży tutaj

unloginplayers.add(player.getUniqueId());

ponieważ mam też drugą komendę

    @Override
    public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
        if(sender instanceof Player){
            Player player = (Player) sender;
            if (command.getName().equalsIgnoreCase("login")){
                if (unloginplayers.contains(player.getUniqueId())){
                    if (args.length == 1){
                        if (loginChecker(player.getUniqueId(), args[0])){
                            unloginplayers.remove(player.getUniqueId());
                            player.sendMessage("Logowanie przebeiglo pomyslnie");
                        }else {
                            player.sendMessage("Logowanie niepoprawne, sprobuj ponownie");
                        }
                    }else {
                        player.sendMessage(ChatColor.GREEN+"Prawidlowe uzycie tej komedy to /login <haslo>");
                    }
                }else {
                    player.sendMessage(ChatColor.GREEN+"Jestes juz zalogowany");
                }
            }

i po jej wpisaniu zwraca mi to 

player.sendMessage(ChatColor.GREEN+"Jestes juz zalogowany");

więc wygląda na to że z jakiegoś powodu nie dodaje gracza do listy. lub faktycznie coś nie tak jest z tym unloginplayers.contains

Odnośnik do komentarza
https://skript.pl/temat/41923-array-zwraca-false/#findComment-262773
Udostępnij na innych stronach

  • 0
2 minuty temu, LeviBoyPL napisał:

Sorki, edytowałem posta, bo zauważyłem, że się jebłem, ale chyba widzisz jeszcze stary post. Odpowiedz na pytanie z zedytowanego posta :D 

Luzik :D

Nie, nie. Wszystko jest w jednej klasie

Odnośnik do komentarza
https://skript.pl/temat/41923-array-zwraca-false/#findComment-262778
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...