[SK] 1v1 Düello Sistemi

ruddeTR

projects.gg
Emektar Üye
Mesajlar
927
En iyi cevaplar
2
Beğeniler
925
Puanları
2,625
Selam. ProjectSurvival sunucumuz için tasarladığımız Düello sistemi oyuncular tarafından base baskınlarını bitireceği için eklenmesini istemedi, bu sebepten dolayı hazırladığımız sistemin bizde kalmasının bir anlamı yok. Kullanmak isteyen arkadaşlarımız olursa diye 1v1 sistemini sizinle paylaşmaya karar verdik.

Düello esnasında komut kullanılamaz, düello katılımcılarından biri oyundan çıkarsa; çıkan kişi kaybeder ve ölür. Birisi ölene kadar Düello devam eder.

Komutlar:
/düello isim bahis > Oyuncuyu düelloya davet eder, düelloyu kazanan bahisteki parayı kendine alır.​
/düellokabul & /düelloreddet > Karşı oyuncu, düello teklifini kabul eder veya reddeder.​
/duelloc1 > İlk meydan okuyan kişinin Düello için ışınlanacağı bölge (Admin Komutu - Gerekli perm: op)​
/duelloc2 > Meydan okunulan kişinin Düello için ışınlanacağı bölge (Admin Komutu - Gerekli perm: op)​
Hastebin linki: hastebin

Kod:
#Bu sistem ProjectSurvival için hazırlanılmıştı fakat kullanılmasından vazgeçildiği için herkese paylaşıldı.
#Eğer sunucumuzu denemek istersen IP adresimiz: oyna.ProjectSurvivalMC.com (1.12.2 istemcisiyle girilir)

options:
    p: &8> &7

command /düello [<player>] [<number>]:
    aliases: /duello, /duel
    trigger:
        if arg 1 isn't set:
            message " "
            message "{@p}&6/düello -oyuncu- -para-"
            message "&7İki oyuncu düello bölgesine ışınlanırlar ve düelloda birisi"
            message "&7ölene kadar oyundan çıkamazlar, komut kullanamazlar."
            message "&7Kazanan, bahise koyulan parayı kazanır."
            message " "
            stop
        if {Duello} is set:
            message "{@p}Halihazırda bir düello yapıldığı için bu komut kullanılamaz!"
            stop
        if {DuelloTiming} is set:
            message "{@p}Başkası meydan okuma aşamasındayken düello teklifi gönderemezsin!"
            stop
        if arg 1 is player:
            message "{@p}Kendine düello isteği gönderemezsin!"
            stop
        if arg 2 isn't number:
            execute player command "/düello"
        if player's balance is smaller than arg 2:
            message "{@p}Düello isteği göndermek için yeterli paran yok!"
            stop
        if arg 1's balance is smaller than arg 2:
            message "{@p}Bu kişinin belirlediğiniz bahis için yeterli parası yok!"
            stop
        broadcast "{@p}%player's display name%&7, %arg 1's display name% &7adlı oyuncuyu düelloya davet etti!"
        send "{@p}Düello teklifini kabul etmek için &a/düellokabul" to arg 1
        send "{@p}Düello teklifini reddetmek için &a/düelloreddet &7yazabilirsin." to arg 1
        send "{@p}Bu istek &a30 saniye &7sonra zaman aşımına uğrayacak."
        set {DuelloTiming} to 30
        set {Duel1} to player
        set {Duel2} to arg 1
        set {duelMoney} to arg 2
        loop 30 times:
            wait a second
            remove 1 from {DuelloTiming}
            {DuelloTiming} is smaller than 2
            delete {DuelloTiming}
            {Duello} isn't set
            broadcast "{@p}%player's display name% &7- %arg 1's display name% &7düello teklifi zaman aşımına uğradı!"
            delete {Duel1}
            delete {Duel2}
            delete {duelMoney}
            stop loop
      
