Minecraft - Scirpt Rehberi

HzEgze

Demir madencisi
Katılım
9 Kas 2020
Mesajlar
28
Beğeni
10
Puanları
1,235
Merhaba Arkadaşlar,
Yaklaşık 1 senelik aradan sonra foruma geri döndüm şimdilerde skript pluginiyle uğraşıyorum.Bu plugini kullanmak,skript yazmak isteyen arkadaşlar için bir rehber hazırlayayım dedim.Bazı Yerler Alıntıdır.İyi Forumlar :)
İlk Olarak Skript Pluginiyle Başlayalım "Plugin Yapma Plugini" de diyebileceğimiz pluginde eğer İngilizceniz iyiyse çok iyi işler yapabilirsiniz.Eğer benim İngilizcem yok diyorsanız üzülmeyin gayet basit plugin.Neyse fazla uzatmayayım :) Plugin Linki: http://dev.bukkit.org/bukkit-plugins/skript/
Peki indirdik sonra ne yapacağız? Eklentiyi sunucumuzdaki "plugins" kısmına koyacağız ve daha sonra sunucuyu başlatacağız. "plugins" bölümüne "Skript" isiminde bir dosya gelecek, onu açın ve oradan "scripts". Orada örnek skriptler görebilirsiniz, fakat onlar aktif değildir eğer bir skriptin isminin başında - var ise bunlar aktif değildir. Silerek aktif yapabilirsiniz. Tavsiyem bunları silmeniz arkadaşlar hepsini silin. Daha sonra yeni bir not defteri oluşturun ve bunu farklı kaydederek adını "deneme.sk" yapın. İlk isim önemli değil fakat ".sk" kısmı şarttır arkadaşlar yoksa Skript bunu okumaz. Şimdi kodlama kısmına geldik tabi
İlk Olarak Eventlerle Başlayalım.Event Dediğimiz Şeyler Olaylardır.Oyuncunun Ölmesi,Bir Komut Yazılması,Yatması,Şimşek Çakması vs. her şey evente girer.Unutmadan türkçe karakter kullanmayın skriptiniz çalışmaz.Ayrıca http://njol.ch/projects/skript/doc/events/ adresinden detaylı bilgi alabilirsiniz(ingilizcedir)Şimdi nasıl kodlama yapacağımıza geçelim.Kodlama için kullanabileceğimiz bir kaç program var, tavsiyem Notepad++'tır Linki isterseniz not defteri ilede kodlayabilirsiniz ama biraz sıkıntı yaratabilir. Evet Notepad++ ile açtık şimdi boş bir yazı ekranı göreceğiz. İlk kodumuzu yazalım!
EVENTLER [Speaw'ın başka bir forumdaki konusundan alıntıdır(düzenlenmiştir)]:
Eventlerin Tam Listesi: Link
At Time

Belirtilen zaman geldiğinde olacaklar.
Örnek:
Kod:
at 18:00:
veya
at 7am in "world":
On Bed Enter/Leave
Oyuncu yatağa yattığında veya kalktığında olacaklar.
Örnek:
Kod:
on bed enter:
execute player command "/me Yataga uzanir"
on bed leave:
execute player command "/me Yataktan kalkar"
On Block Damage
Oyuncu bir bloğu kırmaya başladığında olacaklar.
Örnek:
Kod:
on block damage:
trigger:
send "Blok Kirmaya Başladin" to player
On Break / Mine
Oyuncu bir bloğu yada bir madeni kırdığında olacaklar. Örnek(taşın lava düşmemesi için bir skript):
Kod:
on break of stone: #---Oyuncu Taş Kırdığında
cancel event #--- Olayı İptal Et
set block to air #--- Bloğu Hava Yap
give player 1 cobblestone #---Oyuncuya Kırıktaş Ver
On Bucket Empty/Fill
Oyuncu kovayı boşalttığında veya doldurduğunda olacaklar. Örnek:
Kod:
on bucket empty: #---Kovayı Boşalttığında
execute player command "/me Kovadakı suyu yere döker. #---Oyuncuya "/me Kovadakı suyu yere döker." komutunu yazdır.
on bucket fill: #---Kovayı Doldurduğunda
execute player command "/me Kovayı doldurur. #---Oyuncuya "/me Kovayı doldurur." komutunu yazdır.
On Burn
Oyuncu yakarak biryeri yok ettiğinde olacaklar.
Kod:
on burn:
send "Etrafı Yakmamalısın" to player
On Chat
Oyuncu konuştuğunda olacaklar.
Kod:
on chat:#---Oyuncu Chat'e Yazı Yazdığında
cancel event#---Olayı İptal Et
On Click
Oyuncu bir yere tıkladığında olacaklar.
Örnek:
Kod:
on click:#---Oyuncu Tıkladığında
on rightclick holding a fishing rod:#---Bir Oltayla Sağ Tıkladığında
on leftclick on a stone or obsidian:#---Bir Taşa Veya Obsidyene Sağ Tıkladığında
on click with a sword:#---Kılıçla Biryere Tıkladığında
On Connect
Oyuncu sunucuya bağlandığında olacaklar. Örnek:
Kod:
on connect:
player doesn't have permission "VIP"
number of players is larger than 20, kick the player due to "Son 5 Kisilik Yer VIP'lere Ayrılmıstır."
On Craft
Oyuncu bir eşya yaptığında olacaklar. Örnek:
Kod:
on craft:
message "Bir eşya craftladınız."
On Death
Ölündüğünde olacaklar. Örnek:
Kod:
on death of a zombi:
broadcast "%entity% %world% de zombi tarafindan öldürüldü!"
On Dispense
Dispenser bir item attığında olacaklar.
On Drop
Oyuncu bir eşya bıraktığında olacaklar
On Explode
Bir patlama olduğunda (tnt/creeper) olacaklar.
On First Join
Oyuncu oyuna ilk giriş yaptığında olacaklar. Örnek:
Kod:
on first join:
send "<red> Baslangic esyalarini aldiniz." to player
give stone sword to player
give stone pickaxe to player
give stone axe to player
give stone shovel to player
give 10 apple to player
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. Örnek:
Kod:
on join:
message "Bu harika sunucuya holsgeldin!"
broadcast "%player% sunucuya giriş yaptı!"
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.
Eventlerin Tam Listesi: Link
Evet farkettiğiniz gibi #'ler commenttir kısaca Skript bu yazıları görmez. Bir kodu yazdığımızda CTRL + S ile kaydedelim ve sunucuda "skript reload skriptadi.sk" yazalım ve ardından skriptin çalışıp çalışmadığını deneyebiliriz.
Yazıların başına ve sonuna " koymak zorunludur arkadaşlar. Peki şunu farkettnizmi, her ":"'den sonra alttaki satırda bir defa TAB tuşuna basıyoruz. Sakın bunu unutmayın arkadaşlar çok değerli bir bilgidir eğer bu işlem yapılmazsa kodda hata olacaktır deneyebilirsiniz.
İF ve ELSE
İf ve Else'yle devam edelim.İf dediğimiz ifade "eğer" anlamındadır.Örneğin if player has diamond oyuncu elmasa sahipse gibi bir anlamdadır.Else'de İf'te belirtilen olayın gerçekleşmediği zamanı anlatır.Bir kodla örnek verirsek:
Kod:
command /evkaydet:
trigger:
set {evkoordinat.%player%} to player coordinates #---{evkoordinat.%player%} dosyasını oyuncunun koordinatlarına ayarla.(yanlış olabilir koordinatla ilgili bilgim yok)
command /ev: #------/evkaydet komutu yazıldığında
trigger: #------Şunları Gerçekleştir gibi bir şey sanırım bunu çeviremedim :)
if {evkoordinat.%player%} is not set #------{evkoordinat.%player%} dosyası belirlenmemişse
send "Önce /evkaydet Ile Ev Belirlemelisiniz" to player #------Oyuncuya Önce /evkaydet Ile Ev Belirlemelisiniz Mesajını At
else #------Eğer ifte belirtilen durum geçerli değilse yani bu durumda {evkoordinat.%player%} dosyası belirlenmişse
tp player {evkoordinat.%player%} #-------Oyuncuyu {evkoordinat.%player%} notkasına ışınla.
send "Evinize Isinlandiniz" to player
Yukarıdaki örnek koddan anlaşılmıştır herhalde if ve else.Eğer aklınıza gelen başka anlatılacak şeyler varsa lütfen yorum yazın.Ayrıca güzel Bir script fikriniz varsa mesaj atabilirsiniz. HzEgze Saygılarımla..
 

bucksh0t

YASAKLI ÜYE
YASAKLI ÜYE
Katılım
4 Kas 2020
Mesajlar
110
Beğeni
5
Puanları
280
Wow Emek Verilmiş Gibi Duruyor Umarım Bunu Copy Paste(kopyala Yapıştır) Yapmamışsındır
 
Üst