Oylamalı Sabah - Akşam Skripti

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

HaciGandalf

Katniss Everdeen
Katılım
23 Nisan 2019
Mesajlar
136
Elmaslar
72
Puan
13.535
Yaş
22
Konum
Türkiye / İstanbul
Discord İzni
Minecraft
HaciGandalf

Discord:

hacigandalf

Kodun içerisinde 2 tane "world" yazıyor. Bu skripti hangi dünya için kullanmak istiyorsanız o dünyanın adını girmelisiniz. Yani end ya da netherin dünya adını girmeyin. Vanilla olarak normal dünyanın adı "world" dür. Yani değişmenize gerek olmaz.

Evet verenlerin sayısı hayır verenlerin sayısından fazlaysa gündüz oluyor. Aynı şey hayır verenler için yaşanacak olursa gece olarak kalıyor.

Bir konuda arkadaşın ihtiyacı olduğunu gördüm ve hemen yazmak istedim biraz aceleye geldi. Yanlış bir şey yapmışsam söylerseniz düzeltirim.

Kod:
at 20:00 in "world":
    set {oylama} to true
    play sound "entity.experience_orb.pickup" with volume 1 to the players
    broadcast "&8[&6Oylama&8] &7Oylama zamanı! Sabah olsun mu? &a/evet &7ya da &c/hayır&7. Oylama 1 dakika sonra açıklanacak."
    broadcast " "
    send "                       <command:/evet>&8[&a&lEVET&8]           <command:/hayır>&8[&c&lHAYIR&8]" to players
    wait 60 seconds
    if {oylamaevet} > {oylamahayir}:
        broadcast "&8[&6Oylama&8] &7Sabah olsun diyenler kazandı! Şimdi sabah olucak."
        set time of the world "world" to 06:00
    else:
        broadcast "&8[&6Oylama&8] &7Gece olarak kalsın diyenler kazandı! Saat değişmiyor."
    set {oylamaevet} and {oylamahayir} to 0
    delete {oylarkapali::*}
    set {oylama} to false


command /evet:
    trigger:
        if {oylama} is true:
            if {oylarkapali::%player%} is not set:
                set {oylarkapali::%player%} to 1
                add 1 to {oylamaevet}
                play sound "block.stone_button.click_on" with volume 1 to the players
                send "&8[&6Oylama&8] &7Oyunu &8(&3Evet&8) &7olarak kullandın." to player
            else:
                send "&8[&6Oylama&8] &cSadece bir kere oy kullanabilirsin." to player
        else:
            send "&8[&6Oylama&8] &cOylama duyurusu yapılmadan oy kullanamazsın." to player


command /hayır:
    trigger:
        if {oylama} is true:
            if {oylarkapali::%player%} is not set:
                set {oylarkapali::%player%} to 1
                add 1 to {oylamahayir}
                play sound "block.stone_button.click_on" with volume 1 to the players
                send "&8[&6Oylama&8] &7Oyunu &8(&3Hayır&8) &7olarak kullandın." to player
            else:
                send "&8[&6Oylama&8] &cSadece bir kere oy kullanabilirsin." to player
        else:
            send "&8[&6Oylama&8] &cOylama duyurusu yapılmadan oy kullanamazsın." to player
 
Son düzenleme:
"broadcast" yerine "send to players" eklenebilir. Onun dışında oyunculara komut kullandırtmak yerine tıklamalı mesaj eklenebilir veyahut menü. Ayrı yeten ">" çalışır mı denemedim hiç ondan dolayı bilmiyorum fakat "greater than" ekleyebilirsin. Başarılar dilerim.
 
Sorunsuz Çalışıyor Hocam Elinize Sağlık Eliniz Dert Görmesin :)
Screenshot 2021-06-19 213753.pngScreenshot 2021-06-19 213739.pngScreenshot 2021-06-19 213727.png
 
Hoş ve güzel bir şey olmuş düzenleyerek her konuda kullanılabilir, ellerinize sağlık.
 
Kodlamayı şu şekilde düzenledim ve geliştirdim;
Kod:
options:
    world: world
    prefix: &8[&6Oylama&8]

