Bulundu Havai fişekle ilgili skript

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

Fisequn

Fırında Isıttığım İlk Taş
Katılım
6 Ocak 2024
Mesajlar
91
Elmaslar
3
Puan
420
Konum
Türkiye
Minecraft
fisequn

Discord:

fisequn.

arkadaşlar altta vereceğim havai fişek kodu şunlar olduğu zaman çalışsın istiyorum
1 - oyunda 2 hayatta kalan olunca 2 kişininde altında havai fişek çıkacak mesela oyunda 10 kişiyiz ölen seyirci oluyor sona 2 kişi kalırsa altlarında alttaki havai fişek kodu çıkacak
2 - 2 kişiden 1 i öldüğü zaman yani sona kalanın altında 2 saniye arayla bu kod çıksın istiyorum

KOD:/summon firework_rocket ~ ~-0.100 ~ {LifeTime:15,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:3,Explosions:[{Type:1,Flicker:0,Trail:0,Colors:[I;1973019,11743532,8073150,14188952,4312372,14602026,6719955,12801229,15435844,15790320]}]}}}}
 
Biraz daha ayrıntılı açıklarsan skript ile yaparım
 
Biraz daha ayrıntılı açıklarsan skript ile yaparım
10 Kişi oynuyoruz herkes savaşıyor sadece 2 kişi kaldı hayatta o 2 kişi kaldığı an yani 3. kişi öldüğü an 2 kişinin altında havai fişek kodu oluşsun havai fişek patlasın o 2 kişi vs atacak 2 sinden 1 i ölünce hayatta kalanın altında 2 saniye arayla tekrarlanan havai fişek kodu olsun
 
10 Kişi oynuyoruz herkes savaşıyor sadece 2 kişi kaldı hayatta o 2 kişi kaldığı an yani 3. kişi öldüğü an 2 kişinin altında havai fişek kodu oluşsun havai fişek patlasın o 2 kişi vs atacak 2 sinden 1 i ölünce hayatta kalanın altında 2 saniye arayla tekrarlanan havai fişek kodu olsun
Kod:
on load:
    loop all players in world "arena":
        if gamemode of loop-player is survival:
            add 1 to {_oyundakiler}
  

on death of player:
    set victim's gamemode to spectator
    remove 1 from {_oyundakiler}

every seconds:
    if {_oyundakiler} < 3:
        loop all players in world "arena":
            if gamemode of loop-player is survival:
               execute console command "komut'ta player yerine loop-player kullanın."
               broadcast "&eMaçta sadece &c2 &eoyuncu kaldı!"

skript'i reloadladığınızda arena dünyasındaki tüm oyuncuları looplar ve oyun modu survival olanları alır. oyuncu öldüğünde oyun modu seyirciye geçer ve listeden elenir son 2 kişi kaldığında execute console command kısmını sana bıraktım. Komutta player geçiyorsa orayı loop-player olarak düzenle.
Eğer son 1 kişi kalıncayıda istiyorsan every seconds: kısmını (sondaki kısmı) koyala yapıştır < 3 kısmını < 2 yap.
Test edildi ve çalışıyor
 
bizde zaten seyirciye geçme kodu var sadece sona kalanların kodu lazım
Kod:
on load:
    loop all players in world "arena":
        if gamemode of loop-player is survival:
            add 1 to {_oyundakiler}
 

on death of player:
    set victim's gamemode to spectator
    remove 1 from {_oyundakiler}

every seconds:
    if {_oyundakiler} < 3:
        loop all players in world "arena":
            if gamemode of loop-player is survival:
               execute console command "komut'ta player yerine loop-player kullanın."
               broadcast "&eMaçta sadece &c2 &eoyuncu kaldı!"

skript'i reloadladığınızda arena dünyasındaki tüm oyuncuları looplar ve oyun modu survival olanları alır. oyuncu öldüğünde oyun modu seyirciye geçer ve listeden elenir son 2 kişi kaldığında execute console command kısmını sana bıraktım. Komutta player geçiyorsa orayı loop-player olarak düzenle.
Eğer son 1 kişi kalıncayıda istiyorsan every seconds: kısmını (sondaki kısmı) koyala yapıştır < 3 kısmını < 2 yap.
Test edildi ve çalışıyor
 
