rSK's TNT-RUN, Sunucunuza Bir Minioyun Ekleyin!

ruddeTR

projects.gg
Emektar Üye
En iyi cevaplar
2
Screenshot_1.png

Ne işe yarar?
Menüde bulunan Yönetici Panelinden, Yöneticiler bir TNTRun başlangıç noktası ayarlar ve TNTRun oyununu başlatır. Oyun başlayınca ayarlanılan noktaya katılımcılar ışınlanırlar ve birkaç saniye sonra bastıkları bloklar yere düşmeye başlar. Hiçliğe düşen oyuncu kaybeder ve son bir kişi kalana kadar oyun devam eder.
Ayarlar
Ayarlar sayfası büyük önem taşır, çünkü hangi blokların düşebileceğini, para ödülünün olup olmayacağını ve permissionları buradan ayarlarsınız. Örnek ayar sayfası için Spoilerı açabilirsiniz.
Kod:
options:
    tntRunAdmin: rSK.Yonetici #TNTRun menüsünde Yönetici bölümünü görebilecekler için gerekli yetki
    DoubleJumpParticle: cloud #Doublejump anında hangi Particle çıksın?
    dJumpParticleSayi: 10 #Aynı anda kaç Particle oluştursun?
    DoubleJumpSound: enderdragon_wings
    tntRunGerisayim: 1 #TNTRun başlatıldıktan kaç dakika boyunca girişler açık olsun?
    glassSusleme: black stained glass #Menü süslemesi hangi eşya olsun?
    glassBaslik: &7rudde's TNT-RUN #Süslemenin üzerinde ne yazsın?
    prefix: &9TNTRun&8> &7
    duyuruprefix: &6&lTNTRun &8> &7
    minimumKisi: 2 #TNTRun en az kaç kişiyle başlatılsın?
    blokismi: stone or stone brick or glowstone #Hangi bloklar TNT bloğu olarak algılansın? (or kelimesi veya anlamına geliyor)
    fiyatDoubleJump: 5000 #Kaç para karşılığında 1 Double Jump hakkı satın alınsın?
    indirimDoubleJump: rSK.VIP #Double Jump hakkını yarı fiyatına alacak kişilere/gruplara verilecek permission
    paraOdulu: 50000 #Para ödülü ne kadar olsun? (0 yazarsanız para ödülü olmaz)
    dJumpSinir: 3 #En fazla kaç Çift Zıplama hakkı alabilsin?
    ziplamaSiddeti: 0.4 #Çift Zıplama şiddeti kaç olsun?
Sistem Tanıtım Videosu
Aşağıda vermiş olduğum Spoilera tıklayarak sistemin tanıtım videosuna ulaşabilirsiniz.
Sistem Kaynak Kodları
Aşağıda vermiş olduğum Spoilera tıklayarak sistemın kaynak kodlarına ulaşabilirsiniz.
Kod:
#                                                    _       _          ____    _  __              _____   _   _   _____   ____    _   _   _   _                                 #
#                                  _ __   _   _    __| |   __| |   ___  / ___|  | |/ /             |_   _| | \ | | |_   _| |  _ \  | | | | | \ | |                                #
#                                | '__| | | | |  / _` |  / _` |  / _ \ \___ \  | ' /     _____      | |   |  \| |   | |   | |_) | | | | | |  \| |                                #
#                                | |    | |_| | | (_| | | (_| | |  __/  ___) | | . \    |_____|     | |   | |\  |   | |   |  _ <  | |_| | | |\  |                                #
#                                |_|     \__,_|  \__,_|  \__,_|  \___| |____/  |_|\_\               |_|   |_| \_|   |_|   |_| \_\  \___/  |_| \_|                                #
#                                                                                                                                                                                #

#SEFYY, DoubleJump kodlaması için teşekkürler.
#Bu Skriptin çalışması için TuSKe eklentisi gereklidir.
#İletişim için Discord: rudde#7859

options:
    tntRunAdmin: rSK.Yonetici #TNTRun menüsünde Yönetici bölümünü görebilecekler için gerekli yetki
    DoubleJumpParticle: cloud #Doublejump anında hangi Particle çıksın?
    dJumpParticleSayi: 10 #Aynı anda kaç Particle oluşturdun?
    DoubleJumpSound: enderdragon_wings
    tntRunGerisayim: 1 #TNTRun başlatıldıktan kaç dakika boyunca girişler açık olsun?
    glassSusleme: black stained glass #Menü süslemesi hangi eşya olsun?
    glassBaslik: &7rudde's TNT-RUN #Süslemenin üzerinde ne yazsın?
    prefix: &9TNTRun&8> &7
    duyuruprefix: &6&lTNTRun &8> &7
    minimumKisi: 2 #TNTRun en az kaç kişiyle başlatılsın?
    blokismi: stone or stone brick or glowstone #Hangi bloklar TNT bloğu olarak algılansın? (or kelimesi veya anlamına geliyor)
    fiyatDoubleJump: 5000 #Kaç para karşılığında 1 Double Jump hakkı satın alınsın?
    indirimDoubleJump: rSK.VIP #Double Jump hakkını yarı fiyatına alacak kişilere/gruplara verilecek permission
    paraOdulu: 50000 #Para ödülü ne kadar olsun? (0 yazarsanız para ödülü olmaz)
    dJumpSinir: 3 #En fazla kaç Çift Zıplama hakkı alabilsin?
    ziplamaSiddeti: 0.4 #Çift Zıplama şiddeti kaç olsun?
 
#Ayar sayfası sonu, eğer aşağıda değişiklik yapacaksanız yedek almayı unutmayın! :)

on quit:
    if {tntRun.%player%} is set:
        clear {dJumpHak.%player%}
        remove player from {tntRunListe::*}
        subtract 1 from {tntRunKisi}
        clear {tntRun.%player%}
     
 
on flight toggle:
    if {tntRun.%player%} is set:
        if {dJumpHak.%player%} is higher than 0:
            if {tntRunJump} is set:
                if player's gamemode is not creative:
                    if {tntRunBasladi} is on:
                        cancel event
                        wait a tick
                        set player's flight state to false
                        push player upwards at speed {@ziplamaSiddeti}
                        push player forwards at speed {@ziplamaSiddeti}
                        show {@dJumpParticleSayi} "{@DoubleJumpParticle}" particles at location of player for all players offset by 0.4, 0.5, 0.4
                        loop 3 times:
                            play "{@DoubleJumpSound}" to player at volume 0.99
                        remove 1 from {dJumpHak.%player%}
                        if {dJumpHak.%player%} is 0:
                            clear {dJumpHak.%player%}
                            message "{@prefix}Çift zıplama hakkınız kalmadı!"
                        else:
                            message "{@prefix}Geriye &6%{dJumpHak.%player%}% &7çift zıplama hakkınız kaldı!"
                        stop

on jump:
    if player's gamemode is not creative:
        if {dJumpHak.%player%} is higher than 0:
            if {tntRunJump} is set:
                if {tntRunBasladi} is on:
                    if block below player is not air or water:
                        set player's flight state to true

on damage:
    if {tntRun.%victim%} is set:
        if {tntRunBasladi} is on:
            if damage cause is fall:
                cancel event
                     
on step on {@blokismi}:
    if {tntRun} is set:
        if {tntRun.%player%} is on:
            if {tntRunBasladi} is on:
                wait 6 tick
                set event-block to air
                show 2 "crit" particles at location of player for all players offset by 0.4, 0.5, 0.4
         
on damage:
    if {tntRun.%victim%} is set:
        if y-coordinate of victim is below 0:
            cancel event
            execute console command "tppos %victim% 12 4 13"
            send "{@prefix}Maalesef kazanamadınız!" to victim
            remove 1 from {tntRunKisi}
            remove victim from {tntRunListe::*}
            if {tntRunKisi} is 1:
                broadcast "{@duyuruprefix}TNTRun kazananı &6%{tntRunListe::*}% &7oldu, tebrikler!"
                loop all players:
                    clear {dJumpHak.%loop-player%}
                    clear {tntRun.%loop-player%}
                    clear {dJumpHak.%loop-player%}
                clear {birOncekiKazanan::*}
                set {birOncekiKazanan::*} to {tntRunListe::*}
                if {@paraOdulu} is higher than 0:
                    broadcast "&6%{tntRunListe::*}%&7, ödül olarak &6${@paraOdulu} &7kazandı!"
                    send "{@prefix}Bir sonraki TNTRun minioyununa kadar şanın &6/tntrun &7ekranında bahsedilecek!" to {tntRunListe::*}
                    add {@paraOdulu} to victim's balance
                    execute console command "spawn %{tntRunListe::*}%"
                add 1 to {OyunSayi}
                clear {tntRunListe::*}
                clear {tntRunKisi}
                execute console command "spawn %victim%"
                clear {tntRun}
                clear {tntRunJump}
                clear {tntRunBasladi}

every minute:
    if {tntRunZamanlayicisi} is higher than 0:
        remove 1 from {tntRunZamanlayicisi}
        if {tntRunZamanlayicisi} is equal to 0:
            if size of {tntRunListe::*} is smaller than {@minimumKisi}:
                broadcast "{@duyuruprefix}Yeterli katılım olmadığı için minioyun durduruldu."
                clear {tntRunListe::*}
                clear {tntRunKisi}
                clear {tntRun}
                clear {tntRunJump}
            else:
                broadcast "{@duyuruprefix}TNTRun minioyunu başlatılıyor! Başlamasına &65 saniye"
                wait a second
                broadcast "{@duyuruprefix}TNTRun minioyunu başlatılıyor! Başlamasına &64 saniye"
                wait a second
                broadcast "{@duyuruprefix}TNTRun minioyunu başlatılıyor! Başlamasına &63 saniye"
                wait a second
                broadcast "{@duyuruprefix}TNTRun minioyunu başlatılıyor! Başlamasına &62 saniye"
                wait a second
                broadcast "{@duyuruprefix}TNTRun minioyunu başlatılıyor! Başlamasına &61 saniye"
                wait a second
                broadcast "{@duyuruprefix}TNTRun &6%{tntRunKisi}% kişi &7ile başladı!"
                send "{@prefix}Yerdeki bloklar birkaç saniye içerisinde dökülmeye başlayacak, pozisyon al!" to {tntRunListe::*}
                teleport {tntRunListe::*} to {r.tntRunSpawn}
                set gamemode of {tntRunListe::*} to Survival
                set {tntRunJump} to on
                set {tntRunBasladi} to on

command /tntrun:
    trigger:
        if player has permission "{@tntRunAdmin}":
            open virtual chest with size 3 named "       &o&lMinioyun: TNT-RUN" to player
            make gui slot 0 of player with {@glassSusleme} named "&6{@glassBaslik}" to nothing
            loop 27 times:
                make gui slot 0+loop-value of player with {@glassSusleme} named "&6{@glassBaslik}" to nothing
            make gui slot 22 of player with book and quill named "&aSpawn Noktası Ayarla (&fYönetici&a) &l>" with lore "&7Olduğunuz yeri TNTRun minioyununun başlayacağı||&7yer olarak seçer. TNTRun'ın çalışması için||&7yerler &6{@blokismi} &7olması gereklidir." to run:
                set {r.tntRunSpawn} to player's location
                message "{@prefix}Bulunduğunuz koordinat başarıyla başlangıç noktası olarak ayarlandı."
            make gui slot 19 of player with book and quill named "&aSistem Bilgisi (&fYönetici&a) &l>" with lore "&7Sistem, &6ruddeTR &7tarafından tasarlanmıştır.||&6Book and Quill &7eşyalarını ve hemen üzerindeki fazladan camları sadece||&6{@tntRunAdmin} &7yetkisi olanlar görebilir, kullanabilir.||||&7Destek için iletişim:||&6rudde##7859 (Discord)" to nothing
            make gui slot 25 of player with book and quill named "&aTNTRun Başlat (&fYönetici&a) &l>" with lore "&7Buraya tıkladıktan &6{@tntRunGerisayim} &7dakika sonra||&7yeni bir oyun başlatır." to run:
                if {tntRun} is set:
                    message "{@prefix}Halihazırda bir TNTRun oynanıldığı için yenisi başlatılamıyor!"
                else if player doesn't have permission "{@tntRunAdmin}":
                    message "{@prefix}Gerekli yetkiniz({@tntRunAdmin}) bulunmadığı için TNTRun sizin tarafınızdan başlatılamaz."
                else:
                    broadcast "{@duyuruprefix}Yeni bir oyun başlıyor! ({@tntRunGerisayim} dakika sonra)"
                    broadcast "&6%player% &7tarafından TNTRun minioyunu açıldı. Katılmak için"
                    broadcast "&6/tntrun &7komutunu kullanıp &aOyuna Katıl&7a tıklayabilirsiniz."
                    set {tntRunZamanlayicisi} to {@tntRunGerisayim}
                    set {tntRun} to 1
                    MenuYenile(player)
        else:
            open virtual chest with size 1 named "       &o&lMinioyun: TNT-RUN" to player
            make gui slot 0 of player with {@glassSusleme} named "&6{@glassBaslik}" to nothing
            loop 9 times:
                make gui slot 0+loop-value of player with {@glassSusleme} named "&6{@glassBaslik}" to nothing
        if {tntRun} isn't set:
            make gui slot 4 of player with tnt named "&aOyuna Katıl &l>" with lore "&7TNTRun başlatılmadığı için girişler kapalı."
            make gui slot 2 of player with feather named "&aDouble Jump Hakkı &l>" with lore "&7TNTRun başlatılmadığı için çift zıplama özelliği satın alamazsınız."
        else:
            if {@paraOdulu} is higher than 0:
                make gui slot 4 of player with tnt block named "&aOyuna Katıl &l>" with lore "&7TNTRun minioyunu aktif! Katılmak için||&7buraya tıklayabilirsiniz.||||&aPara Ödülü &l> &a${@paraOdulu}" to run:
                    if {tntRun.%player%} isn't set:
                        add 1 to {tntRunKisi}
                        add player to {tntRunListe::*}
                        set {tntRun.%player%} to on
                        message "{@prefix}Katılımınız alındı!"
                        MenuYenile(player)
            else:
                make gui slot 4 of player with tnt block named "&aOyuna Katıl &l>" with lore "&7TNTRun minioyunu aktif! Katılmak için||&7buraya tıklayabilirsiniz." to run:
                    if {tntRun.%player%} isn't set:
                        add 1 to {tntRunKisi}
                        add player to {tntRunListe::*}
                        set {tntRun.%player%} to on
                        message "{@prefix}Katılımınız alındı!"
                        MenuYenile(player)
            if player has permission "{@indirimDoubleJump}":
                make gui slot 2 of player with feather named "&aDouble Jump Hakkı &l>" with lore "&7Buraya tıklayarak 1 adet çift zıplama||&7hakkı satın alırsınız.||||&7&mFIYAT &l&m> &7&m${@fiyatDoubleJump}||&aVIP INDIRIMI &l> &a$%{@fiyatDoubleJump} / 2%" to run:
                    if {tntRun} isn't set:
                        message "{@prefix}şu an yürürlükte olan bir TNTRun oyunu yok."
                    else if {dJumpHak.%player%} is equal to {@dJumpSinir}:
                        message "{@prefix}En fazla &6{@dJumpSinir} &7zıplama hakkı alabilirsiniz."
                    else if player's balance is higher than {@fiyatDoubleJump}/2:
                        add 1 to {dJumpHak.%player%}
                        message "{@prefix}&6${@fiyatDoubleJump} &7karşılığında bir zıplama hakkı satın aldınız."
                        message "&7&lNOT: &7Eğer aktif oyunda kullanmazsanız, diğer oyunda tekrar satın almanız gerekir."
                        subtract {@fiyatDoubleJump}/2 from player's balance
                        MenuYenile(player)
            else:
                make gui slot 2 of player with feather named "&aDouble Jump Hakkı &l>" with lore "&7Buraya tıklayarak 1 adet çift zıplama||&7hakkı satın alırsınız.||||&aFIYAT &l> &a${@fiyatDoubleJump}||&7VIP INDIRIMI &l> &a$%{@fiyatDoubleJump} / 2%" to run:
                    if {tntRun} isn't set:
                        message "{@prefix}şu an yürürlükte olan bir TNTRun oyunu yok."
                    else if {dJumpHak.%player%} is equal to {@dJumpSinir}:
                        message "{@prefix}En fazla &6{@dJumpSinir} &7zıplama hakkı alabilirsiniz."
                    else if player's balance is higher than {@fiyatDoubleJump}:
                        add 1 to {dJumpHak.%player%}
                        message "{@prefix}&6${@fiyatDoubleJump} &7karşılığında bir zıplama hakkı satın aldınız."
                        message "&7&lNOT: &7Eğer aktif oyunda kullanmazsanız, diğer oyunda tekrar satın almanız gerekir."
                        subtract {@fiyatDoubleJump} from player's balance
                        MenuYenile(player)
        if {birOncekiKazanan::*} is set:
            make gui slot 6 of player with gold ingot named "&aOyun Bilgisi &l>" with lore "&7TNTRun minioyununda herkes bir alana ışınlanır ve||&7altındaki bloklar yıkılmaya başlar.||&7Sürekli koşmanız gerekir ve düştüğünüzde||&7elenirsiniz, sona kalan birinci olur.||||&7Şimdiye kadar &f%{OyunSayi}% &7TNTRun oynanmış,||&7Son şampiyon ise &f%{birOncekiKazanan::*}%&7."
        else:
            make gui slot 6 of player with gold ingot named "&aOyun Bilgisi &l>" with lore "&7TNTRun minioyununda herkes bir alana ışınlanır ve||&7altındaki bloklar yıkılmaya başlar.||&7Sürekli koşmanız gerekir ve düştüğünüzde||&7elenirsiniz, sona kalan birinci olur."
         
function MenuYenile(p: player):
    close {_p}'s inventory
    execute {_p} command "/tntrun"
Konuyu incelediğiniz için teşekkür ederim, iyi forumlar!
vixten ve Ediz'e sistemi test ettikleri için teşekkür ederim.
 
Moderatör tarafından düzenlendi:

ruddeTR

projects.gg
Emektar Üye
En iyi cevaplar
2
Sistemi yaparken tek beklentim insanların değerlendirme yapmasıydı yani yorumlarınız için teşekkür ederim.
 

Gutenberg

Demir Madencisi
En iyi cevaplar
0
Kaliteli insanlar kaliteli işler başarırlar. Ancak şu fontu bir düzeltseniz keşke .s
 
Üst