AFK Sistemi Skripti — Hareketsiz Kalanlara Otomatik İşlem
Belirli süre hareketsiz kalan oyuncuları AFK olarak işaretleyen, isteğe bağlı kick eden ve AFK listesini gösteren sistem.
Özellikler
- Otomatik AFK tespiti (5 dakika hareketsizlik)
- AFK durumunda isim değişimi (tab'da görünür)
- /afk komutu ile manuel AFK
- AFK listesi
- İsteğe bağlı otomatik kick (10 dakika sonra)
Tam Skript Kodu
# afk-sistemi.sk
# AFK Sistemi — Ücretsiz
options:
afk-sure: 5 minutes
kick-sure: 10 minutes
prefix: "&8[&7&lAFK&8] &r"
on move:
if {afk.%player's uuid%} is true:
afkCik(player)
set {afk.son-hareket::%player's uuid%} to now
on chat:
if {afk.%player's uuid%} is true:
afkCik(player)
set {afk.son-hareket::%player's uuid%} to now
on join:
set {afk.son-hareket::%player's uuid%} to now
on quit:
if {afk.%player's uuid%} is true:
delete {afk.%player's uuid%}
every 30 seconds:
loop all players:
if {afk.%loop-player's uuid%} is not true:
if {afk.son-hareket::%loop-player's uuid%} is set:
set {_fark} to difference between now and {afk.son-hareket::%loop-player's uuid%}
if {_fark} >= {@afk-sure}:
afkGir(loop-player)
else:
set {_fark} to difference between now and {afk.baslangic::%loop-player's uuid%}
if {_fark} >= {@kick-sure}:
if loop-player doesn't have permission "afk.bypass":
kick loop-player due to "&7AFK olduğunuz için sunucudan çıkarıldınız.\n&7AFK süresi: 10 dakika"
function afkGir(p: player):
set {afk.%{_p}'s uuid%} to true
set {afk.baslangic::%{_p}'s uuid%} to now
broadcast "{@prefix}&f%{_p}% &7AFK moduna geçti."
send "{@prefix}&7AFK moduna geçtiniz. Hareket ettiğinizde geri dönersiniz." to {_p}
function afkCik(p: player):
delete {afk.%{_p}'s uuid%}
delete {afk.baslangic::%{_p}'s uuid%}
broadcast "{@prefix}&f%{_p}% &aAFK modundan çıktı."
command /afk:
trigger:
if {afk.%player's uuid%} is true:
afkCik(player)
else:
afkGir(player)
command /afklist:
aliases: /afkler
trigger:
set {_sayi} to 0
send "&7--- 💤 AFK Listesi ---" to player
loop all players:
if {afk.%loop-player's uuid%} is true:
set {_fark} to difference between now and {afk.baslangic::%loop-player's uuid%}
send "&7• &f%loop-player% &8(%{_fark}%)" to player
add 1 to {_sayi}
if {_sayi} is 0:
send "&7Şu an AFK olan oyuncu yok." to player
else:
send "&7Toplam: &c%{_sayi}% AFK" to player
command /afkkick <player>:
permission: afk.admin
trigger:
kick arg-1 due to "&7Admin tarafından AFK nedeniyle sunucudan çıkarıldınız."
send "{@prefix}&a%arg-1% AFK nedeniyle atıldı." to player
Yetkilendirme
/lp group vip permission set afk.bypass true
/lp group admin permission set afk.bypass true
/lp group admin permission set afk.admin true
AFK Süresini Değiştirme
options bölümündeki afk-sure ve kick-sure değerlerini ayarlayın. Örnek:
- 3 minutes — 3 dakikada AFK
[*]15 minutes — 15 dakikada kick
Sorularınız için bu konuya yazın!
💡 Etkileşim için giriş yap.