Engelli-Komutlar | Kullanılmasını İstemediğiniz Komutları Engelleyin!

>>TheLegend<<

Легенды никогда не умирают
En iyi cevaplar
4

Merhaba arkadaşlar, bir başka eklentim ile tekrar karşınızdayım fakat bu seferki eklentimiz cidden basit bir eklenti. Yazımı yaklaşık 5 dakika 49 saniye sürdü.
Başlığımızdan da belli olabileceği gibi sunucunuzda kullanılmasını istemediğiniz komutları engelleyebilmenizi sağlamaktadır.
Oyuncuların kullanmamasını fakat yetkililerin kullanmasını istiyorsanız "engellikomutlar.izin" yetkisi ile sağlayabilirsiniz.
Komutu kullanmaya izni olmayan her kimse engelli bir komutu girmeye çalıştığında(ayarlanabilir);


Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
 
H

hsndmrts_

Ziyaretçi
5 dakika 49 saniye
bugün 05:49 da açıldı konu O.o
şöylebi mantık yürüttüm kesin yanlıştır:
on command kullanılarak komutu girdikten sonra event olarak cancel gibi bişi kullanılabilir scriptiçin bide yetki eklersin olur mu sence ?
 

IRFN

Sonoyuncu.Network
En iyi cevaplar
0
5 dakika 49 saniye
bugün 05:49 da açıldı konu O.o
şöylebi mantık yürüttüm kesin yanlıştır:
on command kullanılarak komutu girdikten sonra event olarak cancel gibi bişi kullanılabilir scriptiçin bide yetki eklersin olur mu sence ?
Bu tür pluginler onCommand ile yapılamaz. onCommand komutlarının register edilmesi gerekiyor, yani bukkit.yml'e yazılıyor.

Örnek bir kod vereyim, ŞifreliOP pluginimde kullanmıştım, mantığını anlarsın o zaman.
Aşağıdaki kodlar /bukkit:op ve /bukkit:deop komutlarını engelliyor.
PHP:
    @EventHandler
    public void komutGirildiginde(PlayerCommandPreprocessEvent event) {
        Player p = event.getPlayer();
        if(event.getMessage().toLowerCase().endsWith("/bukkit:op") ||
        event.getMessage().toLowerCase().startsWith("/bukkit:op ") ||
        event.getMessage().toLowerCase().endsWith("/bukkit:deop") ||
        event.getMessage().toLowerCase().startsWith("/bukkit:deop ")) {
            event.setCancelled(true);
            p.sendMessage("Engelleme mesajı");
        }
    }
 
Üst