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

[Plugin] Zapobieganie zabijaniu własnych multikont


Rekomendowane odpowiedzi

Opublikowano

Witam ,chciałbym wam przedstawić mój autorski plugin który zapobiega zabijaniu multikont.

Jak jakiś gracz zabije multikonta to można ustawić w configu jakąś kare.

 

 

"Bugi":

-Jak się zabije osobę która jest podłączona do tego samego internetu to ta osoba mimo braku multikonta i tak dostanie kare . 

LINK DOWNLOAD: https://www.dropbox.com/s/k3elyrbznrk43od/AntyMK.jar?dl=0

Skan: https://www.virustotal.com/pl/url/9a9c716f709cacd16230a16f9594b403ef48991545f3d39b5da07e0e191f6ba0/analysis/

LINK FILMU NA YT: https://youtu.be/D0yvqowEopM

Opublikowano

1. Nazwy klas zaczynamy z dużej litery.
2. Jeśli pobierasz gracza po nicku używaj getPlayerExact zamiast getPlayer
3. Po co ci metoda onDisable skoro jej nie używasz?
4. Podmień kod

@EventHandler
public void onJoin(PlayerJoinEvent e) {
    Player p = e.getPlayer();
    e.getPlayer().sendMessage((String)main.getInst().getConfig().get("joinmessage"));
}

na kod:

@EventHandler
public void onJoin(PlayerJoinEvent e) {
    Player p = e.getPlayer();
    p.sendMessage(main.getInst().getConfig().getString("joinmessage"));
}

5. Ponownie podmień kod

@EventHandler
public void onDeath(PlayerDeathEvent e) {
    if (e.getEntity() instanceof Player && e.getEntity().getKiller() instanceof Player) {
        Player dead = e.getEntity();
        Player killer = e.getEntity().getKiller();
        if (dead.getName() != killer.getName()) {
            e.getEntity().sendMessage("dedles");
            Bukkit.getServer().dispatchCommand((CommandSender)Bukkit.getServer().getConsoleSender(), "antymk " + dead.getName() + " " + killer.getName());
        }
    }
}

na kod

@EventHandler
public void onDeath(PlayerDeathEvent e) {
    Entity entity = e.getEntity();
    if(entity instanceof Player && entity.getKiller() instanceof Player) {
        Player dead = (Player)entity;
        Player killer = (Player)entity.getKiller();
        if(dead.getName() != killer.getName()) {
            dead.sendMessage("dedles");
            Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "antymk " + dead.getName() + " " + killer.getName());
        }
    }
}

6. Po każdym wykonaniu komendy zwracaj return true;
7. Podmień kod

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("mkreload") && sender.hasPermission("adeks.reload")) {
        sender.sendMessage("\u00a71[\u00a7bAntyMK\u00a71]\u00a73Ta funkcja narazie nie dziala!");
    }
    if (cmd.getName().equalsIgnoreCase("mkautor")) {
        sender.sendMessage("\u00a74\u00a7lPlugin stworzyl adeks222222221.");
    }
    if (cmd.getName().equalsIgnoreCase("antymk") && sender.hasPermission("adeks.plugin.multi") && args.length == 2 && Bukkit.getPlayer((String)args[0]) != null && Bukkit.getPlayer((String)args[1]) != null) {
        String ip2;
        Player p = Bukkit.getPlayer((String)args[0]);
        Player p2 = Bukkit.getPlayer((String)args[1]);
        String ip = p.getAddress().getAddress().toString().replaceAll("/", "");
        if (ip.contains(ip2 = p2.getAddress().getAddress().toString().replaceAll("/", ""))) {
            Bukkit.getServer().dispatchCommand((CommandSender)Bukkit.getServer().getConsoleSender(), main.getInst().getConfig().get("karavictim") + " " + p.getName() + " " + main.getInst().getConfig().get("opiskaryvictim"));
            Bukkit.getServer().dispatchCommand((CommandSender)Bukkit.getServer().getConsoleSender(), main.getInst().getConfig().get("karaat") + " " + p2.getName() + " " + main.getInst().getConfig().get("opiskaryat"));
        }
    }
    return false;
}

