Bulundu Clobide Görünmezlik Ve Haraket Etme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

thewagno

Bir Kömür Göründü Kaptanım!
Katılım
18 Ocak 2020
Mesajlar
118
Elmaslar
18
Puan
13.695
Yaş
22
Minecraft
thewagno

Discord:

thewagno

clobide oyuncular girişten itibaren kayıt olduktan sonra bile aktarım yapılana kadar görünmez kalmalarını istiyorum bir de aynı şekilde kayıt işlemi sırasında ve kayıttan sonra aktarıma kadar oyuncuların hiç bir şekilde haraket etmemesini istiyorum sağa sola bakmayı zıplamayı haraket etmeyi kısaca kapatmak istiyorum bunun için bir eklenti bulunuyor mu?
 
basit bir skript ile yapabilirsiniz ekstra bir eklentiye gerek yok.

```
# freeze-transfer.sk
# Paper/Spigot 1.19+ ve Skript 2.6+ ile çalışır. Addon gerekmez.
# (Opsiyonel) SkBee/Skellett varsa "hide player" satırlarını açarak gerçek gizleme sağlayabilirsin.

options:
# aktarım tamamlanana kadar izin verilecek komutlar
allowed-auth-commands: /login, /l, /register, /reg
invis-duration-secs: 86400 # 24 saatlik uzun etki (güvenlik için periyodik yeniliyoruz)
check-interval-ticks: 40 # 2 sn'de bir yeniden uygulama/koruma

# Dondurulmuş oyuncular listesi
global {frozen::*}

function freeze(p: player):
add uuid of {_p} to {frozen::*}
# görünmezlik (iksir)
apply potion of invisibility to {_p} for {@invis-duration-secs} seconds
# hız sıfırlama ve atak engelini güçlendirme
set walk speed of {_p} to 0
set fly speed of {_p} to 0
set {_gm} to gamemode of {_p}
if {_gm} is survival or adventure:
set {_p}'s saturation to 20
set {_p}'s food level to 20
# hasar ve pvp engelleme için tanımlayıcı
set {_p}'s invulnerability ticks to 200000000
# opsiyonel: gerçek görünmezlik (nametag dahil) için addon
# hide {_p} from all players
# loop all players:
# hide {_p} from loop-player
# titreşim azaltmak için bir kez sabitle
set metadata value "frozen" of {_p} to true

function unfreeze(p: player):
remove uuid of {_p} from {frozen::*}
clear metadata value "frozen" of {_p}
remove potion of invisibility from {_p}
set walk speed of {_p} to 0.2
set fly speed of {_p} to 0.1
set {_p}'s invulnerability ticks to 0
# opsiyonel: addon varsa göster
# show {_p} to all players
# loop all players:
# show {_p} to loop-player

# İlk girişte dondur
on join:
freeze(player)

# Sunucu restart/skript reload sonrası çevrimiçileri tekrar koru
on script load:
loop all players:
if uuid of loop-player is in {frozen::*}:
freeze(loop-player)

# Hareket, bakış yönü, zıplama dahil her hareketi iptal
on any move:
if uuid of player is in {frozen::*}:
cancel event

# Etkileşimleri kapat
on inventory click:
if uuid of player is in {frozen::*}:
cancel event

on drop:
if uuid of player is in {frozen::*}:
cancel event

on pickup:
if uuid of player is in {frozen::*}:
cancel event

on right click:
if uuid of player is in {frozen::*}:
cancel event

on left click:
if uuid of player is in {frozen::*}:
cancel event

on place:
if uuid of player is in {frozen::*}:
cancel event

on break:
if uuid of player is in {frozen::*}:
cancel event

# PVP ve hasar yok
on damage:
if attacker is a player:
if uuid of attacker is in {frozen::*}:
cancel event
if victim is a player:
if uuid of victim is in {frozen::*}:
cancel event

# Sohbeti kapat (Auth komutları hariç)
on chat:
if uuid of player is in {frozen::*}:
cancel event
send "&cAktarım tamamlanana kadar sohbet kapalı." to player

# Komutları sınırlama (Auth komutlarına izin)
on command:
if uuid of player is in {frozen::*}:
set {_msg} to message
set {_allowed::*} to {@allowed-auth-commands} split at ","
set {_ok} to false
loop {_allowed::*}:
set {_cmd} to replace all " " with "" in loop-value
if {_msg} starts with {_cmd}:
set {_ok} to true
stop loop
if {_ok} is false:
cancel event
send "&cAktarım tamamlanana kadar komutlar kapalı." to player

# Periyodik koruma: iksir süresi vs. tazele
every {@check-interval-ticks} ticks:
loop all players:
if uuid of loop-player is in {frozen::*}:
if loop-player does not have potion of invisibility:
apply potion of invisibility to loop-player for {@invis-duration-secs} seconds
if walk speed of loop-player > 0:
set walk speed of loop-player to 0
if fly speed of loop-player > 0:
set fly speed of loop-player to 0

# Yönetici komutları
command /transferstart [<offlineplayer>]:
permission: freeze.transfer
trigger:
if arg-1 is set:
if arg-1 is online:
freeze(arg-1)
send "&a%arg-1% donduruldu (aktarim baslatildi)."
send "&eAktarım tamamlanınca &6/transferdone %arg-1% &ekullan."
else:
send "&cOyuncu çevrimdışı."
else:
if player is set:
freeze(player)
send "&aKendini dondurdun (aktarim baslatildi)."

command /transferdone [<offlineplayer>]:
permission: freeze.transfer
trigger:
if arg-1 is set:
if arg-1 is online:
unfreeze(arg-1)
send "&a%arg-1% serbest birakildi (aktarim tamam)."
else:
send "&cOyuncu çevrimdışı."
else:
if player is set:
unfreeze(player)
send "&aSerbest birakildin (aktarim tamam)."
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst