Çözüldü GriefPrevention Plugin yardımı

  • Konuyu Başlatan Konuyu Başlatan JerryGL
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 208
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

JerryGL

Birisi mi Spawnlandı?
Katılım
29 Şubat 2024
Mesajlar
4
Elmaslar
1
Puan
885
Yaş
24
Konum
Eskişehir
Minecraft
JerryYTB

Discord:

jerryfc

Merhaba, Griefprevention eklentisinin içinde /transferclaim var bunu oyunculara nasıl uygun yaparız direk izni verip oyuncu kullanırsa geri claimi üstüne çekebiliyor tek sorun o oluyor yani ne yapsak düzeltiriz. Skriptlang yada mycommand ile yapmak istiyorum yardımcı olurmusunuz.
 
Bu konu ile mycommand sorunlarınızı direkt çözebilirsiniz.
 
Merhaba, Griefprevention eklentisinin içinde /transferclaim var bunu oyunculara nasıl uygun yaparız direk izni verip oyuncu kullanırsa geri claimi üstüne çekebiliyor tek sorun o oluyor yani ne yapsak düzeltiriz. Skriptlang yada mycommand ile yapmak istiyorum yardımcı olurmusunuz.
JavaScript:
options:
    # Transfer işlemi için onay süresi (saniye cinsinden)
    onay_suresi: 30