na kod

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("mkreload") && sender.hasPermission("adeks.reload")) {
        sender.sendMessage("\u00a71[\u00a7bAntyMK\u00a71]\u00a73Ta funkcja narazie nie dziala!");
        return true;
    }
    if (cmd.getName().equalsIgnoreCase("mkautor")) {
        sender.sendMessage("\u00a74\u00a7lPlugin stworzyl adeks222222221.");
        return true;
    }
    if (cmd.getName().equalsIgnoreCase("antymk") && sender.hasPermission("adeks.plugin.multi") && args.length == 2 && Bukkit.getPlayerExact(args[0]) != null && Bukkit.getPlayerExact(args[1]) != null) {
        String ip2;
        Player p = Bukkit.getPlayerExact(args[0]);
        Player p2 = Bukkit.getPlayerExact(args[1]);
        String ip = p.getAddress().getAddress().toString().replaceAll("/", "");
        if (ip.contains(ip2 = p2.getAddress().getAddress().toString().replaceAll("/", ""))) {
            Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), main.getInst().getConfig().getString("karavictim") + " " + p.getName() + " " + main.getInst().getConfig().getString("opiskaryvictim"));
            Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), main.getInst().getConfig().getString("karaat") + " " + p2.getName() + " " + main.getInst().getConfig().getString("opiskaryat"));
        }
        return true;
    }
    return true;
}

7. Nie mieszaj języka angielskiego z polskim

8. Jeśli pobierasz z configu wartość typu string używaj getString() zamiast get()

9. Tyle chyba wystarczy

10. Powodzenia z poprawa ;)

Opublikowano

Proszę dodać skan pliku. Czas do godziny 20:30 czasu polskiego.

Darmowe kody na 20% zniżki (WWW, VPS and MC) na lvlup.pro

Szczegóły discord: xVendrome#6074 / PW

  • 1 miesiąc temu...
Opublikowano

Automatyczny Ban za zabicie mulciaka ? Beznadzieja mogłeś napisać plugin ze nie daje rankingu za zabicie mulciaka :)

Służę pomocą również innym użytkownikom :) jak potrzeba pomocy zapraszam na pw na pewno pomogę

Opublikowano

Automatyczny Ban za zabicie mulciaka ? Beznadzieja mogłeś napisać plugin ze nie daje rankingu za zabicie mulciaka :)

Jak mogło by nie dawać rankingu ? Musiał by być to plugin na ranking lub pisać do api pluginu typu funnyguilds.

Pomyśl zanim napiszesz :) Chyba że nabijasz posty.

Opublikowano

Automatyczny Ban za zabicie mulciaka ? Beznadzieja mogłeś napisać plugin ze nie daje rankingu za zabicie mulciaka :)

 

Masz rację i dostajesz u mnie like, mogło to być nie wiem.. tak ?

@EventHandler
private void onDamage(EntityDamageByEntityEvent e)
{
     if(!(e.getEntity() instanceof Player)) return;
     if(!(e.getDamager() instanceof Player)) return;
     Player player = (Player) e.getEntity();
     Player damager = (Player) e.getDamager();
     if(damager.hasPermission("iplock.bypass")) return;
     if(player.hasPermission("iplock.bypass")) return;
     if(player.getAddress() == damager.getAddress())
     {
          damager.sendMessage("Wykryto prawdopodobienstwo multikonta");
	  e.setCancelled(true);		
     }
		
}

I nie dość, że gracz nie ma żadnego bana, to jeszcze masz możliwość ustawienia permissions dla sprawdzonych osób, które wiesz, że mają wspólny internet ;)

Pomogłem ? ;) Daj like !

Opublikowano

 

 

 

 

 

 

 

 

Automatyczny Ban za zabicie mulciaka ? Beznadzieja mogłeś napisać plugin ze nie daje rankingu za zabicie mulciaka :)

Jak mogło by nie dawać rankingu ? Musiał by być to plugin na ranking lub pisać do api pluginu typu funnyguilds.

Pomyśl zanim napiszesz :) Chyba że nabijasz posty.

 

 

 

 

 

 

Da rade takie cos napisać widzę ze nie znasz javy ;d

Służę pomocą również innym użytkownikom :) jak potrzeba pomocy zapraszam na pw na pewno pomogę

Opublikowano

 

 

 

 

 

 

 

 

Automatyczny Ban za zabicie mulciaka ? Beznadzieja mogłeś napisać plugin ze nie daje rankingu za zabicie mulciaka :)

Jak mogło by nie dawać rankingu ? Musiał by być to plugin na ranking lub pisać do api pluginu typu funnyguilds.

Pomyśl zanim napiszesz :) Chyba że nabijasz posty.

 

 

 

 

 

 

Da rade takie cos napisać widzę ze nie znasz javy ;d

 

Zależy. Musisz konkretnie wiedzieć jaki to miałby być plugin do rankingu, i konkretnie blokować dodawanie tego rankingu. Nie jest to takie proste, jak się wydaje.

 

­

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...