Çözüldü Skript sorunu

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

LumosMC

Odunlara Vur Vur Vur!
Katılım
30 Eylül 2023
Mesajlar
46
Elmaslar
1
Puan
895
Yaş
23
Konum
Ankara
Minecraft
Saphira

Discord:

Sapqhira

import:
me.lucko.luckperms.api.LuckPerms

Kod:
command /ortaksalon:

    trigger:

        if player is in group "Gryffindor":

            send "&cGryffindor ortak salonuna ışınlanıyorsun!"

            teleport player to location(733.425, 134.0625, 312.182, world of player)

        else if player is in group "Slytherin":

            send "&2Slytherin ortak salonuna ışınlanıyorsun!"

            teleport player to location(742.159, 30, 243.933, world of player)

        else if player is in group "Hufflepuff":

            send "&eHufflepuff ortak salonuna ışınlanıyorsun!"

            teleport player to location(792.308, 53.0625, 198.518, world of player)

        else if player is in group "Ravenclaw":

            send "&9Ravenclaw ortak salonuna ışınlanıyorsun!"

            teleport player to location(779.053, 102.0625, 154.465, world of player)

        else:

            send "&cBir eve ait değilsin veya yetkin yok!"




sunucuda Gryffindor grubuna ait oyunu /ortaksalon yazdığında belirli kordinata ışınlamasını istiyorum aynu şekilde , Hufflepuff , ravenclaw , slytherin içinde geçerli ama herkes Gryffindora ışınlanıyo perms yetkisi doğru düzgün çalışmıyo sebebi nedir
 
İyi forumlar!

Sorunu detaylıca inceledim. Paylaştığın Skript yapısı mantıken doğru gözükse de, "player is in group '...'" ifadesi, Skript'in kendi başına desteklediği bir yapı değil. Bu tarz grup kontrol işlemleri için Vault desteği gerekiyor. Muhtemelen herkesin Gryffindor’a ışınlanmasının sebebi, oyuncunun grubunun düzgün algılanmaması.

Sorunun Kaynağı:

Skript, tek başına oyuncunun grubunu kontrol edemez.

Bu tür işlemler için SkVault eklentisinin yüklü olması gerekiyor.

SkVault, Vault üzerinden LuckPerms gibi yetki sistemleriyle etkileşim kurmanı sağlar.

Bu skripti deneyin:
Kod:
command /ortaksalon:

    trigger:

        set {_group} to player's primary group



        if {_group} is "Gryffindor":

            send "&cGryffindor ortak salonuna ışınlanıyorsun!"

            teleport player to location(733.425, 134.0625, 312.182, world of player)



        else if {_group} is "Slytherin":

            send "&2Slytherin ortak salonuna ışınlanıyorsun!"

            teleport player to location(742.159, 30, 243.933, world of player)



        else if {_group} is "Hufflepuff":

            send "&eHufflepuff ortak salonuna ışınlanıyorsun!"

            teleport player to location(792.308, 53.0625, 198.518, world of player)



        else if {_group} is "Ravenclaw":

            send "&9Ravenclaw ortak salonuna ışınlanıyorsun!"

            teleport player to location(779.053, 102.0625, 154.465, world of player)



        else:

            send "&cBir eve ait değilsin veya yetkin yok!"
 
Moderatör tarafından düzenlendi:
reis söylediğin eklentiyi indirdim panelde devamlı

YAML:
[13:54:00 INFO]: [Skript] Reloading SkVault.sk...

[13:54:00 INFO]: [SkVault] Disabled SkVault v1.1

[13:54:00 INFO]: [SkVault] Enabled SkVault v1.1

[13:54:00 INFO]: [Skript] Successfully reloaded SkVault.sk. (32ms)

bu çıkıyo spamlıyo gibi düşün yani

şimdi ne yapmam gerekiyo halla gryffndora ışınlanıyoruz
 
reis söylediğin eklentiyi indirdim panelde devamlı

YAML:
[13:54:00 INFO]: [Skript] Reloading SkVault.sk...

[13:54:00 INFO]: [SkVault] Disabled SkVault v1.1

[13:54:00 INFO]: [SkVault] Enabled SkVault v1.1

[13:54:00 INFO]: [Skript] Successfully reloaded SkVault.sk. (32ms)

