Menü
💬 Forum 🛒 Mağaza ⛏️ Sunucular ⚔️ Klanlar 📰 Blog 🏆 Liderlik 👥 Üyeler 🎖️ Rütbeler
1 üye online 👥 12 toplam üye 📝 Bugün 51 konu 💬 Bugün 51 mesaj

Skript ile Ücretsiz AFK Sistemi — Otomatik AFK Kick

orginscorel · 2 saat önce · 1 gönderi · 0 görüntülenme
#1

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!

Cevap yazabilmek için giriş yap.