- Katılım
- 3 Eki 2017
- Konular
- 1,673
- Mesajlar
- 18,445
- Çözüm
- 48
- Online süresi
- 9mo 24d
- Reaksiyon Skoru
- 8,721
- Altın Konu
- 297
- Başarım Puanı
- 374
- MmoLira
- 41,550
- DevLira
- 753
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
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 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.
Varsayılan Fonksiyonlar
Skript varsayılan olarak birçok fonksiyon kaydeder.
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 object tipi kullanılabilir.
- Eğer parametreye liste girilmesi istenirse, tip çoğullaştırılabilir. (number -> numbers, entity -> entities gibi.)
- = 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ğ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. {liste::*} veya all players direkt olarak parametreye yazılabilir.fonksiyonAdı(parametre1, (değer1, değer2 and değer3), parametre3) # 3 parametreli bir fonksiyon
JSON:
function sohbetTemizle(p: player):
loop 100 times:
send "" to {_p}
Bu fonksiyon 1. parametreye girilen oyuncuyu {_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)
function sohbetTemizle(p: player):
loop 100 times:
send "" to {_p}
Bu fonksiyon 1. parametreye girilen oyuncuyu {_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)
SQL:
function mesajGönder(oyuncular: players, mesaj: text, sayı: number = 1):
loop {_sayı} times:
send {_mesaj} to {_oyuncular::*}
Bu fonksiyon 1. parametreye girilen oyunculara 2. parametrede ki yazıyı 3. parametrede ki sayı kadar gönderir.
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
function mesajGönder(oyuncular: players, mesaj: text, sayı: number = 1):
loop {_sayı} times:
send {_mesaj} to {_oyuncular::*}
Bu fonksiyon 1. parametreye girilen oyunculara 2. parametrede ki yazıyı 3. parametrede ki sayı kadar gönderir.
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}
Bu fonksiyon 1. parametreye girilen sayı listesini döngüye alır ve döngüdeki her değeri {_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::*})%"
function toplam(sayilar: numbers) :: number:
broadcast "topla fonksiyonu çalıştırıldı"
loop {_sayilar::*}:
add loop-value to {_toplam}
return {_toplam}
Bu fonksiyon 1. parametreye girilen sayı listesini döngüye alır ve döngüdeki her değeri {_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
Hiçbir parametresi olmayan bir fonksiyon oluşturur.
Kullanım
Ruby:
on load:
değişkenleriAyarla() # Tabii ki load olayı zorunlu değil
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
Hiçbir parametresi olmayan bir fonksiyon oluşturur.
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::*}
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
Ruby:
set {_liste::*} to tersListe({_liste::*}) # {_liste::*} listesi ters çevrilmiş olur
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::*}
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
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
Bu fonksiyon 1. parametreye girilen liste 2. parametrede ki değeri içeriyor mu diye kontrol eder. İçeriyorsa 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"
function içeriyorMu(liste: objects, arama: object) :: boolean:
loop {_liste::*}:
if loop-value is {_arama}:
return true
return false
Bu fonksiyon 1. parametreye girilen liste 2. parametrede ki değeri içeriyor mu diye kontrol eder. İçeriyorsa 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"
Varsayılan Fonksiyonlar
Skript varsayılan olarak birçok fonksiyon kaydeder.
- Katılım
- 19 Ara 2020
- Konular
- 1,566
- Mesajlar
- 6,953
- Çözüm
- 12
- Online süresi
- 2mo 25d
- Reaksiyon Skoru
- 2,468
- Altın Konu
- 122
- TM Yaşı
- 5 Yıl 5 Ay 17 Gün
- Başarım Puanı
- 282
- MmoLira
- -119
- DevLira
- 80
Teşekkurler 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 1
- Görüntüleme
- 111
- Cevaplar
- 3
- Görüntüleme
- 116
Altın Konu
Minecraft'ta FOV Nasıl Değiştirilir?
- Cevaplar
- 5
- Görüntüleme
- 640