bu çıkıyo spamlıyo gibi düşün yani

şimdi ne yapmam gerekiyo halla gryffndora ışınlanıyoruz
SkVault.sk dosyası oluşturulmicak. SkVault pluginini yüklemen lazım.
 
reis sk dosyası çıkıyo hep öyle bi pl çıkmıyo
 
knk SKVAULT aratıyom hem sktipt dosayıs yani Skvault.sk dosyası oluyo Plugin olarak yok hiçbi yerde sende bana pl olarak indir diyon
 
reis buda düzgün çalışmıyo
 
hey, neden oyuncuların gruplarına benzersiz izinler tanımlamıyorsun? bu sayede sadece permission kontrolü yaparak kimin nereye gideceğini daha basit bir şekilde belirleyebilirsin. hem ek addon'a da ihtiyaç duymazsın çünkü skript bunu zaten sağlıyor.

[if] player has permission ""

örnek kullanım:


Kod:
command ortaksalon:
    trigger:

        set {_p} to player
        set {_group} to getGroup({_p}) #her seferinde hesaplamadan kaçın...
        
        {_group} is "Gryffindor":
            teleportAndSendMessage({_p}, location(733.425, 134.0625, 312.182, world of {_p}), "&cGryffindor ortak salonuna ışınlanıyorsun!")

        else if {_group} is "Slytherin":
            teleportAndSendMessage({_p}, location(742.159, 30, 243.933, world of {_p}), "&2Slytherin ortak salonuna ışınlanıyorsun!")

        else if {_group} is "Hufflepuff":
            teleportAndSendMessage({_p}, location(792.308, 53.0625, 198.518, world of {_p}), "&eHufflepuff ortak salonuna ışınlanıyorsun!")

        else if {_group} is "Ravenclaw":
            teleportAndSendMessage({_p}, location(779.053, 102.0625, 154.465, world of player), "&9Ravenclaw ortak salonuna ışınlanıyorsun!")

        else:
            send "&cBir eve ait değilsin veya yetkin yok!" to {_p}
            
            
function teleportAndSendMessage(p: PLAYER, loc: LOCATION, msg: STRING):
    send formatted {_msg} to {_p}
    teleport {_p} to {_loc}
                
function getGroup(p: PLAYER) :: STRING:
    
    {_p} is not op:
    
        {_p} has permission "group.gryffindor.member":
            return "Gryffindor"
            
        {_p} has permission "group.slytherin.member":
            return "Slytherin"
            
        {_p} has permission "group.hufflepuff.member":
            return "Hufflepuff"

        {_p} has permission "group.ravenclaw.member":
            return "Ravenclaw"
    
    else:
        return "HighTable" #op hesapların gideceği yer ya da default bırak
        
    return "bilinmiyor..."
 
iyide ztn bu skipt de permison kısmında izin gereken şey yazıyo ben bunu lp taafından herkesde kapatıyom gerekli olanlara veriyom yinede ışınlana biliyorlar ?
 
Reis seni attığın kod çalıştı da yetkin yok diyo yetkiyi nasıl vericem ? group.ravenclaw.member LP denmi ekliycm ?
 
Reis seni attığın kod çalıştı da yetkin yok diyo yetkiyi nasıl vericem ? group.ravenclaw.member LP denmi ekliycm ?
he aynen öyle yapacaksın, orada ben izinleri ayarladım:

- group.gryffindor.member
- group.slytherin.member
- group.hufflepuff.member
- group.ravenclaw.member

ek olarak, op hesaplar için de bir ayarlama yapman gerekiyor, ben default olarak HighTable grubunu döndürttüm... senin op hesaplar için yeni ışınlanma yeri yapman lazım ya da HighTable yerine Gryffindor'da yazabilirsin.

NOT: Yukarıda verdiğim izinleri gruplara ekleyeceksin, oyunculara değil.
 
Çok tşk Peki bişi sora bilirmiyim? Bunu ışınlama yerine Oyuncu komutu çalıştırınca ona gir yol çizse . örnk verim bi oyunda maptan bi yeri işaretlerizde çizgi çıkartır bizde o yulo takip ederiz aynı şeyi parteküllü bi şekilde bunda uygulayamazmıyız. Ben ilk başta öyle yapmayı istiyordum ama chetgbt mümkün değil dedi
 
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