[SKRİPT REHBERİ] Sunucularınıza özel skriptler hazırlayabilirsiniz.

[​IMG]
Merhaba değerli forum uyeleri. Bu gün sizlere skriptle alakalı bir rehber hazırladım. Bu rehberde; skript nedir, nasıl yüklenir, belli başlı eventlar ve örnekleri, if ve else mantığı, gibi birtakım şeyleri anlatabildiğim kadarı ile anlatmaya çalışacağım. Umarım işinize yarar.




[​IMG]
Skript bir nevi basit bir sistemle bir komut oluşturma veya kolay yoldan plugin yazma şeklidir. Aslında zor gibi görünür. Fakat javadan daha kolaydır. Başlangıcında belli bir olay (event) ile başlar. Örneğin:
Kod:
on death of player:

Bu kod; bir oyuncu öldüğünde devreye girer. Bu kodun altına olacakları yazabilirsiniz. Bir oyuncu ölürse altına yazdığınız olacaklar listesi kod sırasına göre gerçekleşir. Örneğin:
Kod:
on death of player:

    send "Oldunuz!" to player

Yani oyuncu öldüğünde oyuncuya "Oldunuz!" şeklinde bir mesaj gidecek. Yukarıdaki kodda anlatılan olayı türkçeleştirecek olursak:
Kod:
bir oyuncu ölürse:
    oyuncuya "Oldunuz!" şeklinde bir mesaj gönder

Gördüğünüz gibi aslında skript o kadar da zor değilmiş değil mi? Yukarıda belirttiğim olaylar basit bir mantıkla çalışıyor. Ama aslında yazılan skriptleri kurcalasanız ve çözmek için uğraşsanız onların da basit olduğunu fark edeceksiniz.





[​IMG]
Öncelikle buraya tıklayarak skript pluginini indirin. Ve bu plugini sunucunuzun plugins klasörüne atın. Sunucunuzu başlattıktan sonra Skript diye bir klasör oluşucak. İçine girin. Skripts klasörü karşınıza çıkıcak. O klasörün içine girdiğinizde varsayılan birtakım yabancı dil skriptler çıkıcak karşınıza. İsterseniz silebilirsiniz veya o skriptleri türkçeleştirerek kullanabilirsiniz. Seçim size kalmış. Fakat o skriptler o an aktif değiller. Çünkü skript isminin başında "-" işareti var. Kullanmak isterseniz O işareti silin. Fakat tavsiyem o skriptlerin hepsini silmeniz. Şimdi skripts klasöründe yeni bir not defteri oluşturun. Ve o not defterini farklı kaydederek adını "skriptismi.sk" olarak değiştirin. Bu adımdan sonra dosyayı açın ve skriptinizi yazın. Size tavsiyem skripti yazarken not defterini değil de Notepad++ programını kullanmanız. Skripti yazma işeminiz bittiğinde oyun içinden veya konsoldan "/sk reload all" komutunu yazmanız gerek. Ve işlem tamam. Yazdığınız skript oyuna başarı ile yüklendi.





[​IMG]
Öncelikle olay dediğimiz şeyler; ölme, tıklama, konuşma, komut yazma, şimşek çakma, hasar alma, blok kırma, eşya atma vb. şeylerdir. Burada sizlere belli başlı olayları örnekleri ile birlikte anlatmaya çalışacağım.
[​IMG] 
On Command
Bir komut yazıldığında olacaklar. Örneğin:

Kod:
on command "/fly":
    send "Ucuyorsun!" to player
    wait 10 seconds
    execute player command "/fly"
    send "Ucma gucunu kaybettin!" to player
Bu yazmış olduğum kodu açıklayacak olursak; Oyuncu /fly komutunu yazdığında oyuncuya "Ucuyorsun!" seklinde bir mesaj gönderecek. 10 saniye bekledikten sonra oyuncu adına tekrar /fly komutunu yazacak ve oyuncuya "Ucma gucunu kaybettin!" şeklinde bir mesaj gönderecek.

execute player command "/komut" ---> Oyuncu adına tırnak içersinde belirtilen kodu girer.
wait x seconds ---> x saniye kadar bekler.
send "<mesaj>" to <gönderilecek kişi> ---> Tırnak içinde belirtilen mesajı gönderilecek kişi veya kişilere gönderir. Kişiler: player (olayı gerçekleştiren kişi), players (tüm oyuncular)

[​IMG] 
On Chat
Konuştuğunda olacaklar. Örneğin:

Kod:
on chat:
    cancel event
Bu kodu açıklayacak olursak; her hangi bir oyuncu konuşursa o olay iptal edilecek. Yani oyuncular konuşamayacak.
cancel event ---> Olayı iptal eder.

[​IMG] 
On Break Of Lapis Ore
Lapis lazuli kazdığında olacaklar. Örneğin:

Kod:
on break of lapis ore:
    chance of 50%:
        give 10 apple to player
Bu kodu açıklayacak olursak oyuncu lapis lazuli kazdığında %50 şansla 10 tane elma kazanacak.
give x y to player ---> Oyuncuya belirtilen eşyadan belirtilen kadar verir. x=verilecek eşya sayısı y=verilecek eşya adı veya kodu
chance of 50%: ---> %50 şans ile olayı gerçekleştirir ya da gerçekleştirmez.