command /düellokabul:
    aliases: /duellokabul
    trigger:
        if {Duel2} isn't player:
            message "{@p}Sana herhangi bir düello teklifi gelmemiş."
            stop
        broadcast "{@p}&a%{Duel2}%&7, &a%{Duel1}% &7adlı kişinin meydan okumasını kabul etti."
        broadcast "{@p}Düello birazdan başlayacak!"
        set {_duelTimer} to 10
        set {Duello} to true
        delete {DuelloTiming}
        loop 10 times:
            wait a second
            remove 1 from {_duelTimer}
            set action bar of all players to coloured "{@p}Düellonun başlamasına kalan süre: &a%{_duelTimer}%"
            {_duelTimer} is smaller than 2
            delete {_duelTimer}
            wait a second
            if {Duel1} is offline:
                set action bar of all players to coloured "{@p}&a%{Duel1}% &7oyundan çıktığı için düello iptal edildi!"
                delete {Duel1}
                delete {Duel2}
                delete {Duello}
                delete {duelMoney}
                delete {DuelloTiming}
            else if {Duel2} is offline:
                set action bar of all players to coloured "{@p}&a%{Duel2}% &7oyundan çıktığı için düello iptal edildi!"
                delete {Duel1}
                delete {Duel2}
                delete {Duello}
                delete {duelMoney}
                delete {DuelloTiming}
            else:
                set action bar of all players to coloured "{@p}&a%{Duel1}% &7- &a%{Duel2}% &7düellosu başladı!"
                teleport {Duel1} to {duelLoc1}
                teleport {Duel2} to {duelLoc2}
                set {duelWorking} to on
                set {Duello} to true
            stop loop
              
command /düelloreddet:
    trigger:
        if {Duel2} isn't player:
            message "{@p}Sana herhangi bir düello teklifi gelmemiş."
            stop
        broadcast "{@p}&a%{Duel2}%&7, &a%{Duel1}% &7adlı kişinin meydan okumasını kabul reddetti."
        delete {DuelloTiming}
        delete {Duel1}
        delete {Duel2}
              
command /duelloc1:
    trigger:
        player is op
        message "{@p}Meydan okuyan kişi, buraya ışınlanacak!"
        set {duelLoc1} to player's location
      
command /duelloc2:
    trigger:
        player is op
        message "{@p}Düelloya çağrılan kişi, buraya ışınlanacak!"
        set {duelLoc2} to player's location
      
on command:
    {duelWorking} is set
    command sender is {Duel1}:
        message "{@p}Düelloda komut kullanamazsın!"
        cancel event
        stop
    command sender is {Duel2}:
        message "{@p}Düelloda komut kullanamazsın!"
        cancel event
        stop
      
on quit:
    {Duello} is set
    {Duel1} is player:
        broadcast "{@p}&a%{Duel1}% &7düello esnasında oyundan çıktığı için kaybetti!"
        kill {Duel1}
    {Duel2} is player:
        broadcast "{@p}&a%{Duel2}% &7düello esnasında oyundan çıktığı için kaybetti!"
        kill {Duel2}

          
on death:
    victim is {Duel1}:
        broadcast "{@p}Düello kazananı, &a%{Duel2}%&7! Kazandığı para: &a$%{duelMoney}%"
        set {_duelEnd} to 10
        loop 10 times:
            wait a second
            remove 1 from {_duelEnd}
            send "{@p}&a%10-loop-value% saniye &7sonra alan dışına ışınlanacaksın." to {Duel2}
            {_duelEnd} is smaller than 2
            delete {_duelEnd}
            delete {duelWorking}
            wait a second
            execute console command "spawn %{Duel2}%"
            add {duelMoney} to {Duel2}'s balance
            subtract {duelMoney} from {Duel1}'s balance
            delete {duelMoney}
            stop loop
        delete {Duel1}
        delete {Duel2}
        delete {Duello}
    victim is {Duel2}:
        broadcast "{@p}Düello kazananı, &a%{Duel1}%&7!"
        set {_duelEnd} to 10
        loop 10 times:
            wait a second
            remove 1 from {_duelEnd}
            send "{@p}&a%10-loop-value% saniye &7sonra alan dışına ışınlanacaksın." to {Duel1}
            {_duelEnd} is smaller than 2
            delete {_duelEnd}
            delete {duelWorking}
            wait a second
            execute console command "spawn %{Duel1}%"
            add {duelMoney} to {Duel1}'s balance
            subtract {duelMoney} from {Duel2}'s balance
            delete {duelMoney}
            stop loop
        delete {Duel1}
        delete {Duel2}
        delete {Duello}
 


Son düzenleme:

MadTRen

Taş Madencisi
Mesajlar
69
En iyi cevaplar
0
Beğeniler
60
Puanları
550
Ruh hali
Bahisli bir düello yapabilirsen daha güzel olur. Başarılar :para:
 

BatSteve

Ağaç Yumruklayıcı
Mesajlar
34
En iyi cevaplar
0
Beğeniler
5
Puanları
110
Daha bakmadım fakat sunucumda deneyeceğim. Güzel gözüküyor, başarılar.
 

Üst