bizde zaten seyirciye geçme kodu var sadece sona kalanların kodu lazım

Skript bu şekilde kullanılırsa asla verimli çalışmaz. Öncelikle loop yanlış kullanılmış, every seconds yerine bir oyuncunun ölmesiyle tetiklenen bir finishEvent yapılabilirdi.

Ayrıca neden bitiş etkinliğini oyuncunun oyun moduna bağlı çalışsın ki? Daha güzel izleyici modu yapabilirsiniz; hide/reveal.
Zaten oyun bitince veriler sıfırlanacaktır, değişkende oyuncu tutulmasından korkmayın.


JavaScript:
command /oyun:
    trigger:
        {oyun::%uuid of player%} is not set:
            add player to {oyuncular::*}
            set {oyun::%uuid of player%} to true
            send "&a%player%&e oyuna katıldı!" to {oyuncular::*}
            teleport player to {lobby}
            
            size of {oyuncular::*} = 10:
                set {_index} to 10
                loop 10 times:
                    send "&eOyunun başlamasına %{_index}%" to {oyuncular::*}
                    remove 1 from {_index}
                    size of {oyuncular::*} = 10:
                        wait a seconds
                    else:
                        stop loop if size of {oyuncular::*} < 10:
                        
                teleport {oyuncular::*} to {oyun-bölgesi}
        else:
            remove player from {oyuncular::*}
            delete {oyun::%uuid of player%}
            send "&c%player%&e oyundan ayrıldı!" to {oyuncular::*}
            teleport player to {main-lobby}
            
death of player:
    size of {oyuncular::*} = 1:
        set {_player} to {oyuncular::*}
        finish(attacker)
    else:
        spect(victim)

function finish(p: player):
    spawn wither at location of {_p}
    set name of last spawned wither to "&eBu oyunu &6&l%{_p}%&e kazandı!"
    make {_p} ride last spawned entity
    set the last spawned entity's max health to 100
    loop 20 times:
        launch ball large coloured red, purple and white fading to light green and pink at {_p}'s location with duration 1
        launch creeper coloured red, purple and white fading to light green and pink at {_p}'s location with duration 2
        wait 0.5 seconds
        push {_p}'s vehicle upwards at speed 1
        push {_p}'s vehicle in horizontal direction of {_p} at speed 1
        spawn a wither skull at location in front of {_p}'s eyes
    kill all entities in radius 250 of {_p} where [name of entity input is "&eBu oyunu &6&l%{_p}%&e kazandı!"]   
    
quit:
    remove player from {oyuncular::*}
    delete {oyun::%uuid of player%}
    remove player from {spect::*}
    size of {oyuncular::*} = 1:
        set {_player} to {oyuncular::*}
        finish(attacker)
    
function spect(p: player):
    send title "Seni kimse göremez!" with subtitle "&eArtık izleyicisiniz!" to {_p} for 3 seconds
    set {_p}'s flight mode to true
    remove {_p} from {oyuncular::*}
    add {_p} to {spect::*}
    hide {_p} from all players
    hide all players from {_p}
    reveal {_p} to {spect::*}
    reveal {spect::*} to {_p}
    reveal {oyuncular::*} to {_p}

test etmedim ama mantık olarak bu şekilde yapmanızı tavsiye ediyorum.
 
Skript bu şekilde kullanılırsa asla verimli çalışmaz. Öncelikle loop yanlış kullanılmış, every seconds yerine bir oyuncunun ölmesiyle tetiklenen bir finishEvent yapılabilirdi.

Ayrıca neden bitiş etkinliğini oyuncunun oyun moduna bağlı çalışsın ki? Daha güzel izleyici modu yapabilirsiniz; hide/reveal.
Zaten oyun bitince veriler sıfırlanacaktır, değişkende oyuncu tutulmasından korkmayın.


JavaScript:
command /oyun:
    trigger:
        {oyun::%uuid of player%} is not set:
            add player to {oyuncular::*}
            set {oyun::%uuid of player%} to true
            send "&a%player%&e oyuna katıldı!" to {oyuncular::*}
            teleport player to {lobby}
           
            size of {oyuncular::*} = 10:
                set {_index} to 10
                loop 10 times:
                    send "&eOyunun başlamasına %{_index}%" to {oyuncular::*}
                    remove 1 from {_index}
                    size of {oyuncular::*} = 10:
                        wait a seconds
                    else:
                        stop loop if size of {oyuncular::*} < 10:
                       
                teleport {oyuncular::*} to {oyun-bölgesi}
        else:
            remove player from {oyuncular::*}
            delete {oyun::%uuid of player%}
            send "&c%player%&e oyundan ayrıldı!" to {oyuncular::*}
            teleport player to {main-lobby}
           
death of player:
    size of {oyuncular::*} = 1:
        set {_player} to {oyuncular::*}
        finish(attacker)
    else:
        spect(victim)

function finish(p: player):
    spawn wither at location of {_p}
    set name of last spawned wither to "&eBu oyunu &6&l%{_p}%&e kazandı!"
    make {_p} ride last spawned entity
    set the last spawned entity's max health to 100
    loop 20 times:
        launch ball large coloured red, purple and white fading to light green and pink at {_p}'s location with duration 1
        launch creeper coloured red, purple and white fading to light green and pink at {_p}'s location with duration 2
        wait 0.5 seconds
        push {_p}'s vehicle upwards at speed 1
        push {_p}'s vehicle in horizontal direction of {_p} at speed 1
        spawn a wither skull at location in front of {_p}'s eyes
    kill all entities in radius 250 of {_p} where [name of entity input is "&eBu oyunu &6&l%{_p}%&e kazandı!"]  
   
quit:
    remove player from {oyuncular::*}
    delete {oyun::%uuid of player%}
    remove player from {spect::*}
    size of {oyuncular::*} = 1:
        set {_player} to {oyuncular::*}
        finish(attacker)
   
function spect(p: player):
    send title "Seni kimse göremez!" with subtitle "&eArtık izleyicisiniz!" to {_p} for 3 seconds
    set {_p}'s flight mode to true
    remove {_p} from {oyuncular::*}
    add {_p} to {spect::*}
    hide {_p} from all players
    hide all players from {_p}
    reveal {_p} to {spect::*}
    reveal {spect::*} to {_p}
    reveal {oyuncular::*} to {_p}

test etmedim ama mantık olarak bu şekilde yapmanızı tavsiye ediyorum.
benim tek istediğim oyunda 2 kişi kalınca altlarında havai fişek çıksın en sona kalanın altındada 2 saniye arayla havai fişek çıksın bu kadar
 
benim tek istediğim oyunda 2 kişi kalınca altlarında havai fişek çıksın en sona kalanın altındada 2 saniye arayla havai fişek çıksın bu kadar
benimde yaptığım tam olarak bu :) ama 1 kişi kalma yerine 2 olarak ayarlayabilirsiniz.
 
JavaScript:
on death of player:
    loop all players:
        loop-player's gamemode is survival
        add 1 to {_z}
        set {_l::%loop-player%} to loop-player's location
        subtract 0.100 from {_l::%loop-player%}'s y-coordinate
    # 2 kişi yaşıyorsa:
    if {_z} = 2:
        console command "/summon firework_rocket %{_l::*}% {LifeTime:15,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:3,Explosions:[{Type:1,Flicker:0,Trail:0,Colors:[I;1973019,11743532,8073150,14188952,4312372,14602026,6719955,12801229,15435844,15790320]}]}}}}"
    # 1 kişi yaşıyorsa:
    else if {_z} = 1:
        loop 10 times:
            console command "/summon firework_rocket %{_l::*}% {LifeTime:15,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:3,Explosions:[{Type:1,Flicker:0,Trail:0,Colors:[I;1973019,11743532,8073150,14188952,4312372,14602026,6719955,12801229,15435844,15790320]}]}}}}"
            wait 2 seconds
 
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