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] Auto logowanie dla premium


Gość BrykietPL

Rekomendowane odpowiedzi

Opublikowano

Witam. Mam problem otóż mam taki kod:

 

package pl.SzymcioG.SzymcioAuth;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
 
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
 
public class Main extends JavaPlugin implements Listener {
 
        public void onEnable(){
               
                System.out.println("Rejestracja eventow");
                this.getServer().getPluginManager().registerEvents(this, this);
        }
       
        public void onDisable(){
               
        }
        @EventHandler
        public void onJoin(PlayerJoinEvent e){
                Player p = e.getPlayer();
                if(this.isPremium(p) == true){
                        for(Player p1 : Bukkit.getOnlinePlayers()){
                                p1.sendMessage(ChatColor.GREEN + "Dolaczyles do gry z konta premium!");
                                p1.sendMessage("");
                        }
                }else{
                        for(Player p1 : Bukkit.getOnlinePlayers()){
                                p1.sendMessage(ChatColor.RED + "Dolaczyles do gry z konta no-premium! Musisz sie zalogowac!");
                                p1.sendMessage("");
                                        //KOD LOGOWANIA
                        }
                }
               
               
        }
        boolean premium = false;
        public boolean isPremium(Player p){
               
                try {
                URL url = new URL("http://www.minecraft.net/haspaid.jsp?user=" + p.getName());
                String pr = new BufferedReader(new InputStreamReader(url.openStream())).readLine().toUpperCase();
                premium = Boolean.valueOf(pr);
                } catch (Exception e) {
                e.printStackTrace();
                p.sendMessage(ChatColor.RED + "Wystapil blad w autoryzacji lub probujesz podszyc sie pod gracza premium!");
                }
 
                return premium;
        }
}

 

I gdy gracz jest premium pisze wiadomość dla gracza non premium, a gdy gracz jest non premium pisze tekst dla gracza non premium, a jeżeli zmienie                 if(this.isPremium(p) == true){  na                 if(this.isPremium(p) == false){ to jest tak samo tylko, że zamiast wiadomości do non premium wyświetla się wiadomość dla gracza premium.

Opublikowano

Sprobuj zmienic 

for(Player p1 : Bukkit.getOnlinePlayers()){
                                p1.sendMessage(ChatColor.GREEN + "Dolaczyles do gry z konta premium!");

na 

for(Player p : Bukkit.getOnlinePlayers()){
                                p.sendMessage(ChatColor.GREEN + "Dolaczyles do gry z konta premium!");




I wtedy te 2 tez zmien

I wtedy usun te 

p1.sendMessage("");
                                        //KOD LOGOWANIA

Przeprsazam za kolory ;/

Opublikowano

Sprobuj zmienic 

 

for(Player p1 : Bukkit.getOnlinePlayers()){

                                p1.sendMessage(ChatColor.GREEN + "Dolaczyles do gry z konta premium!");

 

na 

 

for(Player: Bukkit.getOnlinePlayers()){

                                p.sendMessage(ChatColor.GREEN + "Dolaczyles do gry z konta premium!");

 

Ale to nic nie zmieni... Usunąłeś tylko 1 i na dodatek nie zauważyłeś, że mam taki kod

 

                Player p = e.getPlayer();
Opublikowano

Nie polecam sprawdzania za pomocą 

http://www.minecraft.net/haspaid.jsp?user=

 często strona nie działa a na dodatek twój kod wogóle nie wykrywa tego czy jest premium, wyeryfikujesz tylko czy nick ma premium a nie gameID profile gracza który wchodzi do gry.

 

Czyli jak mam to inaczej zrobić ?

Opublikowano

Wstaw caly Plugin my ocenimy i napweno poprawimy !

 

Z tego kodu już wynika samo działanie pluginu, jeśli próbujesz skopiować kod na własny użytek to nie próbuj, nie radze ;-)

ps. szymciog jeśli używasZ skript to twoją obecną funkcje wyowałasz przy użyciu właśnie jego, dokładnie taką samą funkcję.

Opublikowano

@Diverse. Ale czego mam używać, jak nie tej strony?

 

@Edit Temat wywołał fejm, bo dałem w tytule auto logowanie dla premium... Już proszą o cały kod...

Opublikowano

ProtocolLib, lub modyfikacja spigota.

 

A w jaki sposób mam zmodyfikować tego spigota ?

Opublikowano

Niie chodziło o Spout?

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...