- 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.