Herkese merhaba arkadaşlar. Ben SkripTR - SkripTEAM kurucusu Mehmet Batın Muştu. Bugün sizlerle bir çok kişinin bilmediği bir kaç şeyi bir konuda toplayarak paylaşıyorum. Umarım yararlı olur.
Fazla uzatmadan konuya geçelim isterseniz.
İlk olarak sub ve invoke ile başlayalım isterseniz. Bununla ilgili Türkçe kaynak bulmak biraz zor. Fazla yok maalesef. Ancak çok zor değil. Sub komut yerine geçer ancak siz aktif etmediğiniz sürece kimse bu komutu kullanamaz. Yani bir çok komut kullanımını önlemek açısından çok mantıklı olduğunu düşünüyorum. Bende kodlarımda çokça kullanırım. Ancak sub da argument yerine parameter vardır. Adına takılmayın ikisi de aynı görevi görüyor aslında. Şuanda fazla bir şey anlamadığınızı zannediyorum. Bir örnek üzerinden gidersek bence daha iyi anlarsınız.
Fazla uzatmadan konuya geçelim isterseniz.
İlk olarak sub ve invoke ile başlayalım isterseniz. Bununla ilgili Türkçe kaynak bulmak biraz zor. Fazla yok maalesef. Ancak çok zor değil. Sub komut yerine geçer ancak siz aktif etmediğiniz sürece kimse bu komutu kullanamaz. Yani bir çok komut kullanımını önlemek açısından çok mantıklı olduğunu düşünüyorum. Bende kodlarımda çokça kullanırım. Ancak sub da argument yerine parameter vardır. Adına takılmayın ikisi de aynı görevi görüyor aslında. Şuanda fazla bir şey anlamadığınızı zannediyorum. Bir örnek üzerinden gidersek bence daha iyi anlarsınız.
PHP:
sub "mc-tr":
set {_xoyuncu} to parameter 1
send "Merhaba MC-TR" to {_xoyuncu}
on join:
invoke "mc-tr" from player
Şimdi bir sub oluşturmak için "sub '(herhangi bir isim ÖRN: Deneme)':" yazıyoruz. Burası pek önemli değil ancak ne yazdığınıza dikkat edin! İleride aktif ederken bu ismi kullanacağız. Biz "deneme" isminde bir sub oluşturduk. Şimdi alt satıra geçip boşluk bırakıyoruz. Komuttan bir farkı daha olarak "trigger" eklememize gerek yok. Direk olaya girecek. Alta geçtikten sonra dilediğiniz gibi kod yazabilirsiniz. Ancak bir şeye dikkat etmeniz gerekiyor. "parameter" olayını biraz kavramalısınız. Yukarıdaki örnekte de gördüğünüz üzere "from" dan sonraki "player" bir parameter dir. Birden fazla parameter eklemek için aralarına "and" yazmanız gerek. (from player and now) Parameter olarak her şeyi ekleyebilirsiniz. Bir değişken bile buna dahildir. Oluşturduğumuz sub 'u kullanmak için ise "invoke" kullanıyoruz. Ve daha sonrada parameter ekliyoruz. Eğer anlamadıysanız Detaylı bir şekilde buradan öğrenebilirsiniz.
While tekrarlamak anlamına gelir (Skript te). Bir işlevi sorguya dayalı olarak tekrarlar. Tekrarlama süresini de siz ayarlayabilirsiniz. Sorguyu ise örnekte gördüğünüz zaman anlayabilirsiniz. Örnek olarak,
While tekrarlamak anlamına gelir (Skript te). Bir işlevi sorguya dayalı olarak tekrarlar. Tekrarlama süresini de siz ayarlayabilirsiniz. Sorguyu ise örnekte gördüğünüz zaman anlayabilirsiniz. Örnek olarak,
PHP:
on join:
While player is exists:
add 1 to {Puan.%player%}
wait 1 seconds
Buradaki sorgumuz "player is exists" kısmıdır. Yani bu örnekte oyuncu oyunda girdiği zaman her bir saniye de bir oyuncuya bir puan ekler. Ancak oyuncu oyundan çıktığı zaman puan eklemeyi durdurur. Sorgu eğer doğruysa tekrarlar ancak yanlışsa devam eder. Bu da gerçekten kullanışlıdır. Ancak burada bir kısım çok önemli. Eğer eklemezseniz sunucunuz çökecektir. Bu kısım "wait 1 seconds" kısmıdır. Eğer bir süre eklemezseniz sunucu bu işlevi salisede bir çok kez tekrarlamaya kalkacak ancak sunucunuzu muhtemelen çok zorlayacak. Sunucuda bu duruma karşı koymak için sunucuyu kapatacaktır. Tekrar açtığınızda da sorun devam edecektir. Bu kısmı ekleyene kadar. En azından "wait 1 ticks" olarak yapabilirsiniz. Ama süre eklemek zorundasınız.
Config hepimizin bildiği gibi Skript ile ilgili ayarları sunucu dosyası içerisinden kolay bir şekilde ayarlamamızı sağlar. Bu da son zamanlarda çok kullanılıyor ancak bazı arkadaşlarımız hala bilmiyor. Fazla uzun tutmaya gerek görmüyorum tek örnek ile anlayacağınızı tahmin ediyorum.
Config hepimizin bildiği gibi Skript ile ilgili ayarları sunucu dosyası içerisinden kolay bir şekilde ayarlamamızı sağlar. Bu da son zamanlarda çok kullanılıyor ancak bazı arkadaşlarımız hala bilmiyor. Fazla uzun tutmaya gerek görmüyorum tek örnek ile anlayacağınızı tahmin ediyorum.
PHP:
on load:
if folder "plugins/Deneme/" doesn't exists:
create folder "plugins/Deneme/"
if file "plugins/Deneme/config.yml" doesn't exists:
create file "plugins/Deneme/config.yml"
set "Test" to "Deneme" in yaml file "plugins/Deneme/config.yml"
set {Deneme} to colored value "Deneme" get of "plugins/Deneme/config.yml"
Bu şekilde ekleyebilirsiniz. Oyunda ise "{Deneme}" değişkeni ile kullanabilirsiniz.
Umarım yararlı olmuştur. Eğer beğendiyseniz REP vermeyi unutmayın. Ayrıca bütün kodların birleşimi ile bir kodu aşağıda bulabilirsiniz. Anlamadığınız yerler olursa lütfen belirtin yardımcı olmaya çalışırım. İyi Forumlar.
Umarım yararlı olmuştur. Eğer beğendiyseniz REP vermeyi unutmayın. Ayrıca bütün kodların birleşimi ile bir kodu aşağıda bulabilirsiniz. Anlamadığınız yerler olursa lütfen belirtin yardımcı olmaya çalışırım. İyi Forumlar.
PHP:
on load:
if folder "plugins/Duyuru/" doesn't exists:
create folder "plugins/Duyuru/"
if file "plugins/Duyuru/config.yml" doesn't exists:
create file "plugins/Duyuru/config.yml"
set "Duyuru1" to "&aMerhaba MC-TR" in yaml file "plugins/Duyuru/config.yml"
set "Duyuru2" to "&aSunucumuza hos geldiniz." in yaml file "plugins/Duyuru/config.yml"
set "Duyuru3" to "&aCode by SkripTR!" in yaml file "plugins/Duyuru/config.yml"
set {Mesaj1} to colored value "Duyuru1" get of "plugins/Duyuru/config.yml"
set {Mesaj2} to colored value "Duyuru2" get of "plugins/Duyuru/config.yml"
set {Mesaj3} to colored value "Duyuru3" get of "plugins/Duyuru/config.yml"
set {duyuru} to true
invoke "duyuru-aktif"
sub "duyuru-aktif":
while {duyuru} is true:
add {Mesaj1} to {_mesajlar::*}
add {Mesaj2} to {_mesajlar::*}
add {Mesaj3} to {_mesajlar::*}
set {_duyuru} to random element of {_mesajlar::*}
broadcast "%{_duyuru}%"
wait 30 seconds