Bulundu Aktiflik Jetonu

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

SuleymanD99

Somon Balığı Selam Vermeye Geldi
Katılım
21 Kasım 2022
Mesajlar
14
Elmaslar
1
Puan
360
Yaş
26
Konum
assa
Merhaba!

Sunucumda oyuncuların oyunda online olarak "Aktiflik Jetonu" kazanmalarını istiyorum. Bunun için skript yazabilir misiniz?
- Oyuncunun aktiflik süresi olacak.
- Oyuncu oyundan çıkıp girdiğinde aktiflik süresi sıfırlanacak.
- Oyuncu 30 dk aktif olduğunda 1 tane "Aktiflik Jetonu" itemi envanterine gönderilecek.

Bu kadar :)
 
Kod:
options:
    p: &bSunucuİsmi &8»

on quit:
    set {jetonsure::%player%} to 0

every second:
    loop all players:
        add 1 to {jetonsure::%loop-player%}
        send "&f%{jetonsure::%loop-player%}%" to loop-player
        if {jetonsure::%loop-player%} is 1800:
            give loop-player paper named "&aAktiflik Jetonu"
            send "{@p} &aSunucumuzda 30 dakika geçirdiğiniz için aktiflik jetonu kazandınız!" to loop-player
            play sound "minecraft:block.note_block.pling" at loop-player
            set {jetonsure::%loop-player%} to 0
Çalışacaktır fakat her saniye tüm oyuncuları döngü içine almak laga sebep olacaktır. Bunun yerine başka alternatifler düşünebilirsiniz.
 
Kod:
options:
    p: &bSunucuİsmi &8»

on quit:
    set {jetonsure::%player%} to 0

every second:
    loop all players:
        add 1 to {jetonsure::%loop-player%}
        send "&f%{jetonsure::%loop-player%}%" to loop-player
        if {jetonsure::%loop-player%} is 1800:
            give loop-player paper named "&aAktiflik Jetonu"
            send "{@p} &aSunucumuzda 30 dakika geçirdiğiniz için aktiflik jetonu kazandınız!" to loop-player
            play sound "minecraft:block.note_block.pling" at loop-player
            set {jetonsure::%loop-player%} to 0
Çalışacaktır fakat her saniye tüm oyuncuları döngü içine almak laga sebep olacaktır. Bunun yerine başka alternatifler düşünebilirsiniz.
Yeniletmeden Yapılabilecek Birşey Quit Yerine Joinde Sıfırla Komut Oluştur Komudu Tetiklet, 30 dakika beklet eğer oyuncu oyundaysa (kontrol ettir) Jetonu Ver ve Tekrardan Sıfırla Döngüye Sok (Whileyle)
 
Yeniletmeden Yapılabilecek Birşey Quit Yerine Joinde Sıfırla Komut Oluştur Komudu Tetiklet, 30 dakika beklet eğer oyuncu oyundaysa (kontrol ettir) Jetonu Ver ve Tekrardan Sıfırla Döngüye Sok (Whileyle)
Haklısın bu şekilde daha mantıklı. Yarın müsait olduğum zaman yapacağım.
 
Kod:
options:
    p: &bSunucuİsmi &8»

on join:
    wait 30 minute
    while player is online:
        give player paper named "&aAktiflik Jetonu"
        send "{@p} &aSunucumuzda 30 dakika geçirdiğiniz için aktiflik jetonu kazandınız!" to player
        play sound "minecraft:block.note_block.pling" at player
        wait 30 minute
Denedim çalışıyor.
 
güzel skript sorun çözüldü mü çözüldüyse hangisi işinize yaradı
 
Kod:
options:
    p: &bSunucuİsmi &8»

on join:
    wait 30 minute
    while player is online:
        give player paper named "&aAktiflik Jetonu"
        send "{@p} &aSunucumuzda 30 dakika geçirdiğiniz için aktiflik jetonu kazandınız!" to player
        play sound "minecraft:block.note_block.pling" at player
        wait 30 minute
Denedim çalışıyor.
- 10 defa arka arkaya giriş yaptığında yarım saat sonunda 10 jetonu olacaktır.
- çıkıp yarım saat sonrasında girdiğinde jetonu yine de alacaktır çünkü aktifliği yarım saatte bir kontrol ediyor.


JavaScript:
on join:
    wait 1 tick
    while player is online:
        add 1 to {online::%player%}
        wait 1 second
        {online::%player%} >= 1800
        delete {online::%player%}
        give player paper named "&eAktiflik Jetonu"
        send "&a30 dakikadır olan aktifliğin sana bir ödül kazandırdı."
    delete {online::%player%}
Denenmedi. Deneyip sonucu bildirebilirsin. Dakika versiyonuna da çevirebilirsin istersen her dakika çıkıp girmeyi deneyeceklerini sanmıyorum.
 
Son düzenleme:
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