Paylaşım Çete Sistemi (YAML Destekli ve TAB Entegrasyonlu)

BloodyX

Seçkin madenci.
Forum Yöneticisi
Moderatör Şefi
Ayın En Çok Mesaj Atanı
Katılım
26 Şubat 2020
Mesajlar
74
En iyi cevaplar
1
Tepki puanı
15
Puanları
1,080
Gereksinimler

TAB Plugin: TAB listesi ve isimlerin üstünde çete adını göstermek için gereklidir.

Skript ve Skript-YAML: Çete sistemi verilerini yönetmek ve depolamak için kullanılır.

JavaScript:
# YAML dosyasını yükleme
on load:
    yaml load "plugins/Skript/data/cete.yml" as "cetedata"
    if yaml node "cetes" of "cetedata" is not set:
        yaml set "cetes" of "cetedata" to {}
        yaml save "cetedata"

# Çete oluşturma komutu
command /ceteolustur <text>:
    trigger:
        yaml load "plugins/Skript/data/cetedata.yml" as "cetedata"
        if yaml node "cetes.%arg-1%" of "cetedata" is not set:
            yaml set "cetes.%arg-1%.owner" of "cetedata" to "%player%"
            yaml set "cetes.%arg-1%.members" of "cetedata" to list("%player%")
            yaml set "cetes.%player%" of "cetedata" to "%arg-1%"
            yaml save "cetedata"
            send "&aÇete '%arg-1%' başarıyla oluşturuldu! Şimdi üyeler ekleyebilirsiniz."
            execute console command "tab player %player% tagprefix set &7[&a%arg-1%&7] "
        else:
            send "&cBu çete adı zaten mevcut!"

# Çeteye katılma komutu
command /ceteyekatil <text>:
    trigger:
        yaml load "plugins/Skript/data/cetedata.yml" as "cetedata"
        if yaml node "cetes.%arg-1%" of "cetedata" is set:
            add "%player%" to yaml node "cetes.%arg-1%.members" of "cetedata"
            yaml set "cetes.%player%" of "cetedata" to "%arg-1%"
            yaml save "cetedata"
            send "&a'%arg-1%' çetesine başarıyla katıldınız!"
            execute console command "tab player %player% tagprefix set &7[&a%arg-1%&7] "
        else:
            send "&cBelirtilen çete mevcut değil!"

# Çeteden ayrılma komutu
command /cetecik <text>:
    trigger:
        yaml load "plugins/Skript/data/cetedata.yml" as "cetedata"
        if yaml node "cetes.%arg-1%.members" of "cetedata" contains "%player%":
            remove "%player%" from yaml node "cetes.%arg-1%.members" of "cetedata"
            yaml set "cetes.%player%" of "cetedata" to ""
            yaml save "cetedata"
            send "&aÇeteden ayrıldınız!"
            execute console command "tab player %player% tagprefix clear"
        else:
            send "&cBu çeteye üye değilsiniz!"

# Oyuncu giriş yaptığında çete adını yükleme
on join:
    yaml load "plugins/Skript/data/cetedata.yml" as "cetedata"
    set {_cete} to yaml node "cetes.%player%" of "cetedata"
    if {_cete} is not set or {_cete} is "":
        execute console command "tab player %player% tagprefix clear"
    else:
        execute console command "tab player %player% tagprefix set &7[&a%{_cete}%&7] "

Kodun Özellikleri

1. Çete Yönetimi

/ceteolustur <çete_ismi>:

Yeni bir çete oluşturur ve oyuncuyu çete lideri yapar.


/ceteyekatil <çete_ismi>:

Mevcut bir çeteye katılır.


/cetecik <çete_ismi>:

Çeteden ayrılır ve oyuncunun çete adı temizlenir.



2. TAB Entegrasyonu

TAB Plugin Kullanımı:

Oyuncunun çete adını isminin üstünde ve TAB listesinde göstermek için TAB pluginine komut gönderilir:

JavaScript:
execute console command "tab player %player% tagprefix set &7[&aÇeteAdı&7]"

Çeteden ayrıldığında bu bilgi temizlenir

Kod:
execute console command "tab player %player% tagprefix clear"


3. YAML ile Kalıcı Veri Depolama

Çeteler ve Üyeler:

Her çete için lider ve üyeler cetedata.yml dosyasında saklanır.

JavaScript:
cetes:
  Çete1:
    owner: Player1
    members:
      - Player1
      - Player2
  Çete2:
    owner: Player3
    members:
      - Player3

4. Çete Yeniden Yükleme

Oyuncu giriş yaptığında çete bilgileri yüklenir ve oyuncunun TAB listesi ve isim etiketi güncellenir.
Kurulum

1. Eklenti Gereksinimleri:

Skript: Temel Skript eklentisi.

Skript-YAML: YAML desteği için.

TAB Plugin: Oyuncu isimlerinin üstünde ve TAB'da çete adını göstermek için.



2. Dosyaları Yükleme:

Yukarıdaki kodu bir .sk dosyasına (örneğin cetesistemi.sk) kaydedin.

Dosyayı plugins/Skript/scripts dizinine koyun.



3. YAML Dosyası:

plugins/Skript/data/cetedata.yml dosyasının oluşturulduğundan emin olun.



4. Skript Yeniden Yükleme:

/sk reload cetesistemi komutunu çalıştırarak Skript'i etkinleştirin.





---

Geliştirme Önerileri

1. Çete Savaşları:

Çeteler arasında savaş sistemi veya etkinlikler eklenebilir.



2. Rol Yönetimi:

Çete içinde "lider", "üye" gibi rollere izinler tanımlayabilirsiniz.



3. Çete İstatistikleri:

Çete üyeleri tarafından yapılan öldürmeler veya kazanılan puanlar YAML'de saklanabilir.
 

Üst