at 20:00 from "{@world}":
    if {timevoting} is false:
        set {timevoting} to true
        send "{@prefix} &7Oylama zamanı gelmiştir! Eğer zaman sabah olsun diyorsanız &a/zamansabah&7 komutunu, eğer zaman gece kalsın diyorsanız &c/zamangece&7 komutunu kullanabilirsiniz." to players
        send "{@prefix} &7Zaman oylaması 30 saniye sürecektir!" to players
        wait 30 seconds
        if {votingtrue} is greater than {votingfalse}:
            set time of the "{@world}" to 6:00
            send "{@prefix} &7Oylama sonuçlarına göre zaman sabah yapılacaktır!" to players
            send "{@prefix} &7Zamanın sabah olmasını isteyenler: &a%{votingtrue}% &8| &7Zamanın gece kalmasını isteyenler: &c%{votingfalse}%" to player
            loop all players:
                set {votingstat::%loop-player%} to false
            set {votingtrue} to 0
            set {votingfalse} to 0          
        else if {votingtrue} is not greater than {votingfalse}:
            send "{@prefix} &7Oylama sonuçlarına göre zaman gece kalacaktır!" to players
            send "{@prefix} &7Zamanın sabah olmasını isteyenler: &a%{votingtrue}% &8| &7Zamanın gece kalmasını isteyenler: &c%{votingfalse}%" to player
            loop all players:
                set {votingstat::%loop-player%} to false
            set {votingtrue} to 0
            set {votingfalse} to 0      

on command:
    if command is "zamansabah":
        if {timevoting} is true:
            if {votingstat::%player%} is false:
                set {votingstat::%player%} to true
                add 1 to {votingtrue}
                send "{@prefix} &7Başarıyla, oylama hakkınızı kullandınız!" to player
            else if {votingstat::%player%} is true:
                send "{@prefix} &7Maalesef, zaten oylama hakkınızı kullanmışsınız!" to player
        else if {timevoting} is false:
            send "{@prefix} &7Maalesef, şu anda aktif bir zaman oylaması bulunmamaktadır!" to player
    else if command is "zamangece":
        if {timevoting} is true:
            if {votingstat::%player%} is false:
                set {votingstat::%player%} to true
                add 1 to {votingfalse}
                send "{@prefix} &7Başarıyla, oylama hakkınızı kullandınız!" to player
            else if {votingstat::%player%} is true:
                send "{@prefix} &7Maalesef, zaten oylama hakkınızı kullanmışsınız!" to player
        else if {timevoting} is false:
            send "{@prefix} &7Maalesef, şu anda aktif bir zaman oylaması bulunmamaktadır!" to player
 
Kodlamayı şu şekilde düzenledim ve geliştirdim;
Kod:
options:
    world: world
    prefix: &8[&6Oylama&8]

at 20:00 from "{@world}":
    if {timevoting} is false:
        set {timevoting} to true
        send "{@prefix} &7Oylama zamanı gelmiştir! Eğer zaman sabah olsun diyorsanız &a/zamansabah&7 komutunu, eğer zaman gece kalsın diyorsanız &c/zamangece&7 komutunu kullanabilirsiniz." to players
        send "{@prefix} &7Zaman oylaması 30 saniye sürecektir!" to players
        wait 30 seconds
        if {votingtrue} is greater than {votingfalse}:
            set time of the "{@world}" to 6:00
            send "{@prefix} &7Oylama sonuçlarına göre zaman sabah yapılacaktır!" to players
            send "{@prefix} &7Zamanın sabah olmasını isteyenler: &a%{votingtrue}% &8| &7Zamanın gece kalmasını isteyenler: &c%{votingfalse}%" to player
            loop all players:
                set {votingstat::%loop-player%} to false
            set {votingtrue} to 0
            set {votingfalse} to 0         
        else if {votingtrue} is not greater than {votingfalse}:
            send "{@prefix} &7Oylama sonuçlarına göre zaman gece kalacaktır!" to players
            send "{@prefix} &7Zamanın sabah olmasını isteyenler: &a%{votingtrue}% &8| &7Zamanın gece kalmasını isteyenler: &c%{votingfalse}%" to player
            loop all players:
                set {votingstat::%loop-player%} to false
            set {votingtrue} to 0
            set {votingfalse} to 0     

on command:
    if command is "zamansabah":
        if {timevoting} is true:
            if {votingstat::%player%} is false:
                set {votingstat::%player%} to true
                add 1 to {votingtrue}
                send "{@prefix} &7Başarıyla, oylama hakkınızı kullandınız!" to player
            else if {votingstat::%player%} is true:
                send "{@prefix} &7Maalesef, zaten oylama hakkınızı kullanmışsınız!" to player
        else if {timevoting} is false:
            send "{@prefix} &7Maalesef, şu anda aktif bir zaman oylaması bulunmamaktadır!" to player
    else if command is "zamangece":
        if {timevoting} is true:
            if {votingstat::%player%} is false:
                set {votingstat::%player%} to true
                add 1 to {votingfalse}
                send "{@prefix} &7Başarıyla, oylama hakkınızı kullandınız!" to player
            else if {votingstat::%player%} is true:
                send "{@prefix} &7Maalesef, zaten oylama hakkınızı kullanmışsınız!" to player
        else if {timevoting} is false:
            send "{@prefix} &7Maalesef, şu anda aktif bir zaman oylaması bulunmamaktadır!" to player
geliştirilmiş skripti farklı yerde paylaşabilirsin dostum gayet yeterli gibi görünüyor
 
geliştirilmiş skripti farklı yerde paylaşabilirsin dostum gayet yeterli gibi görünüyor
Skripti paylaşmak istemedim çünkü öyle bir amacım yoktu. Paylaşan arkadaş kodumu kullanabilir veya buradan görenler kullanabilir.
 
Kodlamayı şu şekilde düzenledim ve geliştirdim;
Kod:
options:
    world: world
    prefix: &8[&6Oylama&8]

at 20:00 from "{@world}":
    if {timevoting} is false:
        set {timevoting} to true
        send "{@prefix} &7Oylama zamanı gelmiştir! Eğer zaman sabah olsun diyorsanız &a/zamansabah&7 komutunu, eğer zaman gece kalsın diyorsanız &c/zamangece&7 komutunu kullanabilirsiniz." to players
        send "{@prefix} &7Zaman oylaması 30 saniye sürecektir!" to players
        wait 30 seconds
        if {votingtrue} is greater than {votingfalse}:
            set time of the "{@world}" to 6:00
            send "{@prefix} &7Oylama sonuçlarına göre zaman sabah yapılacaktır!" to players
            send "{@prefix} &7Zamanın sabah olmasını isteyenler: &a%{votingtrue}% &8| &7Zamanın gece kalmasını isteyenler: &c%{votingfalse}%" to player
            loop all players:
                set {votingstat::%loop-player%} to false
            set {votingtrue} to 0
            set {votingfalse} to 0         
        else if {votingtrue} is not greater than {votingfalse}:
            send "{@prefix} &7Oylama sonuçlarına göre zaman gece kalacaktır!" to players
            send "{@prefix} &7Zamanın sabah olmasını isteyenler: &a%{votingtrue}% &8| &7Zamanın gece kalmasını isteyenler: &c%{votingfalse}%" to player
            loop all players:
                set {votingstat::%loop-player%} to false
            set {votingtrue} to 0
            set {votingfalse} to 0     

on command:
    if command is "zamansabah":
        if {timevoting} is true:
            if {votingstat::%player%} is false:
                set {votingstat::%player%} to true
                add 1 to {votingtrue}
                send "{@prefix} &7Başarıyla, oylama hakkınızı kullandınız!" to player
            else if {votingstat::%player%} is true:
                send "{@prefix} &7Maalesef, zaten oylama hakkınızı kullanmışsınız!" to player
        else if {timevoting} is false:
            send "{@prefix} &7Maalesef, şu anda aktif bir zaman oylaması bulunmamaktadır!" to player
    else if command is "zamangece":
        if {timevoting} is true:
            if {votingstat::%player%} is false:
                set {votingstat::%player%} to true
                add 1 to {votingfalse}
                send "{@prefix} &7Başarıyla, oylama hakkınızı kullandınız!" to player
            else if {votingstat::%player%} is true:
                send "{@prefix} &7Maalesef, zaten oylama hakkınızı kullanmışsınız!" to player
        else if {timevoting} is false:
            send "{@prefix} &7Maalesef, şu anda aktif bir zaman oylaması bulunmamaktadır!" to player
Loop players kullanılmasına gerek yok daha farklı bir yöntemle loopa gerek kalmadan yapılır. Kod bir yerden alıntı mı verileri ingilizce olarak girilmiş.
 
"broadcast" yerine "send to players" eklenebilir. Onun dışında oyunculara komut kullandırtmak yerine tıklamalı mesaj eklenebilir veyahut menü. Ayrı yeten ">" çalışır mı denemedim hiç ondan dolayı bilmiyorum fakat "greater than" ekleyebilirsin. Başarılar dilerim.
">" "greater than" ile aynı işlevi görüyor. Send to players kullanmak saçma çünkü performansı etkiler (az da olsa). Broadcast sohbete mesaj gönderir send to players herkese tek tek mesaj gönderir. 100 oyuncu var desek büyük performans kaybı olur.
 
">" "greater than" ile aynı işlevi görüyor. Send to players kullanmak saçma çünkü performansı etkiler (az da olsa). Broadcast sohbete mesaj gönderir send to players herkese tek tek mesaj gönderir. 100 oyuncu var desek büyük performans kaybı olur.
Normalde tam tersi olması lazım ama neyse.
Loop players kullanılmasına gerek yok daha farklı bir yöntemle loopa gerek kalmadan yapılır. Kod bir yerden alıntı mı verileri ingilizce olarak girilmiş.
Sıfırdan tarafımca 10dk sürede kodlanmıştır ingilizce kullanmaya alıştım spigotta yayınlarım diye. Öyle bir alışkanlık kaldı yapacak bir şey yok :D

EDİT: Ayrı yeten kodda bir hata görebildim oda gereksiz komut oluşturmak benim kodumda ki gibi else if kullanabilirsin. Başarılar dilerim.
 
Kodun içerisinde 2 tane "world" yazıyor. Bu skripti hangi dünya için kullanmak istiyorsanız o dünyanın adını girmelisiniz. Yani end ya da netherin dünya adını girmeyin. Vanilla olarak normal dünyanın adı "world" dür. Yani değişmenize gerek olmaz.

Evet verenlerin sayısı hayır verenlerin sayısından fazlaysa gündüz oluyor. Aynı şey hayır verenler için yaşanacak olursa gece olarak kalıyor.

Bir konuda arkadaşın ihtiyacı olduğunu gördüm ve hemen yazmak istedim biraz aceleye geldi. Yanlış bir şey yapmışsam söylerseniz düzeltirim.

Kod:
at 20:00 in "world":
    set {oylama} to true
    broadcast "&8[&6Oylama&8] &7Oylama zamanı! Sabah olsun mu? &a/evet &7ya da &c/hayır&7. Oylama 1 dakika sonra açıklanacak."
    broadcast " "
    send "                       <command:/evet>&8[&a&lEVET&8]           <command:/hayır>&8[&c&lHAYIR&8]" to players
    wait 60 seconds
    if {oylamaevet} > {oylamahayir}:
        broadcast "&8[&6Oylama&8] &7Sabah olsun diyenler kazandı! Şimdi sabah olucak."
        set time of the world "world" to 06:00
    else:
        broadcast "&8[&6Oylama&8] &7Gece olarak kalsın diyenler kazandı! Saat değişmiyor."
    set {oylamaevet} and {oylamahayir} to 0
    delete {oylarkapali::*}
    set {oylama} to false


command /evet:
    trigger:
        if {oylama} is true:
            if {oylarkapali::%player%} is not set:
                set {oylarkapali::%player%} to 1
                add 1 to {oylamaevet}
                send "&8[&6Oylama&8] &7Oyunu &8(&3Evet&8) &7olarak kullandın." to player
            else:
                send "&8[&6Oylama&8] &cSadece bir kere oy kullanabilirsin." to player
        else:
            send "&8[&6Oylama&8] &cOylama duyurusu yapılmadan oy kullanamazsın." to player


command /hayır:
    trigger:
        if {oylama} is true:
            if {oylarkapali::%player%} is not set:
                set {oylarkapali::%player%} to 1
                add 1 to {oylamahayir}
                send "&8[&6Oylama&8] &7Oyunu &8(&3Hayır&8) &7olarak kullandın." to player
            else:
                send "&8[&6Oylama&8] &cSadece bir kere oy kullanabilirsin." to player
        else:
            send "&8[&6Oylama&8] &cOylama duyurusu yapılmadan oy kullanamazsın." to player
Oyundan fotoğraflar eklerseniz daha iyi olabileceğini düşünüyorum böyle birşey anlaşılmıyor. Oylamayı GUI olarak yapsaydınız daha çekici olabilirdi ellerinize sağlık uğraşılmış bir skript.
 
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