Selamlar, skript derslerinin 2. konusu ile sizlerleyim. Bugün ki konumuz else ve if ve komutlara permission ayarlama. Else’nin anlamı “aksi takdirde”, if’in anlamı ise “eğer”dir. Permission ayarlama ise sadece belirlediğiniz yetkiye sahip kullanıcılar belirlediğiniz komutu kullanabilecek. Haydi öğrenmeye başlayalım.

Öncelikle bir .sk dosyası oluşturmalıyız.

  • İlk olarak plugins klasöründen Skript klasörüne girin, ordan da scripts klasörüne girin.
  • Daha sonra üst kısımdan Görünüm‘e tıklayıp sağ taraftan Dosya adı uzantıları seçeneğini işaretleyin.
  • Daha sonra scripts klasörüne bir metin belgesi açın.
  • Yeni Metin Belgesi.txt diye bir şey gelecek, Yeni Metin Belgesi yazan kısmı değiştirebilirsiniz kafanıza göre ve .txt olan kısmı .sk yapmayı unutmayın.

Böyle olacaktır, enter’a bastığınızda bir uyarı gelecek.

  • Evet‘e basın. Metin belgesi bir SK dosyasına dönüşecektir. Bütün skriptler .sk uzantılı olmak zorundadır, aksi takdirde skriptler çalışmayacaktır.

Skript için bir programa ihtiyacınız olacak, önerdiğim 3 program var: Notepad++Sublime Text 3Visual Studio Code

3’ünden birini indirebilirsiniz, Sublime Text 3 favorimdir.

  • Oluşturduğunuz SK dosyasına sağ tıklayıp indirdiğiniz programı seçin. Örneğin Notepad++ indirdiyseniz Edit with Notepad++ diye bir seçenek çıkacaktır. Ona basın.

Komuta Permission (Yetki) Ayarlamak

Bu başlık altında sizlere belirlediğiniz komuta sadece sizin belirlediğiniz yetkiye sahip kullanıcıların kullanabilmesini anlatacağım.

Öncelikle bir komut oluşturalım.

İlk dersten de bildiğiniz gibi komut oluşturacağız, hadi oluşturalım.

command /uc:
    trigger:
        set player's flight mode to true
        send "&aUçma modunuz başarıyla açıldı."
  • Evet, görmüş olduğunuz gibi /uc diye bir komut oluşturduk. Bu komudun amacı /uc yazınca komudu yazan kişinin uçma özelliğinin açılması olacak, ardından bir onay mesajı gönderecek.
  • Bakalım kodumuz çalışıyor mu:
  • Skripti reloadladık, hiç hata vermedi. Hadi komutu deneyelim.
  • Komutu yazdık, onay mesajımızı aldık. Artık uçabiliyorum yuppi!
  • Fakat bir sorunumuz var, şu an bu komut herkes tarafından kullanılabilir bir durumda. Hadi bir yetki ayarlayalım, sadece o yetki kullanabilsin.
command /uc:
    permission: uc.fly
    trigger:
        set player's flight mode to true
        send "&aUçma modunuz başarıyla açıldı."
  • Evet, permission’u bu şekilde ayarlayabiliriz. command’ın bi altına trigger’i nasıl yerleştirdiysek permission’u da aynı şekilde yerleştiriyoruz. Karşısına da yetkisini yazıyoruz. Unutma: Yetkiyi tırnak işaretleri olmadan belirlemelisin.
  • Hadi oyunda deneyelim, bakalım çalışmış mı?
  • Evet, kendimden op’umu aldım ve komudu denedim fakat yetkim olmadığı için hata verdi. Komutu kullanamıyorum.
  • Yetkisi olmayan biri komudu kullanınca çıkan yetkin yok yazısını değiştirmek ister misiniz? Hadi değiştirelim.