[​IMG] 
On Kick
Oyuncu kicklendiğinde olacaklar.
On Leaves Decay
Yapraklar ağaçtan ayrılıp çürüdüğünde olacaklar.
On Level Change
Oyuncunun leveli değiştinde olacaklar.
On Lightning Strike
Şimşek çaktığında olacaklar.
On Move On
Oyuncu belirtilen blokta yürüdüğünde olacaklar.
On Pick Up
Oyuncu bir item aldığında olacaklar.
On Pig Zap
Bir domuza şimşek çakıp zombi pigman e dönüştüğünde olacaklar.
On Piston Extend
Bir piston çalıştığında.
On Piston Retract
Bir piston kapandığında.
On Place
Oyuncu bir blok yerleştirdiğinde olacaklar.
On Portal
Oyuncu end portalı yada nether portalına girdiğinde olacaklar.
On Portal Create
Bir nether portalı yaratıldığında olacaklar.
On Portal Enter
Portala girildiğinde olacaklar.
On Pressure Plate / Trip
Oyuncu pressure plate e bastığında olacaklar.
On Quit
Oyuncu oyundan çıktığında olacaklar.
On Respawn
Oyuncu respawn olduğunda olacaklar.
On Script Load
Bir script yüklendiğinde olacaklar.
On Server Start/Stop
Sunucu başladığında veya sonlandığında olacaklar.
On Shoot
Oyuncu vurulduğunda (yumurta,ok,kar vb.)
On Sign Change
Tabela değiştirildiğinde olacaklar.
On Smelt
Bir maden eritildiğinde olacaklar.
On Spawn
Canavarlar spawnlandığında olacaklar.
On Spawn Change
Oyuncunun başlangıç yeri değiştirildiğinde.
On Sprint Toggle
Oyuncu koşmaya başladığında veya durduğunda olacaklar.
On Tame
Oyuncu bir kedi veya kurdu evcilleştirdiğinde olacaklar.
On Teleport
Oyuncu teleportlandığında olacaklar.
On Throwing of an Egg
Oyuncu yumurta fırlattığında olacaklar.
On Tool Change
Oyuncu item slotu değiştirdiğinde olacaklar. ( mouse tekerleği veya 1 den 9 a kadar sayılar)
On Vehicle Create
Bir oyuncu bot veya minecart yarattığında olacaklar.
On Vehicle Damage
Bot veya minecart zarar aldığında olacaklar.
On Vehicle Destroy
Bot veya minecart yok edildiğinde olacaklar.
On Vehicle Enter
Bot veya minecart a binildiğinde olacaklar.
On Vehicle Exit
Bot veya minecarttan çıkıldığında olacaklar.
On Weather Change
Hava değiştirildiğinde olacaklar.
On World Init
Bir world e giriş yapıldığında olacaklar.
On World Load
Bir world yüklendiğinde olacaklar.
On World Save
Bir world kaydedildiğinde olacaklar.
On Zombie Break Door
Bir zombi kapıyı kırdığında olacaklar.
On Fishing
Oyuncu balık tuttuğunda.
On Flow
Su/Lav etrafa dağıldığında.
On Fuel Burn
Fırına kömür koyulup yandığında.
On Gamemode Change
Oyuncu gamemode u değiştirdiğinde.
On Heal
Oyuncu hjerhanig bir şekilde iyileştirildiğinde (canı arttığında)
On Hunger Meter Change
Açlık değiştiğinde olacaklar.
On Item Spawn
Bir eşya yaratıldığında olacaklar.
On Join
Giriş yapıldığında olacaklar.
On Death
Ölündüğünde olacaklar
On Craft
Oyuncu bir eşya yaptığında olacaklar.
On Connect
Oyuncu sunucuya bağlandığında olacaklar
On Click
Oyuncu bir yere tıkladığında olacaklar.
On Burn
Oyuncu yakarak biryeri yok ettiğinde olacaklar.
On Bucket Empty/Fill
Oyuncu kovayı boşalttığında veya doldurduğunda olacaklar.
On Block Damage
Oyuncu bir bloğu kırmaya başladığında olacaklar.
On Bed Enter/Leave
Oyuncu yatağa yattığında veya kalktığında olacaklar.




[​IMG] 
İf dediğimiz şey "eğer" anlamındadır. Skriptte de aynı anlam ve mantıkla kullanılır. Else dediğimiz şey ise if'te belirtilen olay gerçekleşmediğinde devreye girer. Mesela;
Kod:
on chat:
    if player has permission "konus.chat":
         stop
    else:
        cancel event
        send "Sohbette konusmak icin yeterli izne sahip değilsin" to player

Buradaki "if player has permission "konus.chat:" oyuncu konus.chat permissionuna (iznine) sahip ise anlamında kullanılır. Altındaki "stop" ise hiçbirşey yapma gibi bir anlama gelir ve olayı durdurur. Fakat ifdeki olay gerçekleşmemiş ise else olayı devreye girer. Yani oyuncu konus.chat permissonuuna (iznine) sahip değilse konuşamaz ve "Sohbette konusmak icin yeterli izne sahip değilsin" şeklinde bir mesaj alır.




[​IMG]
Arkadaşlar umarım yararlı bir konu olmuştur. Eventleadaki örneksiz eventlar dışında hepsi bana ait kendim yazdım. İyi forumlar...

Yorum Gönder

0 Yorumlar