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

Player Entity - Problem przy tworzeniu fake gracza


ShakeeTeFau

Rekomendowane odpowiedzi

Opublikowano

Witam! Z braku pomysłów wziąłem się za pisanie pluginu anty cheat, jednak nie ogarniam w jaki sposób mam zespawnować entity playera :P Domyślam się, że chodzi o protocollib, gdyż nic z nim nie zrobiłem w kodzie, ale nie wiem jak :D Proszę o pomoc lub jakiś kod który rozjaśni mi tworzenie npc ;/

 

Dotychczasowy kod:

import org.bukkit.Bukkit;
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;

import com.comphenix.packetwrapper.WrapperPlayServerNamedEntitySpawn;
import com.comphenix.protocol.wrappers.WrappedDataWatcher;

public class Main extends JavaPlugin implements Listener{
	@Override
	public void onLoad(){
		
	}
	@Override
	public void onEnable(){
		System.out.println("...");
		Bukkit.getPluginManager().registerEvents(this, this);
		
	}
	@EventHandler
	public void onJoin(PlayerJoinEvent pie){
		Player p = pie.getPlayer();
		WrapperPlayServerNamedEntitySpawn graczBukkita = new WrapperPlayServerNamedEntitySpawn();
		graczBukkita .setEntityID(0);
		graczBukkita .setPosition(p.getLocation().toVector());
		graczBukkita .setPlayerName("§c§kAntyAura");
		graczBukkita .setYaw(0.0F);
		graczBukkita .setPitch(-45.0F);
		WrappedDataWatcher watcher = new WrappedDataWatcher();
		watcher.setObject(0, Byte.valueOf((byte)0));
		graczBukkita .setMetadata(watcher);
		graczBukkita .sendPacket(p);
	}
	
	
	
	
}
Opublikowano
  public static WrapperPlayServerNamedEntitySpawn getWrapper(Vector loc, AntiAura plugin)

  {

    WrapperPlayServerNamedEntitySpawn wrapper = new WrapperPlayServerNamedEntitySpawn();

    wrapper.setEntityID(AntiAura.RANDOM.nextInt(20000));

    wrapper.setPosition(loc);

    wrapper.setPlayerUUID(UUID.randomUUID().toString());

    wrapper.setPlayerName("katest");

    wrapper.setYaw(0.0F);

    wrapper.setPitch(-45.0F);

    WrappedDataWatcher watcher = new WrappedDataWatcher();

    watcher.setObject(0, Byte.valueOf((byte)(plugin.getConfig().getBoolean("invisibility", true) ? Byte.valueOf((byte)32).byteValue() : 0)));

    watcher.setObject(6, Float.valueOf(0.5F));

    watcher.setObject(11, Byte.valueOf((byte)1));

    wrapper.setMetadata(watcher);

    return wrapper;

  }

 

Skrawek kodu AntiAura by maciekmm

Opublikowano

Plugin miał być na 1.7... Ale chyba się skuszę :)

 

Proszę jeszcze o pomoc.. Nie wiem, w czym tu jest problem. Gdy wchodzę na serwer nic się nie dzieje, a powinien zespawnować się npc..

public class Main 
extends JavaPlugin 
implements Listener{
	
	public void onEnable(){
		
	}
	public WrapperPlayServerNamedEntitySpawn onJoin(PlayerJoinEvent s){
		
		Player p = s.getPlayer();
		
	    WrapperPlayServerNamedEntitySpawn w = new WrapperPlayServerNamedEntitySpawn();
	    w.setEntityID(0);
	    w.setPosition(p.getLocation().toVector());
	    w.setPlayerUUID(UUID.randomUUID().toString());
	    w.setPlayerName("sernik");
	    w.setYaw(p.getLocation().getYaw());
	    w.setPitch(p.getLocation().getPitch());
	    WrappedDataWatcher watcher = new WrappedDataWatcher();
		boolean visible = false;
		watcher.setObject(0, Byte.valueOf((byte)(visible ? 0 : 32)));
	    watcher.setObject(6, Float.valueOf(0.5F));
	    watcher.setObject(11, Byte.valueOf((byte)1));
	    w.setMetadata(watcher);
	    return w;
		
	}
		 }
Opublikowano

 

Plugin miał być na 1.7... Ale chyba się skuszę :)

 

Proszę jeszcze o pomoc.. Nie wiem, w czym tu jest problem. Gdy wchodzę na serwer nic się nie dzieje, a powinien zespawnować się npc..

public class Main 
extends JavaPlugin 
implements Listener{
	
	public void onEnable(){
		
	}
	public WrapperPlayServerNamedEntitySpawn onJoin(PlayerJoinEvent s){
		
		Player p = s.getPlayer();
		
	    WrapperPlayServerNamedEntitySpawn w = new WrapperPlayServerNamedEntitySpawn();
	    w.setEntityID(0);
	    w.setPosition(p.getLocation().toVector());
	    w.setPlayerUUID(UUID.randomUUID().toString());
	    w.setPlayerName("sernik");
	    w.setYaw(p.getLocation().getYaw());
	    w.setPitch(p.getLocation().getPitch());
	    WrappedDataWatcher watcher = new WrappedDataWatcher();
		boolean visible = false;
		watcher.setObject(0, Byte.valueOf((byte)(visible ? 0 : 32)));
	    watcher.setObject(6, Float.valueOf(0.5F));
	    watcher.setObject(11, Byte.valueOf((byte)1));
	    w.setMetadata(watcher);
	    return w;
		
	}
		 }
public WrapperPlayServerNamedEntitySpawn onJoin(PlayerJoinEvent s){

czemu zwracany typ tej metody to pakiet? to nie ma sensu, i nie masz adnotacji nad metodą skoro to ma być listener od eventu.

1438614356923701010629.png

 

Opublikowano

Teraz się głowię nad tym kodem i nwm za cholerę o co chodzi :P

import java.util.UUID;

import org.bukkit.Bukkit;
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;

import com.comphenix.packetwrapper.WrapperPlayServerNamedEntitySpawn;

public class Main 
extends JavaPlugin 
implements Listener{
	
	public void onEnable(){
		Bukkit.getServer().getPluginManager().registerEvents(this, this);
		
	}
	@EventHandler
	public void WrapperPlayServerNamedEntitySpawn(PlayerJoinEvent s){

		Player p = s.getPlayer();
	    WrapperPlayServerNamedEntitySpawn w = new WrapperPlayServerNamedEntitySpawn();
	    w.setEntityID(345);
	    w.setPosition(p.getLocation().toVector());
	    w.setPlayerUUID(UUID.randomUUID().toString());
	    w.setPlayerName("Gracz");
	    w.setYaw(p.getLocation().getYaw());
	    w.setPitch(p.getLocation().getPitch());
	    w.sendPacket(p);
	}
}

tzn jest crash clienta po wejściu na serwer...

Opublikowano

Teraz się głowię nad tym kodem i nwm za cholerę o co chodzi :P

import java.util.UUID;

import org.bukkit.Bukkit;
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;

import com.comphenix.packetwrapper.WrapperPlayServerNamedEntitySpawn;

public class Main 
extends JavaPlugin 
implements Listener{
	
	public void onEnable(){
		Bukkit.getServer().getPluginManager().registerEvents(this, this);
		
	}
	@EventHandler
	public void WrapperPlayServerNamedEntitySpawn(PlayerJoinEvent s){

		Player p = s.getPlayer();
	    WrapperPlayServerNamedEntitySpawn w = new WrapperPlayServerNamedEntitySpawn();
	    w.setEntityID(345);
	    w.setPosition(p.getLocation().toVector());
	    w.setPlayerUUID(UUID.randomUUID().toString());
	    w.setPlayerName("Gracz");
	    w.setYaw(p.getLocation().getYaw());
	    w.setPitch(p.getLocation().getPitch());
	    w.sendPacket(p);
	}
}

tzn jest crash clienta po wejściu na serwer...

 

Kolego widać, że nawet nie znasz podstaw java. https://bukkit.org/threads/spawn-fake-entities-with-packets.330530/

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...