[SK] Etiket Sistemi | Sesli Bildirim Mesajı!

LifeMCServer

Nether Yerlisi
Mesajlar
2,410
En iyi cevaplar
98
Beğeniler
2,461
Puanları
10,250
Ruh hali
Bu skript sayesinde oyuncular, sohbete @oyuncuismi mesaj yazarak o kullanıcıya bildirimli mesaj gönderebilir.
Bu, mesajın daha kolay farkedilmesini sağlar. Aynı zaman da ses yapacağı için afk olan birini bu şekil de oyuna çağırabilirsiniz :)


@oyuncuismi kısmının nereye yazıldığı farketmez, ister başa, ister ortaya, ister sona.
İstediğiniz kadar oyuncuyu tek mesaj da etiketleyebilirsiniz.
Gerekli yetkiye sahip olan kişiler @Herkes mesaj yazarak Herkesi etiketleyebilir. (Gerekli yetki: etiket.bildirim)


/notify ile Bildirimleri kapatabilir ve Rahatsız Etmeyin moduna geçebilirsiniz, Aynı komutu tekrar yazarak tekrar açabilirsiniz.

Gelelim resime ve Skripte:

Resim:



Tek resim ekliyorum, yeterli olacağını düşünüyorum.

Skript Kodu:

PHP:
# Copyright (c) 2017 LifeMCServer.

on chat:
    loop all players:
        if message contains "@%loop-player%":
            if {notify::%loop-player%} is not set:
                loop 31 times:
                    play "NOTE_PLING" to loop-player at volume 2
                    play "NOTE_PLING" to player at volume 2
                send "&6%player%&7, &7Bir konuşmasında sizden bahsetti!" to loop-player
                send "&6Konuşma&7: &r&a%colored message%" to loop-player
                send "&6Mesajınız &7başarıyla &6%loop-player%&7'a gönderildi." to player
            else:
                send "&6Mesajınız &cgönderilemedi. &6%loop-player% &6Rahatsız Etmeyin &7modun da." to player

on chat:
    if message contains "@Herkes":
        if player have the permission "etiket.herkes":
            loop all players:
                loop 31 times:
                    play "NOTE_PLING" to loop-player at volume 2
                    play "NOTE_PLING" to player at volume 2
                send "&6%player%&7, &7Bir konuşmasında sizden bahsetti!" to loop-player
                send "&6Konuşma&7: &r&a%colored message%" to loop-player
                send "&6Mesajınız &7başarıyla &6%loop-player%&7'a gönderildi." to player

command /notify:
    trigger:
        if {notify::%player%} is not set:
            set {notify::%player%} to false
            send "&6Bildirimleri &7başarıyla &ckapattın!" to player
        else:
            delete {notify::%player%}
            send "&6Bildirimleri &7başarıyla &aaçtın!" to player


Eğer kod hata veriyor veyahut çalışmıyor ise aşşağıdaki linkten en güncel versiyonunu kopyalayıp kullanın.

TIKLA GİT ->

Okuduğunuz için teşekkürler. Skript'i kendi sunucumda da kullanmaktayım.

TEST SUNUCUSU
play.LifeMCServer.com
 


Son düzenleme:

Blueyescat

Bedrock Kaşifi
Mesajlar
1,656
En iyi cevaplar
0
Beğeniler
1,177
Puanları
3,120
Ruh hali
Hem normal mesajın gösterilmesi hemde özel mesaj gönderilmesi bana hiç mantıklı gelmedi. Normal mesaj engellenirse zaten özel mesaj sisteminden farkı kalmaz. Sesin yanında normal mesajın biçimini değiştirmek daha iyi olabilir.
 

Blueyescat

Bedrock Kaşifi
Mesajlar
1,656
En iyi cevaplar
0
Beğeniler
1,177
Puanları
3,120
Ruh hali
Yalnız ben yorum atmak için yorum atmadım düşüncemi/fikrimi belirtmek için attım. İyi forumlar.
 

CoffeeBeat

Zindev
Mesajlar
501
En iyi cevaplar
0
Beğeniler
958
Puanları
1,320
Yorumun için teşekkürler.



Spam koruması yok ise o onların sorunu.
Çökeceğini falan da düşünmüyorum.
Mesaj atıldığında Bütün oyuncular için 8 ticklik bir scheduler kaydedecek.Her biri için yeni bir scheduler.Ram'de boş yere güncellenen boş yeni bir obje.
Yaklaşık 8 defa güncellenecek olan bu obje 10 kişi ile alakalı ise 8 objeden 80 defa güncellenecek.
50 onlineli bi sunucuda 400 defa güncellenecek.
Daha dur bitmedi,her birinin son bitişinde 31 defa ses oynatacak.İşin kötü yanı bunun gereksiz olması çünkü sesler aynı anda oynatılacağından seste bir değişiklik yapılmayacak.

Bu sadece bir mesajda dönen olay,50 onlineli bir sunucuda ortalama saniye başı 3 mesaj atılıyor dersek ve sunucunun 1.8 olduğunu varsayarsak bu performans düşüşüne yol açacaktır.TPS'de belli olmasa bile boş yere ram yiyecek ve performansı düşürecektir.
İşin komik yanı çoğu sunucu 1.8 olduğundan spam koruması olsa bile bir bot saldırısı ile sürekli mesaj atarak bu engel aşılabilir.
Böylelikle hem bot saldırısından oyuncular rahatsız edilip,sunucu zayıflayacak hem de AuthMe veri tabanı doldurulacak.Üstüne kaymak olarakda bu Skript'in açıklığından yararlanılmış olacak.

Tabi,o kadar zahmete gerek yok.Bu olayların olması için +80 onlinelı bir sunucu da yeterli olacaktır.

Java Skript karşılaştırması yapmıyorum,Bu kod Java'da da yazılsa kötü bir koddur.PlayerMoveEvent,VelocityEvent gibi sık çalışan Eventlerde zamanlama yapılmaz.

Tamam dayanamadım,Java'da her ne kadar kötü bir kodda olsa bir performans sıkıntısının çıkacağını düşünmüyorum.Çıksaydı çoğu sunucu lag sıkıntısı çekiyor olurdu çünkü herkes iyi kod yazamıyor.Bukkit ve Spigot toplulukları özgür birer topluluk ve isteyen herkes eklentilerini paylaşabildiği için bu tarz kötü kodlu eklentilerde bol bol mevcut.
 

LifeMCServer

Nether Yerlisi
Mesajlar
2,410
En iyi cevaplar
98
Beğeniler
2,461
Puanları
10,250
Ruh hali
Mesaj atıldığında Bütün oyuncular için 8 ticklik bir scheduler kaydedecek.Her biri için yeni bir scheduler.Ram'de boş yere güncellenen boş yeni bir obje.
Yaklaşık 8 defa güncellenecek olan bu obje 10 kişi ile alakalı ise 8 objeden 80 defa güncellenecek.
50 onlineli bi sunucuda 400 defa güncellenecek.
Daha dur bitmedi,her birinin son bitişinde 31 defa ses oynatacak.İşin kötü yanı bunun gereksiz olması çünkü sesler aynı anda oynatılacağından seste bir değişiklik yapılmayacak.

Bu sadece bir mesajda dönen olay,50 onlineli bir sunucuda ortalama saniye başı 3 mesaj atılıyor dersek ve sunucunun 1.8 olduğunu varsayarsak bu performans düşüşüne yol açacaktır.TPS'de belli olmasa bile boş yere ram yiyecek ve performansı düşürecektir.
İşin komik yanı çoğu sunucu 1.8 olduğundan spam koruması olsa bile bir bot saldırısı ile sürekli mesaj atarak bu engel aşılabilir.
Böylelikle hem bot saldırısından oyuncular rahatsız edilip,sunucu zayıflayacak hem de AuthMe veri tabanı doldurulacak.Üstüne kaymak olarakda bu Skript'in açıklığından yararlanılmış olacak.

Tabi,o kadar zahmete gerek yok.Bu olayların olması için +80 onlinelı bir sunucu da yeterli olacaktır.

Java Skript karşılaştırması yapmıyorum,Bu kod Java'da da yazılsa kötü bir koddur.PlayerMoveEvent,VelocityEvent gibi sık çalışan Eventlerde zamanlama yapılmaz.

Tamam dayanamadım,Java'da her ne kadar kötü bir kodda olsa bir performans sıkıntısının çıkacağını düşünmüyorum.Çıksaydı çoğu sunucu lag sıkıntısı çekiyor olurdu çünkü herkes iyi kod yazamıyor.Bukkit ve Spigot toplulukları özgür birer topluluk ve isteyen herkes eklentilerini paylaşabildiği için bu tarz kötü kodlu eklentilerde bol bol mevcut.

Kullanmazsınız olur biter. Bu kadar uzun açıklamaya gerek yoktu bence.
Kendi sunucum da kullanıyorum bir sorun yok. Onlineım dediğiniz gibi 50 olmadığı için yine de bir şey diyemeyeceğim.
Spam veya bot korumaları yoksa yine bu onların sorunu benim değil.
Kendim denediğim de sesi looplayarak çaldığında daha fazla ses çıkıyor. Ve sonuçta bu bir Skript. Herkes değiştirebilir, İsterlerse loop'u silerler.
Sizin açıklamanıza göre sanırım tüm Skript'ler lag yapıyor, bugüne kadar kendi sunucum da Skript'in lag yaptığını görmedim. 6GB ramim var, Belki online fazla olmadığındandır. Yine de üşenmeden yazdığınız için Teşekkürler.
 

CoffeeBeat

Zindev
Mesajlar
501
En iyi cevaplar
0
Beğeniler
958
Puanları
1,320
Kullanmazsınız olur biter. Bu kadar uzun açıklamaya gerek yoktu bence.
Kendi sunucum da kullanıyorum bir sorun yok. Onlineım dediğiniz gibi 50 olmadığı için yine de bir şey diyemeyeceğim.
Spam veya bot korumaları yoksa yine bu onların sorunu benim değil.
Kendim denediğim de sesi looplayarak çaldığında daha fazla ses çıkıyor. Ve sonuçta bu bir Skript. Herkes değiştirebilir, İsterlerse loop'u silerler.
Sizin açıklamanıza göre sanırım tüm Skript'ler lag yapıyor, bugüne kadar kendi sunucum da Skript'in lag yaptığını görmedim. 6GB ramim var, Belki online fazla olmadığındandır. Yine de üşenmeden yazdığınız için Teşekkürler.
Önemli değil,ayrıca ses değeri maksimum 1 değil 2.Yani onun yerine maksimum 2 girersen döngüye girmeden daya yüksek bir sese ulaşabilirsin.
Hani her ne kadar sevmesemde,Skript siz yakışıklı kardeşlerime kendi istediğiniz dünyayı yaratmanız da yardımcı oluyor.
Durum böyleyse,benlik bir sorun yok.(Kısmen)
 

LifeMCServer

Nether Yerlisi
Mesajlar
2,410
En iyi cevaplar
98
Beğeniler
2,461
Puanları
10,250
Ruh hali
Önemli değil,ayrıca ses değeri maksimum 1 değil 2.Yani onun yerine maksimum 2 girersen döngüye girmeden daya yüksek bir sese ulaşabilirsin.
Hani her ne kadar sevmesemde,Skript siz yakışıklı kardeşlerime kendi istediğiniz dünyayı yaratmanız da yardımcı oluyor.
Durum böyleyse,benlik bir sorun yok.(Kısmen)

Dediğini yaptım teşekkürler.

Güncelleme:
+ Bildirim sesi yükseltildi.
+ Bekletme süresi biraz kısaltıldı. Direk mesaj gönderilince ard arda gönderiyor, hatta normal mesajdan önce gönderiyor. Bu yüzden wait ekledim isterseniz siz kaldırabilir/düşürebilirsiniz.
+ "Rahatsız Etmeyin" modu eklendi. Bildirimleri açıp kapatabilirsiniz. /notify
 

RedEyeses

Kömür Madencisi
Mesajlar
126
En iyi cevaplar
0
Beğeniler
10
Puanları
0
sunucda etiketleyeceği oyuncu yoksa yine etiketleyebilirmi?
 

Üst