Çözüldü

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
1 saniye içinde 1000 defa ışınlanmak için her oyuncu maksimum hareketleri yaptığında saniyede 5 defa ışınlanıyorsa sunucunda 200 kişi olması lazım 1000 defa ışınlanma gerçekleşmesi için. 200 kişiyi kaldırabilen bir sunucuya sahipsen 1 saniye içerisinde oyuncunun olduğu yere 1000 defa ışınlanması bir sıkıntı yapmaz. AuthMe'nin çalışma mantığı da oyuncuyu herhangi bir hareketinde olduğu yere ışınlamaktır bu arada.
Github hiç de öyle demiyor ama,
Kod:
 @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
    public void onPlayerMove(PlayerMoveEvent event) {
        if (event.getPlayer() == null) {
            return;
        }

        Player player = event.getPlayer();
        String name = player.getName().toLowerCase();

        if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) {
            return;
        }

        if (PlayerCache.getInstance().isAuthenticated(name)) {
            return;
        }

        if (!Settings.isForcedRegistrationEnabled) {
            if (!plugin.database.isAuthAvailable(name))
                return;
        }

        if (!Settings.isMovementAllowed) {
            if (!event.getFrom().getBlock().equals(event.getTo().getBlock()))
                event.setTo(event.getFrom());
            return;
        }

        if (Settings.getMovementRadius == 0) {
            return;
        }

        int radius = Settings.getMovementRadius;
        Location spawn = plugin.getSpawnLocation(player);

        if (spawn != null && spawn.getWorld() != null) {
            if (!event.getPlayer().getWorld().equals(spawn.getWorld())) {
                event.getPlayer().teleport(spawn);
                return;
            }
            if ((spawn.distance(player.getLocation()) > radius)) {
                event.getPlayer().teleport(spawn);
                return;
            }
        }
    }
 

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
Github hiç de öyle demiyor ama,
Kod:
 @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
    public void onPlayerMove(PlayerMoveEvent event) {
        if (event.getPlayer() == null) {
            return;
        }

        Player player = event.getPlayer();
        String name = player.getName().toLowerCase();

        if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) {
            return;
        }

        if (PlayerCache.getInstance().isAuthenticated(name)) {
            return;
        }

        if (!Settings.isForcedRegistrationEnabled) {
            if (!plugin.database.isAuthAvailable(name))
                return;
        }

        if (!Settings.isMovementAllowed) {
            if (!event.getFrom().getBlock().equals(event.getTo().getBlock()))
                event.setTo(event.getFrom());
            return;
        }

        if (Settings.getMovementRadius == 0) {
            return;
        }

        int radius = Settings.getMovementRadius;
        Location spawn = plugin.getSpawnLocation(player);

        if (spawn != null && spawn.getWorld() != null) {
            if (!event.getPlayer().getWorld().equals(spawn.getWorld())) {
                event.getPlayer().teleport(spawn);
                return;
            }
            if ((spawn.distance(player.getLocation()) > radius)) {
                event.getPlayer().teleport(spawn);
                return;
            }
        }
    }
Gördüğün gibi, oyuncu her hareketinde spawn'a ışınlanıyor. Kendisine ışınlamanız da da bir sıkıntı yok, bizzat test ettim.
 

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
Buradaki konu Authme'de oyuncunun kendi kendine ışınlandırtılması :pof:
Oyuncu zaten Spawn'da olduğu için kendi lokasyonuna ışınlanıyor. Orada Spawn ve oyuncunun mevcut lokasyonu aynı oluyor dediğim aynı şeye giriyor.
PHP:
@EventHandler
public void onPlayerMove(PlayerMoveEvent event) {
    event.getPlayer().teleport(event.getPlayer());
}
Hatasız çalışıyor.
 
S

Switcher

Ziyaretçi
Skriprt'te öyle yapınca oluyor mu cidden? Çünkü Java'da eğer hareket Event'ini iptal edersen adam genede ufak hareketler yapabiliyor ve hani yürüyebiliyor.
Bunun tek kötü yanı ekran sarsılıyor okadar ama haraket edemiyor .
 
Üst