Çözüldü Bir bölgeye giriş yapınca ekranda yazı çıkması

  • Konuyu Başlatan Konuyu Başlatan Kadirizm
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 285
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Kadirizm

Demir Cevheri Gibiyim
Katılım
28 Ocak 2023
Mesajlar
208
Çözümler
1
Elmaslar
20
Puan
3.930
Konum
Türkiye

Discord:

kadirizm_

Sunucumda bir alan giriş yapınca o alanın adının ekranda çıkmasını nasıl sağlayabilirim ? Mesela Kum tepeleri alanına giriş yazınca ismi ekran yazacak.
 
Sunucumda bir alan giriş yapınca o alanın adının ekranda çıkmasını nasıl sağlayabilirim ? Mesela Kum tepeleri alanına giriş yazınca ismi ekran yazacak.
WorldGuardın böyle bir özelligi var diye hatırlıyorum.
 
Yapmak istediğiniz şey claimli bir bölgeye giriş yapıncamı yoksa herhangi bir alan olacak şekilde mi ?
 
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
// Dinlenecek Event
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
// Gönderilecek Paket

Sorgu için ise bir claim eklentisine başvurman lazım townyde örnek verirsek
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.

Towny playermoveeventi dinleyip yeni bir event tetiklediği için playermoveevent yerine direkt bu eventi dinlemelisin

Eğer kendin bir bölge belirleyip oyuncunun o bölgede olup olmadığını anlamak istiyorsan lokasyonunu alıp kendi mantığına göre dahil olup olmadığını kontrol etmelisin
 
Son düzenleme:
Skript > SkriptPlaceholder veya PlaceholderAPI > JavaScript kullanarak yapabilirsin, hazır yml dosyasını birinin vereceğini sanmıyorum çünki bu tarz olaylar ücret karşılığı satılıyor.
 
Yapmak istediğiniz şey claimli bir bölgeye giriş yapıncamı yoksa herhangi bir alan olacak şekilde mi ?
Spawnda birkaç farklı ada yaptım bu adalara giriş yapınca ekrana yazı çıkacak.
Bütün adalar aynı dünyada
 
Spawnda birkaç farklı ada yaptım bu adalara giriş yapınca ekrana yazı çıkacak.
Bütün adalar aynı dünyada
Yukarıda belirttiğim yollar ile yapabilirsin, adaların her birine wg atarsın oyuncu her wg ye girdiğinde tetiklenir, istersen ekrana title ile mesaj gönder ister scoreboard da adanın adını yazdır.
 
Yukarıda belirttiğim yollar ile yapabilirsin, adaların her birine wg atarsın oyuncu her wg ye girdiğinde tetiklenir, istersen ekrana title ile mesaj gönder ister scoreboard da adanın adını yazdır.
Her ikisinide yapıcam

Kod:
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;

public class RegionEnterListener implements Listener {

    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
        Player player = event.getPlayer();

        // Oyuncunun bulunduğu bölgeyi WorldGuard veya başka bir eklenti ile kontrol edin
        String region = getRegionName(player.getLocation());

        if ("kum_tepelri".equalsIgnoreCase(region)) {
            // PlaceholderAPI ile ekran mesajı
            player.sendActionBar("§6Kum Tepeleri §ealanına giriş yaptınız!");
        }
    }

    // Bölgeyi kontrol eden bir metod (WorldGuard kullanıyorsanız örnek metod)
    private String getRegionName(Location location) {
        // Burada WorldGuard API çağrısı yapılarak bölge ismi alınabilir
        return "kum_tepelri"; // Test için statik değer
    }
}


Bu kod iş görürmü ?
 
Her ikisinide yapıcam

Kod:
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;

public class RegionEnterListener implements Listener {

    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
        Player player = event.getPlayer();

        // Oyuncunun bulunduğu bölgeyi WorldGuard veya başka bir eklenti ile kontrol edin
        String region = getRegionName(player.getLocation());

        if ("kum_tepelri".equalsIgnoreCase(region)) {
            // PlaceholderAPI ile ekran mesajı
            player.sendActionBar("§6Kum Tepeleri §ealanına giriş yaptınız!");
        }
    }

    // Bölgeyi kontrol eden bir metod (WorldGuard kullanıyorsanız örnek metod)
    private String getRegionName(Location location) {
        // Burada WorldGuard API çağrısı yapılarak bölge ismi alınabilir
        return "kum_tepelri"; // Test için statik değer
    }
}


Bu kod iş görürmü ?
Hocam worldguard da zaten boylebir ozellik var.
 
Her ikisinide yapıcam

Kod:
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;

public class RegionEnterListener implements Listener {

    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
        Player player = event.getPlayer();

        // Oyuncunun bulunduğu bölgeyi WorldGuard veya başka bir eklenti ile kontrol edin
        String region = getRegionName(player.getLocation());

        if ("kum_tepelri".equalsIgnoreCase(region)) {
            // PlaceholderAPI ile ekran mesajı
            player.sendActionBar("§6Kum Tepeleri §ealanına giriş yaptınız!");
        }
    }

    // Bölgeyi kontrol eden bir metod (WorldGuard kullanıyorsanız örnek metod)
    private String getRegionName(Location location) {
        // Burada WorldGuard API çağrısı yapılarak bölge ismi alınabilir
        return "kum_tepelri"; // Test için statik değer
    }
}


Bu kod iş görürmü ?

Selamlar,

WorldGuard API'ını importlamayı unutmuşsunuz. API importlandığı ve gradle (veya maven'a) eklendiği durumda
sorunsuz çalışacağını düşünüyorum.

@Kadirizm daha fazlası için
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
bakabilirsiniz.

Kolay gelsin.
 
Her ikisinide yapıcam

Kod:
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;

public class RegionEnterListener implements Listener {

    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
        Player player = event.getPlayer();

        // Oyuncunun bulunduğu bölgeyi WorldGuard veya başka bir eklenti ile kontrol edin
        String region = getRegionName(player.getLocation());

        if ("kum_tepelri".equalsIgnoreCase(region)) {
            // PlaceholderAPI ile ekran mesajı
            player.sendActionBar("§6Kum Tepeleri §ealanına giriş yaptınız!");
        }
    }

    // Bölgeyi kontrol eden bir metod (WorldGuard kullanıyorsanız örnek metod)
    private String getRegionName(Location location) {
        // Burada WorldGuard API çağrısı yapılarak bölge ismi alınabilir
        return "kum_tepelri"; // Test için statik değer
    }
}


Bu kod iş görürmü ?
title değil actionbar gönderiyor yani hotbarın üstündeki yere mesaj gidiyor onun haricinde evet bu kodu bukkite kaydedersen çalışır
ben townyde kasabalara banner kaydetme ekleyip bir claime girince başarım gönderiyordum kasabanın bayrağıyla adını içeren :D
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst