- Katılım
- 26 Şubat 2020
- Mesajlar
- 74
- En iyi cevaplar
- 1
- Tepki puanı
- 15
- Puanları
- 1,080
Bu sistem, oyuncuların bir GUI üzerinden belirli bir oyuncuyu seçip rapor etmesine olanak tanır. Raporlar bir listeye kaydedilir ve sunucu yöneticileri bu raporları inceleyebilir.
Not test edilmedi.
Skript Özellikleri
1. Komutlar
1. /rapor:
Rapor GUI'sini açar.
Mevcut oyuncular, kafalarının yer aldığı bir GUI'de gösterilir.
Oyuncular birine tıklayarak rapor sebebini seçer.
2. /raporyolla <oyuncu> ebep>:
Bir oyuncu ve rapor sebebi ile raporu kaydeder.
Raporu rapor listesine ekler ve herkese duyurur.
3. /raporlar (Yönetici):
Tüm raporları görüntüler.
Raporlar oyuncunun adı, sebebi ve raporlayan kişinin adı ile birlikte listelenir.
4. /raporsil <ID> (Yönetici):
Belirli bir raporu siler (listeye göre).
2. Rapor Sebepleri
Hile
Küfür
Spam
Troll
Yeni sebepler eklemek için raporyaz komutunda yeni butonlar ekleyebilirsiniz.
3. Raporların Saklanması
Raporlar {raporlar::*} değişkeninde saklanır ve sunucu kapatıldığında kaybolur.
Kalıcı saklama isterseniz YAML veya bir dosya sistemi kullanabilirsiniz.
4. Yetkilendirme
/raporlar ve /raporsil komutları yalnızca yöneticilere özeldir. Skript'teki permission satırlarını düzenleyerek izinleri değiştirebilirsiniz.
Kurulum
1. Kodun tamamını bir .sk dosyasına (örneğin raporlar.sk) kaydedin.
2. Dosyayı sunucunuzdaki plugins/Skript/scripts klasörüne yükleyin.
3. Sunucuda /sk reload raporlar komutunu çalıştırın.
Geliştirme Önerileri
Oyuncu Bildirimi: Raporlanan oyuncuya özel bir mesaj gönderebilirsiniz:
Yönetici Bildirimi: Rapor eklendiğinde yalnızca belirli yetkili oyunculara özel bir mesaj gönderebilirsiniz:
Not test edilmedi.
JavaScript:
variables:
{raporlar::*} = list
command /rapor:
trigger:
open chest with 3 rows named "&cOyuncu Rapor Sistemi" to player
loop all players:
set {_slot} to loop-number - 1
format slot {_slot} of player with skull of loop-player named "&e%loop-player%" to close then run [execute player command "/raporyaz %loop-player%"]
command /raporyaz <text>:
trigger:
if arg-1 is not set:
send "&cBir oyuncu seçmelisiniz!"
stop
open chest with 1 row named "&cRapor Sebebi Seç" to player
format slot 0 of player with red wool named "&cHile" to close then run [execute player command "/raporyolla %arg-1% Hile"]
format slot 1 of player with orange wool named "&6Küfür" to close then run [execute player command "/raporyolla %arg-1% Küfür"]
format slot 2 of player with yellow wool named "&eSpam" to close then run [execute player command "/raporyolla %arg-1% Spam"]
format slot 3 of player with gray wool named "&7Troll" to close then run [execute player command "/raporyolla %arg-1% Troll"]
format slot 8 of player with barrier named "&cVazgeç" to close
command /raporyolla <text> <text>:
trigger:
add "%arg-1% - Sebep: %arg-2% - Raporlayan: %player%" to {raporlar::*}
send "&a%arg-1% adlı oyuncu için &e%arg-2% &asebebiyle rapor oluşturuldu."
broadcast "&c%player% adlı oyuncu, %arg-1% adlı oyuncuyu raporladı! Sebep: %arg-2%"
command /raporlar:
permission: admin.report.check
trigger:
if size of {raporlar::*} is 0:
send "&cHiç rapor bulunmamaktadır."
stop
send "&eTüm Raporlar:"
loop {raporlar::*}:
send "&6- %loop-value%"
command /raporsil <number>:
permission: admin.report.delete
trigger:
if {raporlar::%arg-1%} is set:
remove {raporlar::%arg-1%} from {raporlar::*}
send "&aRapor başarıyla silindi."
else:
send "&cBelirtilen ID'ye sahip bir rapor bulunamadı."
Skript Özellikleri
1. Komutlar
1. /rapor:
Rapor GUI'sini açar.
Mevcut oyuncular, kafalarının yer aldığı bir GUI'de gösterilir.
Oyuncular birine tıklayarak rapor sebebini seçer.
2. /raporyolla <oyuncu> ebep>:
Bir oyuncu ve rapor sebebi ile raporu kaydeder.
Raporu rapor listesine ekler ve herkese duyurur.
3. /raporlar (Yönetici):
Tüm raporları görüntüler.
Raporlar oyuncunun adı, sebebi ve raporlayan kişinin adı ile birlikte listelenir.
4. /raporsil <ID> (Yönetici):
Belirli bir raporu siler (listeye göre).
2. Rapor Sebepleri
Hile
Küfür
Spam
Troll
Yeni sebepler eklemek için raporyaz komutunda yeni butonlar ekleyebilirsiniz.
3. Raporların Saklanması
Raporlar {raporlar::*} değişkeninde saklanır ve sunucu kapatıldığında kaybolur.
Kalıcı saklama isterseniz YAML veya bir dosya sistemi kullanabilirsiniz.
4. Yetkilendirme
/raporlar ve /raporsil komutları yalnızca yöneticilere özeldir. Skript'teki permission satırlarını düzenleyerek izinleri değiştirebilirsiniz.
Kurulum
1. Kodun tamamını bir .sk dosyasına (örneğin raporlar.sk) kaydedin.
2. Dosyayı sunucunuzdaki plugins/Skript/scripts klasörüne yükleyin.
3. Sunucuda /sk reload raporlar komutunu çalıştırın.
Geliştirme Önerileri
Oyuncu Bildirimi: Raporlanan oyuncuya özel bir mesaj gönderebilirsiniz:
JavaScript:
send "&cBir rapor aldınız! Lütfen davranışlarınıza dikkat edin." to arg-1
Yönetici Bildirimi: Rapor eklendiğinde yalnızca belirli yetkili oyunculara özel bir mesaj gönderebilirsiniz:
JavaScript:
send "&eYeni bir rapor oluşturuldu: %arg-1% - Sebep: %arg-2%" to all players where [input has permission "admin.report.notify"]