Herkese merhabalar. Bugün sizlere istediğiniz özelliklere sahip zırhları nasıl yaparsınız bunu göstereceğim.
Biraz sonra anlatacağım şeyler size biraz karışık gelebilir fakat belirttiğim pluginleri kullanmazsanız işiniz daha da karışık bir hale gelebilir.
*Kullanırsanız işinizi kolaylaştıracak eklenti: İtemEdit
on armor equip:
(Oyuncu zırh giydiği zaman aşağıdaki işlemleri yapar)
if the custom model data of the player's helmet is 9999:
(Oyuncunun giydiği kaskın custom model datasının 9999 olup olmadığını kontrol eder. Eğer 9999 değilse işlem iptal olur)
Bu kontrol ettirme işlemini eşyanın ismini yada lore kısmını kontrol ettirip yapabilirsiniz. Fakat oyuncu eşyanın ismini değiştirdiği zaman özelliği kullanamaz. Bu nedenle en iyi yöntem custom model data kullanmaktır. Belirttiğim eklentinin haricinde başka eklentiler ile de eşyalara özel custom model data atayabilirsiniz.
Custom Model Data Nedir ?
Genellikle özel eşyalara doku paketi yapmak için kullanılır. Eşyaya özel bir kod atar ve diğer eşyalardan ayırır. Peki ya elimizdeki eşyaya nasıl custom model data verebiliriz. İtemEdit plugini ile bunu yapmak çok kolaydır. Elinize custom model data atamak istediğiniz eşyayı alıp /ie custommodeldata (atamak istediğiniz numara)
Size sunduğum skriptin çalışması için eşyaları belirtilen custom model dataları vermeniz gerekiyor.
Yapmak istediğiniz kaskı elinize alıp /ie custommodeldata 9999 yazın
Zırh: /ie custommodeldata 9998
Pantolon: /ie custommodeldata 9997
Bot: /ie custommodeldata 9996
İtemEdit Eklentisini indirmeden skripti denemek isteyenler için:
/give @s minecraft:diamond_helmet{CustomModelData:9999}
/give @s minecraft:diamond_chestplate{CustomModelData:9998}
/give @s minecraft:diamond_leggings{CustomModelData:9997}
/give @s minecraft:diamond_boots{CustomModelData:9996}
Komutlarını girerek eşyaları eklenti indirmeden alıp kolaylıkla deneyebilirsiniz.
set {zirh::%player%} to true
En basit hali ile oyuncunun ismine özel bir kapı açar diyebiliriz. Oyuncu özel setin tüm parçalarını giydiği zaman bu kapı oyuncuya açılmış olur. Bu sayede oyucuya giydiği özel set ile yapacağı özellikleri yapma yetkisi verebiliriz.
send "&6Alev Setinin &fözellikleri &aaktif!"
Oyuncu bütün zırh parçalarını giydiği zaman ona bütün parçaları giydiğini belli etmemiz için gönderdiğimiz mesaj.
Bu skript ile oyuncunun özel seti giyip giymediğini kontrol ettirdik. Şimdi ise özel setimize bir özellik yapacağız.
Özellik: Oyuncu lava düştüğü zaman ona 30 saniyelik Ateş Direnci etkisi verir. Bekleme Süresi 5 dakika
on damage of a player:
(Oyuncu hasar alırsa)
victim is player:
(Hasarı alan kişi bir oyuncu ise)
if damage cause is lava:
(Aldığı hasar lav hasarı ise)
if {zirh.%victim%} is true:
(Yukarıda da anlattığım gibi oyuncunun özel seti giyip giymediğini kontrol eder. Giymişse alt satıra geçer)
if {beklemesuresi.%victim%} is not set:
(Burada da bir kontrol etme işlemi var. Yukarıda oyuncunun bütün parçaları giyip giymediğini kontrol etmek için kullandığınız kapı olayını şimdi de bekleme süresi eklemek için kullanıyoruz. beklemesuresi kapısı kapalıysa alt satıra geçip işlemleri uyguluyor. Fakat kapı açıksa işlemleri uygulamadan geçiyor.)
apply potion of fire resistance of tier 1 to victim for 30 seconds
(Oyuncuya 1. Seviye Ateş Direnci etkisini 30 saniyelim olarak verir.)
send title "&6Alev Seti!" with subtitle "&f30 Saniyelik Ateş Direnci Kazandın." to victim for 2.5 seconds
(Yeteneğin kullanıma girdiğini oyuncuya belirtmek için ekranına bir yazı çıkartıyoruz. Sadece 'send' kullanarak bunu sohbete de yazdırabilirsiniz. Tamamen hayal gücünüze kalmış.)
set {beklemesuresi.%victim%} to 1
(beklemesuresi kapısını açar. Bu da yeteneğin sürekli kullanılmasını engellemek için kullanılıyor. Yani bekleme süresi ekliyor. Başka bir yöntem ile de bekleme süresi ekleyebilirsiniz. Dediğim gibi hayal gücünüze kalmış bir olay.)
wait 300 seconds
(İşlemi 300 saniye bekletip aşağıdaki işlemi uygulatır.)
delete {beklemesuresi.%victim%}
(300 saniye beklendikten sonra beklemesuresi kapısını açar ve yeteneğin tekrar kullanılmasını sağlar.)
Şimdi ise son işleme geldik. Oyuncu zırhı çıkardığı zaman yeteneği kullanmamalı. Bunu da ayarladıktan sonra işimiz bitecek.
on armor unequip:
(Oyuncu bir zırh parçasını çıkarınca)
if {zirh::%player%} is true:
(zirh kapısı açıksa aşağıdaki işlemleri yapar. zirh kapısının açık olup olmadığını kontrol etmek demek oyuncu alev setini giyiyor mu diye kontrol etmek ile aynı şeydir.)
if custom model data of player's helmet is not 9999:
(Oyuncunun kask bölümündeki eşyanın custom model datası 9999 değilse aşağıdaki işlemleri uygular. Bunu yapmamızın sebebi ise oyuncunun alev setini giyip giymediğini kontrol etmektir.)
remove fire resistance from player
(Oyuncu alev setini giyip özelliğini çalıştırdıktan sonra zırhı çıkarttığı zaman zırhın özelliğinden aldığı ateş direnci etkisini kullanmasın diye üzerindeki ateş direnci etkisini sildiriyoruz. Bunu yapmazsak zırhı giyip yeteneği çalıştırıp etkiyi alıp başka zırhlar giyebilirler. Bunun olmasını istemeyiz.)
set {zirh::%player%} to false
(Oyuncunun zirh kapısını kapatıyoruz. Çünkü oyuncu bütün zırh parçalarını giymiyor ve özellikleri kullanmamalı. Bu sebeple zirh kapısını kapatıyoruz.)
send "&6Alev Setinin &fözellikleri &cdevre dışı!"
(Oyuncuya bütün zırh parçalarını giymediğini belirtmek için bir mesaj gönderiyoruz.)
Konumu okuduğunuz için hepinize çok teşekkür ediyorum. Attığım kodlarda bir hata olursa ya da kendinize özel bir zırh yaparken bir hata ile karşılaşırsanız bana discord üzerinden ulaşabilirsiniz seve seve yardımcı olurum.
Discord: HaciGandalf#2689
Biraz sonra anlatacağım şeyler size biraz karışık gelebilir fakat belirttiğim pluginleri kullanmazsanız işiniz daha da karışık bir hale gelebilir.
*Kullanırsanız işinizi kolaylaştıracak eklenti: İtemEdit
Kod:
on armor equip:
if the custom model data of the player's helmet is 9999:
if the custom model data of the player's chestplate is 9998:
if the custom model data of the player's leggings is 9997:
if the custom model data of the player's boots is 9996:
set {zirh::%player%} to true
send "&6Alev Setinin &fözellikleri &aaktif!"
on armor equip:
(Oyuncu zırh giydiği zaman aşağıdaki işlemleri yapar)
if the custom model data of the player's helmet is 9999:
(Oyuncunun giydiği kaskın custom model datasının 9999 olup olmadığını kontrol eder. Eğer 9999 değilse işlem iptal olur)
Bu kontrol ettirme işlemini eşyanın ismini yada lore kısmını kontrol ettirip yapabilirsiniz. Fakat oyuncu eşyanın ismini değiştirdiği zaman özelliği kullanamaz. Bu nedenle en iyi yöntem custom model data kullanmaktır. Belirttiğim eklentinin haricinde başka eklentiler ile de eşyalara özel custom model data atayabilirsiniz.
Custom Model Data Nedir ?
Genellikle özel eşyalara doku paketi yapmak için kullanılır. Eşyaya özel bir kod atar ve diğer eşyalardan ayırır. Peki ya elimizdeki eşyaya nasıl custom model data verebiliriz. İtemEdit plugini ile bunu yapmak çok kolaydır. Elinize custom model data atamak istediğiniz eşyayı alıp /ie custommodeldata (atamak istediğiniz numara)
Size sunduğum skriptin çalışması için eşyaları belirtilen custom model dataları vermeniz gerekiyor.
Yapmak istediğiniz kaskı elinize alıp /ie custommodeldata 9999 yazın
Zırh: /ie custommodeldata 9998
Pantolon: /ie custommodeldata 9997
Bot: /ie custommodeldata 9996
İtemEdit Eklentisini indirmeden skripti denemek isteyenler için:
/give @s minecraft:diamond_helmet{CustomModelData:9999}
/give @s minecraft:diamond_chestplate{CustomModelData:9998}
/give @s minecraft:diamond_leggings{CustomModelData:9997}
/give @s minecraft:diamond_boots{CustomModelData:9996}
Komutlarını girerek eşyaları eklenti indirmeden alıp kolaylıkla deneyebilirsiniz.
set {zirh::%player%} to true
En basit hali ile oyuncunun ismine özel bir kapı açar diyebiliriz. Oyuncu özel setin tüm parçalarını giydiği zaman bu kapı oyuncuya açılmış olur. Bu sayede oyucuya giydiği özel set ile yapacağı özellikleri yapma yetkisi verebiliriz.
send "&6Alev Setinin &fözellikleri &aaktif!"
Oyuncu bütün zırh parçalarını giydiği zaman ona bütün parçaları giydiğini belli etmemiz için gönderdiğimiz mesaj.
Bu skript ile oyuncunun özel seti giyip giymediğini kontrol ettirdik. Şimdi ise özel setimize bir özellik yapacağız.
Özellik: Oyuncu lava düştüğü zaman ona 30 saniyelik Ateş Direnci etkisi verir. Bekleme Süresi 5 dakika
Kod:
on damage of a player:
victim is player:
if damage cause is lava:
if {zirh.%victim%} is true:
if {beklemesuresi.%victim%} is not set:
apply potion of fire resistance of tier 1 to victim for 30 seconds
send title "&6Alev Seti!" with subtitle "&f30 Saniyelik Ateş Direnci Kazandın." to victim for 2.5 seconds
set {beklemesuresi.%victim%} to 1
wait 300 seconds
delete {beklemesuresi.%victim%}
on damage of a player:
(Oyuncu hasar alırsa)
victim is player:
(Hasarı alan kişi bir oyuncu ise)
if damage cause is lava:
(Aldığı hasar lav hasarı ise)
if {zirh.%victim%} is true:
(Yukarıda da anlattığım gibi oyuncunun özel seti giyip giymediğini kontrol eder. Giymişse alt satıra geçer)
if {beklemesuresi.%victim%} is not set:
(Burada da bir kontrol etme işlemi var. Yukarıda oyuncunun bütün parçaları giyip giymediğini kontrol etmek için kullandığınız kapı olayını şimdi de bekleme süresi eklemek için kullanıyoruz. beklemesuresi kapısı kapalıysa alt satıra geçip işlemleri uyguluyor. Fakat kapı açıksa işlemleri uygulamadan geçiyor.)
apply potion of fire resistance of tier 1 to victim for 30 seconds
(Oyuncuya 1. Seviye Ateş Direnci etkisini 30 saniyelim olarak verir.)
send title "&6Alev Seti!" with subtitle "&f30 Saniyelik Ateş Direnci Kazandın." to victim for 2.5 seconds
(Yeteneğin kullanıma girdiğini oyuncuya belirtmek için ekranına bir yazı çıkartıyoruz. Sadece 'send' kullanarak bunu sohbete de yazdırabilirsiniz. Tamamen hayal gücünüze kalmış.)
set {beklemesuresi.%victim%} to 1
(beklemesuresi kapısını açar. Bu da yeteneğin sürekli kullanılmasını engellemek için kullanılıyor. Yani bekleme süresi ekliyor. Başka bir yöntem ile de bekleme süresi ekleyebilirsiniz. Dediğim gibi hayal gücünüze kalmış bir olay.)
wait 300 seconds
(İşlemi 300 saniye bekletip aşağıdaki işlemi uygulatır.)
delete {beklemesuresi.%victim%}
(300 saniye beklendikten sonra beklemesuresi kapısını açar ve yeteneğin tekrar kullanılmasını sağlar.)
Şimdi ise son işleme geldik. Oyuncu zırhı çıkardığı zaman yeteneği kullanmamalı. Bunu da ayarladıktan sonra işimiz bitecek.
Kod:
on armor unequip:
if {zirh::%player%} is true:
if custom model data of player's helmet is not 9999:
remove fire resistance from player
set {zirh::%player%} to false
send "&6Alev Setinin &fözellikleri &cdevre dışı!"
if custom model data of player's chestplate is not 9998:
remove fire resistance from player
set {zirh::%player%} to false
send "&6Alev Setinin &fözellikleri &cdevre dışı!"
if custom model data of player's leggings is not 9997:
remove fire resistance from player
set {zirh::%player%} to false
send "&6Alev Setinin &fözellikleri &cdevre dışı!"
if custom model data of player's boots is not 9996:
remove fire resistance from player
set {zirh::%player%} to false
send "&6Alev Setinin &fözellikleri &cdevre dışı!"
on armor unequip:
(Oyuncu bir zırh parçasını çıkarınca)
if {zirh::%player%} is true:
(zirh kapısı açıksa aşağıdaki işlemleri yapar. zirh kapısının açık olup olmadığını kontrol etmek demek oyuncu alev setini giyiyor mu diye kontrol etmek ile aynı şeydir.)
if custom model data of player's helmet is not 9999:
(Oyuncunun kask bölümündeki eşyanın custom model datası 9999 değilse aşağıdaki işlemleri uygular. Bunu yapmamızın sebebi ise oyuncunun alev setini giyip giymediğini kontrol etmektir.)
remove fire resistance from player
(Oyuncu alev setini giyip özelliğini çalıştırdıktan sonra zırhı çıkarttığı zaman zırhın özelliğinden aldığı ateş direnci etkisini kullanmasın diye üzerindeki ateş direnci etkisini sildiriyoruz. Bunu yapmazsak zırhı giyip yeteneği çalıştırıp etkiyi alıp başka zırhlar giyebilirler. Bunun olmasını istemeyiz.)
set {zirh::%player%} to false
(Oyuncunun zirh kapısını kapatıyoruz. Çünkü oyuncu bütün zırh parçalarını giymiyor ve özellikleri kullanmamalı. Bu sebeple zirh kapısını kapatıyoruz.)
send "&6Alev Setinin &fözellikleri &cdevre dışı!"
(Oyuncuya bütün zırh parçalarını giymediğini belirtmek için bir mesaj gönderiyoruz.)
Konumu okuduğunuz için hepinize çok teşekkür ediyorum. Attığım kodlarda bir hata olursa ya da kendinize özel bir zırh yaparken bir hata ile karşılaşırsanız bana discord üzerinden ulaşabilirsiniz seve seve yardımcı olurum.
Discord: HaciGandalf#2689
Son düzenleme: