MinecraftAdmin - Davetiye Sistemi (Whitelistli Sunucular İçin)

root

Ağaç Yumruklayıcı
En iyi cevaplar
0
Bir arkadaşımızın isteği üzerine ücretsiz olarak kendisine bu skripti hazırlamıştık. Referans amacı ile forumda paylaşma gereği duyduk. Eğer sizde bu skriptimizi beğendiyseniz ve sizinde sunucunuza özel skriptlere ihtiyacınız varsa tanıtım konumuzu inceleyerek bizimle iletişime geçebilirsiniz. :)

Davet sistemi, özellikle whitelistli sunucularda, başvuruyla aldığınız kişilerin arkadaşlarını davet etmesine yarayan bir sistemdir. Oyuncu, /davet <isim> komutu ile bir arkadaşını sunucuya davet edebilir. Bu komutu girdiğinde davet ettiği kişi direkt olarak whiteliste eklenecektir. Ayrıca en fazla 3 kişi davet edebilme hakkı vardır.

PHP:
on join:  
    if {davethakki.%player%} is not set:
        set {davethakki.%player%} to 3 #burdaki 3 sayısı bir oyuncunun kaç kişi davet edeceğini belirler. Kendinize göre bu sayıyı değiştirebilirsiniz.
  
  
  
command /davet <text>:
    usage: /davet <isim>
    trigger:
        if {davethakki.%player%} is 0:
            send "<yellow>Davet hakkınız dolmuştur." to player
        else:
            execute console command "whitelist add %arg-1%"
            send "<yellow>%arg-1% oyuncusu sizin tarafınızdan sunucuya alındı. Artık beraber oynayabilirsiniz!"
            add text-argument to {davetler.%player%::*}
            remove 1 from {davethakki.%player%}
          
command /goster <offline player>:
    permission: admin
    permission message: <light blue>Bu komutu kullanabilmeniz için gereken yetki: <red>OP
    trigger:
        message "<green>====================================================="
        message "&l<yellow>%arg-1% <orange>oyuncusu <light blue>%3-{davethakki.%arg-1%}% <orange>kişi davet etmiş."
        message ""
        message "<orange>Kalan davet hakkı: <light blue>%{davethakki.%arg-1%}%"
        message "<green>====================================================="

command /hepsi:
    permission: admin
    permission message: <light blue>Bu komutu kullanabilmeniz için gereken yetki: <red>OP
    trigger:
        message "<green>====================================================="
        message "&l<orange>Hangi oyuncu kaç kişi davet etmiş?"
        message ""
        loop all players:
            message "<yellow>%display name of loop-player%: <light blue>%3-{davethakki.%loop-player%}%"
        message "<green>====================================================="

command /sifirla <text>:
    permission: admin
    permission message: <light blue>Bu komutu kullanabilmeniz için gereken yetki: <red>OP
    trigger:
        set {davethakki.%arg-1%} to 3
        send "<yellow>%arg-1% <orange>oyuncusunun davetiyeleri sıfırlandı." to player
      
      
command /yasakla <text>:
    permission: admin
    permission message: <light blue>Bu komutu kullanabilmeniz için gereken yetki: <red>OP
    trigger:
        if {banned.%arg-1%} is false:
            execute console command "ban %arg-1%"
            set {banned.%arg-1%} to true
        if {daveteden.%arg-1%} is set:
            execute console command "yasakla %{daveteden.%arg-1%}%"
        loop {davetler.%arg-1%::*}:
            execute console command "yasakla %loop-value%"
          
  
      
on command "ban":
    if executor is a player:
        cancel event
        message "<pink>Bir oyuncuyu yasaklamak için /yasakla <oyuncu ismi> komutunu kullanın."
    else:
        stop

Bir oyuncunun kaç kişi davet ettiğini ve kalan davet hakkını görmek için /goster <isim> komutunu kullanabilirsiniz.
O an sunucuda online olan kişilerden kimin kaç kişi davet ettiğini görmek için /hepsi komutunu kullanabilirsiniz.
Bir oyuncunun davet hakkını sıfırlamak için /sifirla <isim> komutunu kullanabilirsiniz.

Bu sistemde /yasakla <isim> komutuyla birisini banladığınızda o kişi, o kişinin davet ettiği kişiler, o kişinin davet ettiği kişilerin davet ettiği kişiler şeklinde zincirleme olarak o kişiye ait tüm davet ağını sunucudan banlayacaktır.
 

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
{daveteden.%arg-1%}'ı setlemeden nasıl banlayacaksınız :(
Kod:
command /davet <text>:
usage: /davet <isim>
trigger:
if {davethakki.%player%} is 0:send "<yellow>Davet hakkınız dolmuştur." to player
else:execute console command "whitelist add %arg-1%"
send "<yellow>%arg-1% oyuncusu sizin tarafınızdan sunucuya alındı. Artık beraber oynayabilirsiniz!"
add text-argument to {davetler.%player%::*}
remove 1 from {davethakki.%player%}
set {daveteden.%arg 1%} to "%player%"
%player% çalışıyor diye hatırlıyorum olmadı display name of player .-.
Bu arada niye davet eden de banlanıyor ki ._.
 

SnKaan

Elmas Madencisi
En iyi cevaplar
0
Kod:
on join: 
    if {davethakki.%player%} is not set:
        set {davethakki.%player%} to 3 #burdaki 3 sayısı bir oyuncunun kaç kişi davet edeceğini belirler. Kendinize göre bu sayıyı değiştirebilirsiniz.

Bu kısım /davet komutunun içine konabilirdi bu sayede login eventini bosu bosuna doldurmus olmazdık nede olsa her girişimizde bosu bosuna bunu sorgulayacak.Diğer şey ise consoldan whitelist çalıstırmak yerine skript ile liste yapılabilir ve oyuncunun adı orda yoksa oyuncuyu bilgilendirmek amacıyla bir odaya ısınlayabilirdi.Oyuncuya odada komut kullanmasını yasaklatarakda çıkmasını önleyebilirdin.Ama yinede güzel olmuş.
 
Üst