İstek 112 acil skripti

ceyiz123

Ağaç Yumruklayıcı
En iyi cevaplar
0
Selam Gamer.com sakinleri!

Geliştirmekte olduğum sunucum için biraz komplike bir 112 Acil Yardım skriptine ihtiyacım var. Kafamdaki sistemin işleyişi tam olarak şu şekilde:

Oyuncu Komutu: Oyuncular komutuyla yardım isteyecekler./112 <mesaj>

Ekip Bildirimi: Eğer o an oyunda "Acil Müdahale Ekibi"nden biri varsa, mesaj anında onlara iletilecek.

Çevrimdışı Durumu: Eğer sunucuda hiç müdahale ekibi yoksa, oyuncuya: "Oyunda size yardım edebilecek bir kişi yok, en yakın zamanda size ulaşacaklar." şeklinde bir bilgi mesajı gidecek.

Kayıt Sistemi: Ekip yokken atılan bu mesajlar bir veri tabanında (veya listede) tutulacak. Ekip üyelerinden biri oyuna girdiğinde yazarak, kendisi yokken gelen ihbarları (Oyuncu adı ve yardım konusu şeklinde) görebilecek./acilolaylar

Yetkilendirme: Müdahale ekibini komutuyla belirlemek istiyorum ve bu kişilere otomatik olarak LuckPerms üzerinden "acilmüdahale" rolü tanımlanmalı./acilmüdahale sec <oyuncu>

Bu tarz gelişmiş bir mantığı kurgulayabilecek veya elinde benzer bir taslak olan varsa paylaşabilirse çok sevinirim. Şimdiden teşekkürler, iyi forumlar!
 

na2000

Altın Madencisi
En iyi cevaplar
56
Onceki mesajlar silinmis nedense, baska birisinin isine yararsa diye kodu tekrardan paylasiyorum:

Kod:
options:
    p: &c112 &4&l> #Prefix
    perm: acilservis.yetkili #Permission

on join:
    player has permission "{@perm}"
    size of all indices of {ihbar::*} > 0
    wait 5 ticks
    send "{@p} &fSiz yokken &c%size of all indices of {ihbar::*}% &foyuncu ihbarda bulundu! &7/acil olaylar"

command /112 [<text>]:
    aliases: ihbaret
    trigger:
        arg 1 is set
        if amount of players where [input has permission "{@perm}"] > 0:
            send "{@p} &6%player% &fadli oyuncudan bir ihbar var: &c%arg 1%" to players where [input has permission "{@perm}"]
        else:
            send "{@p} &7&oOyunda size yardım edebilecek bir kişi yok, en yakın zamanda size ulaşacaklar."
            add "(%now formatted as "dd/MM/yyyy HH:mm"%) %arg 1%" to {ihbar::%player%::*}

command /acil [<text>] [<text>] [<text>]:
    aliases: ihbar, ihbarlar
    permission: {@perm}
    trigger:
        if arg 1 is "olaylar" or "olay" or "olylr" or "all" or "hepsi":
            if size of all indices of {ihbar::*} = 0:
                send "{@p} &fHerhangi bir ihbar bulunmamakta!"
            loop all indices of {ihbar::*}:
                execute player command "acil bak %loop-value%"
        else if arg 1 is "bak":
            size of {ihbar::%arg 2 parsed as offline player%::*} > 0
            send formatted "<tooltip:&cTum Ihbarlari Sil &7(%arg 2 parsed as offline player%)><command:/acil sil %arg 2 parsed as offline player% all>&4&l[&c&lX&4&l]<reset> &8< &9%arg 2 parsed as offline player% &8>"
            loop {ihbar::%arg 2 parsed as offline player%::*}:
                add 1 to {_i}
                if mod({_i}, 2) = 0:
                    set {_c} to "&8"
                else:
                    set {_c} to "&7"
                send formatted "<tooltip:&cBu Ihbari Sil &7(%first 35 characters of loop-value%...)><command:/acil sil %arg 2 parsed as offline player% %loop-index%>&4&l[&cX&4&l]<reset> %coloured {_c}% -> %loop-value%"           
        else if arg 1 is "sil" or "del" or "delete":
            if arg 3 is "all" or "hepsi":
                delete {ihbar::%arg 2 parsed as offline player%::*}
                send "{@p} &5%arg 2 parsed as offline player% &7adli oyuncunun ihbarlari silindi!"
            {ihbar::%arg 2 parsed as offline player%::%arg 3 parsed as integer%} is set
            delete {ihbar::%arg 2 parsed as offline player%::%arg 3 parsed as integer%}
            send "{@p} &7Ihbar silindi!"
            if size of {ihbar::%arg 2 parsed as offline player%::*} = 0:
                delete {ihbar::%arg 2 parsed as offline player%::*}
            execute player command "acil bak %arg 2 parsed as offline player%"
        else if arg 1 is "help" or "yardim" or "yrdm":
            send "" and "&4< &cKomutlar &4>" and "&4- &c/acil olaylar &8-> &7Aktif degilken gonderilmis ihbarlari listeler.%nl%&4- &c/acil bak &4<oyuncu> &8-> &7Aktif degilken oyuncunun gonderdigi ihbarlari listeler."
        else:
            execute player command "acil help"
 
Üst