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

Problem z wyświetlanym błędem podczas dodawania IP do MySQL


Rekomendowane odpowiedzi

Opublikowano

Witam posiadam taki kod:

 

 

try{
Connection conn = DriverManager.getConnection(url+database, login, password);
    Statement st = conn.createStatement();
    String nick = p.getName();
       try{
        
        ResultSet rs = st.executeQuery("SELECT * FROM gracze WHERE nick='"+nick+"'");
           if(!rs.next()){
            String ip = p.getAddress().getAddress().getAddress().toString().replace("/", null);
        st.executeUpdate("INSERT gracze VALUES('"+nick+"','"+ip+"' , '0', '0', '0', '500','' , '0')");
        e.disallow(Result.KICK_OTHER, ChatColor.RED+"Zostales zarejestrowany pod nickiem: "+ChatColor.YELLOW+p.getName()+ChatColor.RED+"!");
           }
       }catch (SQLException es){
           System.out.println("Problem z wczytanie gracza!");          
       }
       conn.close();   
   }catch (SQLException es){
    System.out.println("Problem z polaczeniem!");
   }

 BLAD

 

16:03:38 ERROR]: Could not pass event PlayerLoginEvent to MySkill v0.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.PlayerList.attemptLogin(PlayerList.java:362) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.LoginListener.c(LoginListener.java:70) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:149) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
Caused by: java.lang.NullPointerException
at me.kaczusnow.myskill.listener.PlayerListener.onLogin(PlayerListener.java:296) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_79]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
... 13 more

 

Gdy nie dodaje ip do mysql jest ok a bledu nie ma co zrobic?

//nie umieszczamy reklam w sygnaturach

Opublikowano
String ip = p.getAddress().getAddress().getAddress().toString().replace("/", null);

Problem jest tutaj. Nie możesz zamienić czegoś w stringu na NULL'a. Zamiast null wpisz "":

String ip = p.getAddress().getAddress().getAddress().toString().replace("/", "");

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano

A w której linijce ten błąd masz?

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano
String ip = p.getAddress().getAddress().getAddress().toString().replace("/", null);

Raczej:

String ip = p.getAddress().getAddress().getHostAddress().replace("/", ""); 

Ten drugi 

getAddress();

zwraca InetAddress czyli nie czysty numer IP :)

wywala ci nulla, bo InetAddress nic nie zawiera, co mogło by być stringiem :D

 

ps: strasznie się ciesze że coraz więcej tematów o javie jest <3 a nie tylko ,,ile dać ramu na serwer'' i ,,co poprawić w skriptcie''

­

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

@AdamGrzegorz Dziekuje za zainteresowanie, ale niestety tez nie dziala ;/ W MySQL mam Varchar ustawione. Moze jeszcze jakies opcje są? 

 

Masz + na zachęte i za post wyżej ;)

//nie umieszczamy reklam w sygnaturach

Opublikowano

@AdamGrzegorz Dziekuje za zainteresowanie, ale niestety tez nie dziala ;/ W MySQL mam Varchar ustawione. Moze jeszcze jakies opcje są? 

 

Masz + na zachęte i za post wyżej ;)

Nadal wywala ten sam błąd? Skoro tak, sprawdź czy obiekt ,,p'' (gracz) istnieje i nie jest nullem.

­

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

Z p jest wszystko dobrze, poniewaz jak nie ma dodawac ip do mysql to jego nick normalnie dodaje i bledu nie ma. Blad pojawia sie wtedy kiedy ma dodac ip.

//nie umieszczamy reklam w sygnaturach

Opublikowano

A pobieranie IP to nie przypadkiem to?:

player.getAddress().getAddress().getHostAddress();

http://prntscr.com/90fcrw


 

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano

 

A pobieranie IP to nie przypadkiem to?:

player.getAddress().getAddress().getHostAddress();

http://prntscr.com/90fcrw

 

Przecież mu to napisałem, czytaj trochę..

 

Tak jak mówiłem, podaj logi i linjke błędu, bo już wkońcu nie wiem co sprawia błąd.

­

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

 

16:03:38 ERROR]: Could not pass event PlayerLoginEvent to MySkill v0.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.PlayerList.attemptLogin(PlayerList.java:362) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.LoginListener.c(LoginListener.java:70) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:149) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
Caused by: java.lang.NullPointerException
at me.kaczusnow.myskill.listener.PlayerListener.onLogin(PlayerListener.java:296) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_79]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks]
... 13 more

 

linijka 

 

 

String ip = p.getAddress().getAddress().getHostAddress().replace("/", ""); 

//nie umieszczamy reklam w sygnaturach

Opublikowano

A testowałeś to tylko na sobie, czy na kimś innym też? Jak łączysz się z serwerem? localhost? Spróbuj postawić serwer gdzieś indziej/połączyć się z innego komputera przez IP.

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano
A próbowałeś wydrukować te IP? Wydrukuj bez .replace.

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano

Przy evencie PlayerLoginEvent adres połączenia gracza pobieramy przez:

 

 

event.getAddress().getHostAddress();

 

Przykład:

 

@EventHandler
public void onLogin(PlayerLoginEvent event) {
    String ip = event.getAddress().getHostAddress();
    Bukkit.getLogger().info("IP: " + ip);
}
Opublikowano

 

try{
Connection conn = DriverManager.getConnection(url+database, login, password);
    Statement st = conn.createStatement();
    String nick = p.getName();
       try{
        
        ResultSet rs = st.executeQuery("SELECT * FROM gracze WHERE nick='"+nick+"'");
           if(!rs.next()){
            p.sendMessage("ZAPALKI");
            String ip = e.getAddress().getHostAddress();
        st.executeUpdate("INSERT gracze VALUES('"+nick+"','"+ip+"' , '0', '0', '0', '500','' , '0')");
        e.disallow(Result.KICK_OTHER, ChatColor.RED+"Zostales zarejestrowany pod nickiem: "+ChatColor.YELLOW+p.getName()+ChatColor.RED+"!");
           }
       }catch (SQLException es){
           System.out.println("Problem z wczytanie gracza!");          
       }
       conn.close();   
   }catch (SQLException es){
    System.out.println("Problem z polaczeniem!");
   }

Kod ma dodawac informacje o graczu do bazy mysql w konsoli po wejsciu wyskakuje 

Problem z wczytaniem gracza!

//nie umieszczamy reklam w sygnaturach

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...