Selamlar, Skript Dersleri kategorisinin ilk dersine hoşgeldiniz. Bu konuda komut oluşturmayı, on join: gibi eventleri öğreneceğiz. Haydi 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.

Komut Oluşturmak

Hadi bir komut oluşturalım, komut oluşturmak için:

command /komut:

Kullanılır. Fakat command tek başına böyle çalışamaz, command’ın vazgeçilmez bir dostu vardır, o da trigger. O olmadan hiçbir işi yapamaz. Dipnot: command dostlarını çok sever, çok duygusaldır.

command /komut:
    trigger:

Evet, command’ın vazgeçilmez dostunu getirdik yanına, ama nasıl getirdik? 4 boşluk bırakarak. Eğer önceki eventin sonunda : (iki nokta) var ise sonraki yazacağınız şeyde 4 boşluk (space) bırakmanız gerekiyor. Yukarıda gördüğünüz gibi command’ın sonunda : (iki nokta) var, bu yüzden trigger’i 4 boşluk bırakarak yazdık. Fakat bu haliyle çalışır mı? Hayır. Komutun amacını belirlememiz gerekiyor.

Örnek olarak komutun amacı /komut yazınca herkese “Merhaba” yazsın. Mesaj yazdırmak için “send” kullanılır. Örnek:

command /komut:
    trigger:
        send "Merhaba" to all players #Herkese Merhaba Mesajı Gönder#

Yazdıracağınız şeyi “” (tırnak içinde) yazmanız gerek. Sonuna too all players yazarsanız sunucuda olan herkese mesajı gönderir, yazmazsanız sadece komutu kullanan kişiye gönderir. send “” too all players yerine kısaca broadcast “deneme” de kullanabilirsiniz, aynı işlevi görüyor. Ayrıca komudun sonundaki # ile başlayan mesajlar işlevsizdir, yorum mesajlarıdır. Görünmez bir mesaj..

Evet, şu anki kodumuz çalışır vaziyette. 4 boşluktan kastım en son ne yazdıysanız onun alt satırına geçip, o kelimenin ilk harfine gelip 4 boşluk bırakmak. Yukarıda gördüğünüz gibi trigger’in sonunda da : (iki nokta) var, yine 4 boşluk bıraktık. Yani demek istediğim trigger’ın t’sine yani ilk harfine kadar boşlukla gelip, ordan itibaren 4 boşluk bırakmak. Yani trigger’in 5. harfinden yazmaya başlıyorsunuz.

Şimdi üstteki kodu alıp dosyayı kaydedip sunucuda /sk reload <dosyaismi> yazın. <dosyaismi> kısmına kodu yazdığınız dosyanın adını yazacaksınız. Örnek olarak: /sk reload deneme

Daha sonra /komut yazın, herkese “Merhaba” mesajı gönderecektir.

Bir de /komut yazınca bir eşya vermesini kodlayalım, eşya vermek için “give” kullanılır.

command /blok:
    trigger:
        give 5 diamond_block to player #5 Adet Elmas Blok Ver#
        send "5 elmas blogunu verdim kardes hayirli olsun." #Komutu Yazan Kişiye Mesaj Gönder#

Eşya vermek için: give <esyaadet> <esyaninadi> to player

<esyaninadi> kısmına eşyanın id’sinide yazabilirsiniz, ikiside olur.

Bir de belirttiğimiz bir oyuncuya 5 adet elmas blok verelim:

command /blok <player>:
    trigger:
        give 5 diamond_block to arg 1 #Belirtilen Oyuncuya 5 Adet Elmas Blok Ver#
        send "%arg-1% adlı kullanıcıya 5 adet elmas blogu verdim." #Komutu Yazan Kişiye Mesaj Gönder#
        send "hayirli olsun kardesim 5 elmas blok kazandin." to arg 1 #Belirtilen Kullanıcıya Mesaj Gönder#

Bir kullanıcı belirtmek için command bölümünde /blok’tan sonra ki : (iki nokta)’yı kaldırıp yerine <player> yazmalısınız. Eğer <> içinde yazarsanız zorunlu, [<>] içinde yazarsanız zorunlu olmayacaktır. Örnek olarak yukardaki gibi player <> içinde. Yani bir kullanıcının adı yazılması zorunlu. Eğer yazılmazsa hata verir ve işlem tamamlanmaz.

Bu yazdığımız <player> arg 1 olarak geçmektedir, eğer <player>den başka bir şey koyarsanız sırasıyla arg 2, arg 3 diye gidecektir. Arg konusunu ileri ki Skript Derslerinde detaylı olarak anlatacağım, şu anlık bu kadarı yeterli.

Elmas blok verirken farkettiyseniz give eventinde to player değil to arg 1 kullandık, bu elmas bloğu arg 1’e yani belirttiğim kullanıcıya ver diyoruz. Onun altındaki send eventinde de komutu kullanan kişiye mesaj gönderiyoruz, tabii ki onun sonunda bir şey yazmadık çünkü komutu kullanan kişiye yazacak. Onun altındaki send eventinin sonuna ise to arg 1 yazdık. Yani arg 1’e mesaj gönderecek.

Eventler

Mesela sunucunuza biri girdiğinde, sohbete “Hoşgeldin!” yazmasını istiyorsanız doğru yere geldiniz. Bu başlık altında nasıl böyle şeyler yapacağınızı anlatacağım. Hadi başlayalım!

on join: #Bir Oyuncu Sunucuya Girdiğinde
    send "%player% sunucuya giriş yaptı!" to all players #Herkese Mesaj At

Bir oyuncu sunucuya girdiğinde bir işlem yapmak istiyorsanız on join: eventini kullanmalısınız. Ayrıca %player% işlemdeki kullanıcının adını gösterir. Örnek olarak sunucuya giren kişinin adı Mcdeyiz ise, Mcdeyiz sunucuya giriş yaptı! yazacaktır.

on first join: #Bir Oyuncu İlk Defa Sunucuya Girdiğinde
    give 1 diamond_pickaxe to player #Ona 1 Adet Elmas Kazma Ver
    send "%player% sunucumuza ilk kez giriş yaptı!" to all players #Herkese Mesaj Gönder

Bir oyuncu sunucuya ilk kez giriş yapınca bir işlem yapmak istiyorsanız on first join: eventini kullanmalısınız. Bu event ile başlangıç kiti sistemi yapabilirsiniz.

on chat: #Biri Sohbete Mesaj Yazmaya Çalışırsa
    cancel event #İşlemi İptal Et

Bir oyuncu chat’e (sohbete) mesaj yazmaya çalışınca bir işlem yapmak istiyorsanız on chat: eventini kullanmalısınız. cancel event ise işlemi iptal et komutudur. Yani yukardaki kodun amacı, eğer bir kişi mesaj yazmaya çalışırsa, mesajı yayınlama. Yani biri mesaj yazınca mesajı kimseye görünmeyecek. Bu sistem ile chat kapatma/açma sistemleri yapabilirsiniz.

on respawn: #Biri Yeniden Doğarsa
    send "Yeniden Doğdun!" #Ona Mesaj Gönder
on death: #Biri Ölürse
    send "%player% adlı oyuncu öldü." to all players #Herkese Mesaj Gönder
Konuyu nasıl buldun?
0
0
0
1
1

Bir yanıt yazın

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