# Oyuncu /transferclaim komutunu kullandığında
on command "/transferclaim":
    # Komutu iptal et
    cancel event

    # Eğer komutun argümanı yoksa (yani hedef oyuncu belirtilmemişse)
    if size of arguments is 0:
        send "&cKullanım: /transferclaim <oyuncu>"
        stop

    # Hedef oyuncuyu al
    set {_hedef} to argument 1 parsed as offline player
    if {_hedef} is not set:
        send "&cGeçersiz oyuncu adı."
        stop

    # Oyuncunun bulunduğu claim'i kontrol et
    set {_claim} to claim at player's location
    if {_claim} is not set:
        send "&cBurada bir claim bulunmuyor."
        stop

    # Claim sahibini kontrol et
    set {_sahip} to owner of {_claim}
    if {_sahip} is not player:
        send "&cBu claim size ait değil, transfer edemezsiniz."
        stop

    # Onay isteği gönder
    send "&aClaim'inizi &e%{_hedef}% &aadlı oyuncuya transfer etmek istiyor musunuz?"
    send "&aOnaylamak için &e/transferclaimonay &ayazın. Süre: &e%{onay_suresi}% saniye"

    # Onay süresini başlat
    set {onay_bekleyen::%player's uuid%} to {_hedef}
    wait {onay_suresi} seconds
    if {onay_bekleyen::%player's uuid%} is set:
        delete {onay_bekleyen::%player's uuid%}
        send "&cOnay süresi doldu. Transfer işlemi iptal edildi."

# Oyuncu /transferclaimonay komutunu kullandığında
command /transferclaimonay:
    trigger:
        # Eğer onay bekleyen bir transfer yoksa
        if {onay_bekleyen::%player's uuid%} is not set:
            send "&cBekleyen bir transfer isteğiniz yok."
            stop

        # Hedef oyuncuyu al
        set {_hedef} to {onay_bekleyen::%player's uuid%}

        # Claim'i transfer et
        execute console command "/transferclaim %{_hedef}%"
        send "&aClaim başarıyla &e%{_hedef}% &aadlı oyuncuya transfer edildi."

        # Onay bekleyen transferi temizle
        delete {onay_bekleyen::%player's uuid%}

Yukarıdaki skripttir aşagıdaki ise mycommand la dır
MyCommand eklentisini kurduktan sonra, plugins/MyCommand/commands klasörüne yeni bir .yml dosyası oluşturun. Örneğin, transferclaim.yml adında bir dosya oluşturabilirsiniz.

YAML:
# transferclaim.yml

commands:
  transferclaim:
    # Komutun açıklaması
    description: "Bir claim'i başka bir oyuncuya transfer etmek için kullanılır."
    # Komutun kullanım şekli
    usage: "/transferclaim <oyuncu>"
    # Komutun izni
    permission: griefprevention.transferclaim
    # Komutun çalıştırılması
    actions:
      # Eğer komutun argümanı yoksa (hedef oyuncu belirtilmemişse)
      - if: "args.size == 0"
        then:
          - send: "&cKullanım: /transferclaim <oyuncu>"
        else:
          # Hedef oyuncuyu kontrol et
          - set: "%target% to args[0]"
          - if: "%target% is not an offline player"
            then:
              - send: "&cGeçersiz oyuncu adı."
            else:
              # Oyuncunun bulunduğu claim'i kontrol et
              - set: "%claim% to griefprevention claim at player's location"
              - if: "%claim% is not set"
                then:
                  - send: "&cBurada bir claim bulunmuyor."
                else:
                  # Claim sahibini kontrol et
                  - set: "%owner% to griefprevention owner of %claim%"
                  - if: "%owner% is not player"
                    then:
                      - send: "&cBu claim size ait değil, transfer edemezsiniz."
                    else:
                      # Onay isteği gönder
                      - send: "&aClaim'inizi &e%target% &aadlı oyuncuya transfer etmek istiyor musunuz?"
                      - send: "&aOnaylamak için &e/transferclaimonay &ayazın. Süre: &e30 saniye"
                      # Onay bekleyen transferi kaydet
                      - set: "%pending_transfer::%player's uuid%% to %target%"
                      # 30 saniye sonra onay bekleyen transferi temizle
                      - delay: 30s
                      - if: "%pending_transfer::%player's uuid%% is set"
                        then:
                          - delete: "%pending_transfer::%player's uuid%%"
                          - send: "&cOnay süresi doldu. Transfer işlemi iptal edildi."

  transferclaimonay:
    # Onay komutu
    description: "Claim transferini onaylamak için kullanılır."
    actions:
      # Eğer onay bekleyen bir transfer yoksa
      - if: "%pending_transfer::%player's uuid%% is not set"
        then:
          - send: "&cBekleyen bir transfer isteğiniz yok."
        else:
          # Hedef oyuncuyu al
          - set: "%target% to %pending_transfer::%player's uuid%%"
          # Claim'i transfer et
          - execute: "console command /transferclaim %target%"
          - send: "&aClaim başarıyla &e%target% &aadlı oyuncuya transfer edildi."
          # Onay bekleyen transferi temizle
          - delete: "%pending_transfer::%player's uuid%%"

Claim'inizi OyuncuB adlı oyuncuya transfer etmek istiyor musunuz?
Onaylamak için /transferclaimonay yazın. Süre: 30 saniye mesaj gönderir.

Yedek alıp deneyiniz.
 
JavaScript:
options:
    # Transfer işlemi için onay süresi (saniye cinsinden)
    onay_suresi: 30

# Oyuncu /transferclaim komutunu kullandığında
on command "/transferclaim":
    # Komutu iptal et
    cancel event

    # Eğer komutun argümanı yoksa (yani hedef oyuncu belirtilmemişse)
    if size of arguments is 0:
        send "&cKullanım: /transferclaim <oyuncu>"
        stop

    # Hedef oyuncuyu al
    set {_hedef} to argument 1 parsed as offline player
    if {_hedef} is not set:
        send "&cGeçersiz oyuncu adı."
        stop

    # Oyuncunun bulunduğu claim'i kontrol et
    set {_claim} to claim at player's location
    if {_claim} is not set:
        send "&cBurada bir claim bulunmuyor."
        stop

    # Claim sahibini kontrol et
    set {_sahip} to owner of {_claim}
    if {_sahip} is not player:
        send "&cBu claim size ait değil, transfer edemezsiniz."
        stop

    # Onay isteği gönder
    send "&aClaim'inizi &e%{_hedef}% &aadlı oyuncuya transfer etmek istiyor musunuz?"
    send "&aOnaylamak için &e/transferclaimonay &ayazın. Süre: &e%{onay_suresi}% saniye"

    # Onay süresini başlat
    set {onay_bekleyen::%player's uuid%} to {_hedef}
    wait {onay_suresi} seconds
    if {onay_bekleyen::%player's uuid%} is set:
        delete {onay_bekleyen::%player's uuid%}
        send "&cOnay süresi doldu. Transfer işlemi iptal edildi."

# Oyuncu /transferclaimonay komutunu kullandığında
command /transferclaimonay:
    trigger:
        # Eğer onay bekleyen bir transfer yoksa
        if {onay_bekleyen::%player's uuid%} is not set:
            send "&cBekleyen bir transfer isteğiniz yok."
            stop

        # Hedef oyuncuyu al
        set {_hedef} to {onay_bekleyen::%player's uuid%}

        # Claim'i transfer et
        execute console command "/transferclaim %{_hedef}%"
        send "&aClaim başarıyla &e%{_hedef}% &aadlı oyuncuya transfer edildi."

        # Onay bekleyen transferi temizle
        delete {onay_bekleyen::%player's uuid%}

Yukarıdaki skripttir aşagıdaki ise mycommand la dır
MyCommand eklentisini kurduktan sonra, plugins/MyCommand/commands klasörüne yeni bir .yml dosyası oluşturun. Örneğin, transferclaim.yml adında bir dosya oluşturabilirsiniz.

YAML:
# transferclaim.yml

commands:
  transferclaim:
    # Komutun açıklaması
    description: "Bir claim'i başka bir oyuncuya transfer etmek için kullanılır."
    # Komutun kullanım şekli
    usage: "/transferclaim <oyuncu>"
    # Komutun izni
    permission: griefprevention.transferclaim
    # Komutun çalıştırılması
    actions:
      # Eğer komutun argümanı yoksa (hedef oyuncu belirtilmemişse)
      - if: "args.size == 0"
        then:
          - send: "&cKullanım: /transferclaim <oyuncu>"
        else:
          # Hedef oyuncuyu kontrol et
          - set: "%target% to args[0]"
          - if: "%target% is not an offline player"
            then:
              - send: "&cGeçersiz oyuncu adı."
            else:
              # Oyuncunun bulunduğu claim'i kontrol et
              - set: "%claim% to griefprevention claim at player's location"
              - if: "%claim% is not set"
                then:
                  - send: "&cBurada bir claim bulunmuyor."
                else:
                  # Claim sahibini kontrol et
                  - set: "%owner% to griefprevention owner of %claim%"
                  - if: "%owner% is not player"
                    then:
                      - send: "&cBu claim size ait değil, transfer edemezsiniz."
                    else:
                      # Onay isteği gönder
                      - send: "&aClaim'inizi &e%target% &aadlı oyuncuya transfer etmek istiyor musunuz?"
                      - send: "&aOnaylamak için &e/transferclaimonay &ayazın. Süre: &e30 saniye"
                      # Onay bekleyen transferi kaydet
                      - set: "%pending_transfer::%player's uuid%% to %target%"
                      # 30 saniye sonra onay bekleyen transferi temizle
                      - delay: 30s
                      - if: "%pending_transfer::%player's uuid%% is set"
                        then:
                          - delete: "%pending_transfer::%player's uuid%%"
                          - send: "&cOnay süresi doldu. Transfer işlemi iptal edildi."

  transferclaimonay:
    # Onay komutu
    description: "Claim transferini onaylamak için kullanılır."
    actions:
      # Eğer onay bekleyen bir transfer yoksa
      - if: "%pending_transfer::%player's uuid%% is not set"
        then:
          - send: "&cBekleyen bir transfer isteğiniz yok."
        else:
          # Hedef oyuncuyu al
          - set: "%target% to %pending_transfer::%player's uuid%%"
          # Claim'i transfer et
          - execute: "console command /transferclaim %target%"
          - send: "&aClaim başarıyla &e%target% &aadlı oyuncuya transfer edildi."
          # Onay bekleyen transferi temizle
          - delete: "%pending_transfer::%player's uuid%%"

Claim'inizi OyuncuB adlı oyuncuya transfer etmek istiyor musunuz?
Onaylamak için /transferclaimonay yazın. Süre: 30 saniye mesaj gönderir.

Yedek alıp deneyiniz.
1739858700112.webp
 
Kod:
options:

    # Transfer işlemi için onay süresi (saniye cinsinden)

    onay_suresi: 30



on command "transferclaim":

    cancel event

    if size of arguments is 0:

        send "&cKullanım: /transferclaim <oyuncu>"

        stop

    set {_hedef} to argument 1 parsed as offline player

    if {_hedef} is not set or {_hedef} is not online:

        send "&cGeçersiz veya çevrimdışı oyuncu adı."

        stop

    set {_claim} to claim at player's location

    if {_claim} is not set:

        send "&cBurada bir claim bulunmuyor."

        stop

    set {_sahip} to owner of {_claim}

    if {_sahip} is not player:

        send "&cBu claim size ait değil, transfer edemezsiniz."

        stop

    if {onay_bekleyen::%player's uuid%} is set:

        send "&cZaten bekleyen bir transfer isteğiniz var."

        stop

    send "&aClaim'inizi &e%{_hedef}% &aadlı oyuncuya transfer etmek istiyor musunuz?"

    send "&aOnaylamak için &e/transferclaimonay &ayazın. Süre: &e%{onay_suresi}% saniye"

    set {onay_bekleyen::%player's uuid%} to {_hedef}

    wait {onay_suresi} seconds

    if {onay_bekleyen::%player's uuid%} is set:

        delete {onay_bekleyen::%player's uuid%}

        send "&cOnay süresi doldu. Transfer işlemi iptal edildi."



command /transferclaimonay:

    trigger:

        if {onay_bekleyen::%player's uuid%} is not set:

            send "&cBekleyen bir transfer isteğiniz yok."

            stop

        set {_hedef} to {onay_bekleyen::%player's uuid%}

        execute console command "/trust %{_hedef}%"

        send "&aClaim başarıyla &e%{_hedef}% &aadlı oyuncuya transfer edildi."

        delete {onay_bekleyen::%player's uuid%}
 
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