Blueyescat
Bedrock Kaşifi
- En iyi cevaplar
- 0
Fonksiyon Nedir?
Fonksiyonun diğer anlamı işlev yani bir şeyin yaptığı iştir. Skript'te de aynen böyledir. Bir işlemin birden çok kez kullanılması gerektiğinde kodu uzatmak yerine o işlemin başka yerlerden birçok kere çağrılmasını sağlar. Ayrıca duruma göre kodun güzel gözükmesini sağlar, sistemin karışıklılığını azaltır, performansı arttırır.
Fonksiyon Oluşturma
Fonksiyon oluşturma kodları normal bir olay (event) gibi yazılabilir.
Fonksiyon oluşturmak için aşağıdaki kod kalıbı kullanılabilir. Türkçe kısımlar değiştirilebilir.
Değer döndürmek için
Fonksiyon Çağırma
Fonksiyon çağırma kodları normal bir etki (effect) olarak yazılabilir. Eğer fonksiyon bir değer döndürebiliyorsa, bir ifade (expression) olarak da yazılabilir. Bir fonksiyon çağrıldığında, fonksiyon oluşturma kodunun içindeki kodlar çalıştırılır.
Örnekler
Bu fonksiyon 1. parametreye girilen oyuncuyu
2. satır içindeki kod 100 kere çalışacak bir döngü oluşturur.
Son satır
Kullanım
Bu fonksiyon 1. parametreye girilen oyunculara 2. parametrede ki yazıyı 3. parametrede ki sayı kadar gönderir.
Eğer 3. parametrede girilmemiş ise
Kullanımlar
Bu fonksiyon 1. parametreye girilen sayı listesini döngüye alır ve döngüdeki her değeri
Kullanımlar
Hiçbir parametresi olmayan bir fonksiyon oluşturur.
Kullanım
Bu fonksiyon 1. parametreye girilen listeyi ters çevirip geri döndürür. Örneğin 1, 2 ve 3 --> 3, 2 ve 1
Kullanım
Bu fonksiyon 1. parametreye girilen liste 2. parametrede ki değeri içeriyor mu diye kontrol eder. İçeriyorsa
Kullanımlar
Varsayılan Fonksiyonlar
Skript varsayılan olarak birçok fonksiyon kaydeder. Bunların listesini, kalıplarını, açıklamalarını ve örneklerini
Fonksiyonun diğer anlamı işlev yani bir şeyin yaptığı iştir. Skript'te de aynen böyledir. Bir işlemin birden çok kez kullanılması gerektiğinde kodu uzatmak yerine o işlemin başka yerlerden birçok kere çağrılmasını sağlar. Ayrıca duruma göre kodun güzel gözükmesini sağlar, sistemin karışıklılığını azaltır, performansı arttırır.
Fonksiyon Oluşturma
Fonksiyon oluşturma kodları normal bir olay (event) gibi yazılabilir.
Fonksiyon oluşturmak için aşağıdaki kod kalıbı kullanılabilir. Türkçe kısımlar değiştirilebilir.
function fonksiyonAdı(parametreAdı: tip = varsayılanDeğer) :: dönüşTipi:
- Parametreler virgüller ile çoğaltılabilir.
- İstenirse hiç parametre girilmez.
= tipgirilecek parametrenin zorunlu tipini belirler.- Bütün tipleri kabul etmek için
objecttipi kullanılabilir. - Eğer parametreye liste girilmesi istenirse, tip çoğullaştırılabilir. (number -> numbers, entity -> entities gibi.)
- Bütün tipleri kabul etmek için
= varsayılanDeğereğer fonksiyon çağrılırken bu parametre girilmezse varsayılan olarak kullanılacak değeri belirler. Zorunlu bir parametre girilmezse script yüklenirken hata verir.- İsteğe bağlı.
:: dönüşTipieğer fonksiyon bir değer döndürecek ise kullanılır. Bunun yerine dönüş tipi girilir (number, text, object, item gibi).- Eğer bir liste döndürülmesi istenirse, tip çoğullaştırılabilir. (object -> objects, item -> items gibi.)
- İsteğe bağlı.
değişkenAdı parametresi için {_değişkenAdı} gibi.Değer döndürmek için
return %objeler% etkisi kullanılır. Bu etki kodu stop etkisi kullanmış gibi durdurur.Fonksiyon Çağırma
Fonksiyon çağırma kodları normal bir etki (effect) olarak yazılabilir. Eğer fonksiyon bir değer döndürebiliyorsa, bir ifade (expression) olarak da yazılabilir. Bir fonksiyon çağrıldığında, fonksiyon oluşturma kodunun içindeki kodlar çalıştırılır.
fonksiyonAdı(parametreler)
- Parametreler virgüller ile çoğaltılabilir.
- Eğer bir parametreye liste girilecekse, bu listenin fonksiyon parametreleriyle karışmaması için parantez içine alınması gerekir.
Örnek:
Tabi eğer liste bir değişkenden veya bir ifadeden oluşuyorsa buna gerek olmaz.fonksiyonAdı(parametre1, (değer1, değer2 and değer3), parametre3) # 3 parametreli bir fonksiyon{liste::*}veyaall playersdirekt olarak parametreye yazılabilir.
Örnekler
JSON:
function sohbetTemizle(p: player):
loop 100 times:
send "" to {_p}
{_p} değişkenine atar.2. satır içindeki kod 100 kere çalışacak bir döngü oluşturur.
Son satır
{_p} değişkeninde ki oyuncuya boş bir mesaj gönderir.Kullanım
Less:
command /sohbetimiTemizle:
trigger:
sohbetTemizle(player)
sohbetTemizle fonksiyonunu 1. parametreye komutu yazan oyuncuyu girerek çalıştırır.
SQL:
function mesajGönder(oyuncular: players, mesaj: text, sayı: number = 1):
loop {_sayı} times:
send {_mesaj} to {_oyuncular::*}
Eğer 3. parametrede girilmemiş ise
{_sayı} değişkeni otomatik olarak 1 yapılır.Kullanımlar
SQL:
mesajGönder(player, "mesaj", 10) #10 Kere
mesajGönder(all players, "mesaj") #1 Kere
Java:
function toplam(sayilar: numbers) :: number:
broadcast "topla fonksiyonu çalıştırıldı"
loop {_sayilar::*}:
add loop-value to {_toplam}
return {_toplam}
{_toplam} değişkeninin üzerine ekler. Örneğin listede 1, 2 ve 3 sayıları varsa {_toplam} değişkenine önce 1, sonra 2 ve en son 3 eklenir. Sonuçta {_toplam} değişkeni 6 olur.Kullanımlar
Ruby:
set {_sayıListesi::*} to 6, 3 and 9
set {_sonuç} to toplam({_sayıListesi::*})
if toplam(1, 6 and 9) is 16: # Fonksiyon zaten 1 parametreli olduğu için listenin parantez içine alınmasına gerek yok
send "Doğru"
send "%toplam({_sayılar::*})%"
C-like:
function değişkenleriAyarla():
set {değişkenler::1} to "değer"
set {değişkenler::liste::2} to true
set {değişkenler::3} to 3
Kullanım
Ruby:
on load:
değişkenleriAyarla() # Tabii ki load olayı zorunlu değil
Ruby:
function tersListe(liste: objects) :: objects:
loop size of {_liste::*} times:
set {_index} to size of {_liste::*} - loop-number - 1
add {_liste::%{_index}%} to {_ters::*}
return {_ters::*}
Kullanım
Ruby:
set {_liste::*} to tersListe({_liste::*}) # {_liste::*} listesi ters çevrilmiş olur
Ruby:
function içeriyorMu(liste: objects, arama: object) :: boolean:
loop {_liste::*}:
if loop-value is {_arama}:
return true
return false
true, içermiyorsa false döndürür.return kodu durduracağı için üstteki return çalışmamış ise alttaki return çalışır, yani liste belirtilen şeyi içermiyordur ve false döndürülür.Kullanımlar
Ruby:
if içeriyorMu(("a", "b" and "c"), "d") is true: # Fonksiyon 1 yazı listesi ve 1 yazı ile çağrılır
send "Evet"
else:
send "Hayır"
set {_liste::*} to "a", "b" and "c"
send "Kontrol: %içeriyorMu({_liste::*}, ""c"")%"
Varsayılan Fonksiyonlar
Skript varsayılan olarak birçok fonksiyon kaydeder. Bunların listesini, kalıplarını, açıklamalarını ve örneklerini
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
bulabilirsiniz.————————————————————————————————————————
Sorularınızı yorum yazarak sorabilirsiniz.
Discord Skript Topluluğu
Sorularınızı yorum yazarak sorabilirsiniz.
Discord Skript Topluluğu
Son düzenleme: