Bulundu Belli oy sayısına göre event başlatma

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

nesh_

Birisi mi Spawnlandı?
Katılım
7 Kasım 2023
Mesajlar
9
Elmaslar
0
Puan
395
Yaş
20
Konum
Türkiye
Minecraft
nesh_

Discord:

Nesh14

Arkadaşlar selam istediğim skript şu şekilde;
Her gün saat 20:00 olduğunda 5 dakika sürecek şekilde chatte basit bir oylama skripti çalışacak ve chatte çıkan bir komut olacak onu yazan herkes eventin başlaması için oy verecek, örnek komut /eventoyla
Eğer ki 25 kişi /eventoyla komutunu çalıştırırsa otomatik olarak /event skripti çalışacak.
Mümkünse gösterge konulabilir mi? 0/25 - 11/25 gibi
 
Son düzenleme:
Bu Skripti kullanarak yapabilirsiniz.
Options bölümünü kendi istediğinize göre değiştirebilirsiniz.
Skript-placeholder Addon'u gerekiyor, sunucunuza bunu yüklemezseniz oylama miktarını göremezsiniz.
Addonu indirdikten sonra Scoreboard vb yerlere; %eventOyla% yazınız.

JavaScript:
load:
    delete {event::size}
            
    delete {event::start}
            
    delete {event::player::*}
    
papi placeholder request with the prefix "eventOyla":
    set the result to "%{event::size} ? 0%"
    wait a seconds
        
options:
    komut: give * diamond
    kaç-kişide-başlayacak: 25
    saat: 20:00

every a minutes:
    set {_now} to now formatted as "HH:mm"
    {_now} is "{@saat}":
        event("false")
        
command eventoyla:
    trigger:
        {event::start} is set:
            {event::player::%uuid of player%} is not set:
            
                event("true")
                
                set {event::player::%uuid of player%} to true
                
                send "&aOy verildi! Toplam oy [%{event::size} ? "{@kaç-kişide-başlayacak}"%]"
            else:
                send "&cZaten oy vermişsiniz!"
        else:
            send "&cEtkinlik bitmiş/başlamamış olabilir."
            
function event(type: text):

    {_type} is "true":
    
        add 1 to {event::size}
        
        {event::size} = {@kaç-kişide-başlayacak}:
        
            execute console command "{@komut}"
            
            delete {event::size}
            
            delete {event::start}
            
            delete {event::player::*}

            send "%nl%&eOylama işlemi bitti!%nl%" to players
    else:
        {event::start} is not set:
        
            send "%nl%&eEtkinlik başladı! &6/eventoyla&e yazarak oy verebilirsiniz!%nl%" to players
            
            set {event::start} to true
 
Bu Skripti kullanarak yapabilirsiniz.
Options bölümünü kendi istediğinize göre değiştirebilirsiniz.
Skript-placeholder Addon'u gerekiyor, sunucunuza bunu yüklemezseniz oylama miktarını göremezsiniz.
Addonu indirdikten sonra Scoreboard vb yerlere; %eventOyla% yazınız.

JavaScript:
load:
    delete {event::size}
           
    delete {event::start}
           
    delete {event::player::*}
   
papi placeholder request with the prefix "eventOyla":
    set the result to "%{event::size} ? 0%"
    wait a seconds
       
options:
    komut: give * diamond
    kaç-kişide-başlayacak: 25
    saat: 20:00

every a minutes:
    set {_now} to now formatted as "HH:mm"
    {_now} is "{@saat}":
        event("false")
       
command eventoyla:
    trigger:
        {event::start} is set:
            {event::player::%uuid of player%} is not set:
           
                event("true")
               
                set {event::player::%uuid of player%} to true
               
                send "&aOy verildi! Toplam oy [%{event::size} ? "{@kaç-kişide-başlayacak}"%]"
            else:
                send "&cZaten oy vermişsiniz!"
        else:
            send "&cEtkinlik bitmiş/başlamamış olabilir."
           
function event(type: text):

    {_type} is "true":
   
        add 1 to {event::size}
       
        {event::size} = {@kaç-kişide-başlayacak}:
       
            execute console command "{@komut}"
           
            delete {event::size}
           
            delete {event::start}
           
            delete {event::player::*}

            send "%nl%&eOylama işlemi bitti!%nl%" to players
    else:
        {event::start} is not set:
       
            send "%nl%&eEtkinlik başladı! &6/eventoyla&e yazarak oy verebilirsiniz!%nl%" to players
           
            set {event::start} to true
vaktini ayırdığın için teşekkür ederim fakat bu skript bir kere çalışınca sıfırlanmıyor yani bir süre sayacı yok. Saat X bir vakit olduğu zaman 5 dakika içerisinde bu komutlar çalışacak, eğer hedefi bulursa(25 oyuncu oylarsa)komut çalışacak. Eğer ki 5 dakika içinde hedefi bulamazsa iptal olacak 24 saat sonra yine çalışacak.
 

Scoreboard üzerinde göstermek için %eventOyla% yazınız.

Örnek Önizleme:
4:39 | 5/25 - Etkinlik bitti! | 12/25

Geri sayım bittikten sonra etkinlik biter.

JavaScript:
load:
    delete {event::size}
           
    delete {event::start}
           
    delete {event::player::*}
   
    delete {event::time}
   
papi placeholder request with the prefix "eventOyla":
    set the result to "&6%{event::time} ? "&cEtkinlik bitti!"% &8|&e %{event::size} ? 0%/{@kaç-kişide-başlayacak}"
    wait a seconds      
   
options:
    komut: give * diamond
    kaç-kişide-başlayacak: 25
    saat: 20:00
    geri-sayım: 300 #5 dakika için 300 saniye

function anemysTimeFormat(time: number) :: String:

    set {_arg} to {_time} parsed as number
   
    loop {_time} times:
   
        add 1 to {_seconds}
       
        {_seconds} = 60:
       
            add 1 to {_minutes}
           
            remove 60 from {_seconds}
           
    set {_out} to "%{_minutes} ? 00%:%{_seconds} ? 00%"
   
    return "%{_out}%"

every a minutes:
    set {_now} to now formatted as "HH:mm"
    {_now} is "{@saat}":
        event("false")
        set {event::start} to true
        event("false")
        set {_index} to {@geri-sayım}
        set {star::stop} to true
       
        while {star::stop} is set:
            #send {_index} to players
            #send {star::stop} to players
            #send {event::time} to players
            wait a seconds
            remove 1 from {_index}
            set {event::time} to anemysTimeFormat({_index})
           
            {_index} = 0:
                delete {star::stop}
               
            {event::start} is not set:
                delete {star::stop}
               
            stop loop if {star::stop} is not set
           
        delete {star::stop}
        set {event::time} to anemysTimeFormat({_index})
        delete {event::time}
        send "&eEtkinlik bitti!" to players
        event("finish")
       
command eventoyla:
    trigger:
        {event::start} is set:
            {event::player::%uuid of player%} is not set:
           
                event("true")
               
                set {event::player::%uuid of player%} to true
               
                send "&aOy verildi! Toplam oy [%{event::size} ? "{@kaç-kişide-başlayacak}"%]"
            else:
                send "&cZaten oy vermişsiniz!"
        else:
            send "&cEtkinlik bitmiş/başlamamış olabilir."
           
function event(type: text):

    {_type} is "true":
   
        add 1 to {event::size}
       
        {event::size} = {@kaç-kişide-başlayacak}:
       
            execute console command "{@komut}"
           
            delete {event::size}
           
            delete {event::start}
            delete {star::stop}
            delete {event::player::*}

            send "%nl%&eOylama işlemi bitti!%nl%" to players
    {_type} is "finish":
        delete {event::size}        
        delete {event::start}      
        delete {event::player::*}
        delete {star::stop}          
    {_type} is "false":
        {event::start} is not set:
       
            send "%nl%&eEtkinlik başladı! &6/eventoyla&e yazarak oy verebilirsiniz!%nl%" to players
           
            set {event::start} to true
 
plugin yazim gel
 
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