command /uc:
    permission: uc.fly
    permission message: &cBu komudu kullanmak için yetkin yok.
    trigger:
        set player's flight mode to true
        send "&aUçma modunuz başarıyla açıldı."
  • Yetkin yok mesajını permission message: yazarak değiştirebilirsiniz. Unutmayın, bunu da yazarken permission’da ki gibi tırnak işaretleri olmadan yazacağız.
  • Hadi bakalım olmuş mu?
  • Evet, kodumuz gayet iyi çalışıyor! Bir de kendimize uc.fly yetkisi verip deneyelim.
  • Yaşasın, kendime uc.fly yetkisi verdim ve uçabiliyorum!

Else ve İf

Başta da belirttiğim gibi, Else’nin anlamı “aksi takdirde” iken İf, “eğer” anlamı katmaktadır. İkiside aynı yerde kullanılırlar. Yani if’in olmadığı yerde else olmaz.

  • O zaman yukarda ki uçma skriptimize devam edelim, kodumuzun amacı kullanıcı /uc yazdığında eğer uçma özelliği açıksa komudu yazdığında kapansın, ya da uçma özelliği kapalıysa komutu yazdığında açılsın.
  • İşte bunun için tamda gerekenler: Else ve İf.

command /uc:
    permission: uc.fly
    permission message: &cBu komudu kullanmak için yetkin yok.
    trigger:
        if player's flight mode is true: #Eğer Oyuncunun Uçması Açıksa
            set player's flight mode to false #Uçmasını Kapat
            send "&cUçma özelliğiniz kapatıldı."
        else: #Tam Tersiyse (Oyuncunun Uçması Kapalıysa)
            set player's flight mode to true #Oyuncunun Uçmasını Aç
            send "&aUçma modunuz başarıyla açıldı."
  • Evet, if’in kullanımında biraz ingilizce devreye giriyor. Koddan da anlayacağınız gibi ingilizce bir şekilde: Eğer oyuncunun uçuş modu açıksa: Yazdık, ve ardından if’in sonunda : (iki nokta) olduğu için sonraki satırı 4 boşluk atlayarak yazdık.
  • Else’nin kullanımında ise gördüğünüz gibi if’in tam i harfi sırasında else: yazdık. Else’nin kullanımı çok basittir, else: yazdığınızda işlem biter. Tabii sonunda : (iki nokta) olduğu için 4 boşluk atlayarak yazmalısınız.
  • Hadi komudumuz çalışıyor mu bakalım.
  • Gördüğünüz gibi şu an uçma modum açık ve uçuyorum.
  • Ardından tekrar /uc yazdığımda ise uçma özelliğim kapatıldı ve yere çakıldım. (acıdı)

Umarım iyi anlatabilmişimdir, diğer derslerimizde if ve else’nin anlatımını daha detaylı anlatacağım. Sağlıcakla kalın.

Konuyu nasıl buldun?
1
0
0
1
0

Comments

  1. Chivarly

    “permission:” yerine if sistemi ile perm koşulu da kullanılabilir.
    Örnek :
    command /uc:
    trigger:
    if executor has the permission “uc.fly”: #Eğer oyuncunun uc.fly permi varsa.
    *****
    if player does not have permission “uc.fly”: #Eğer oyuncunun uc.fly permi yoksa.
    *****
    gibi gibi..

    Tabi bu yöntem böyle bir skriptte pek bir avantaj sağlamaz, örneğin viplere özel bir skript yapıyorsunuzdur ve her vip’nin permine tek tek komut ayarlamak yerine tek komutta her perme özel olay yazılabilir.
    Mesela /uc komutunu kullanan kişi oyuncu ise uçamasın, vip ise uçsun, vip+ ise 2x hızında uçsun, mvip ise 5x hızında uçsun gibi bir skript yazarken çok faydası olur.

    1. Talha Uğurlu Article Author

      Evet, dediğiniz gibi vip+ ise 2x hızında, mvip ise 5x hızında gibi skriptlerde iş görür. Teşekkür ederim.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir