Rehber Skript İle Özel Setler Yapmak

  • Konuyu Başlatan Konuyu Başlatan HaciGandalf
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 4.651
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

HaciGandalf

Katniss Everdeen
Katılım
23 Nisan 2019
Mesajlar
136
Elmaslar
72
Puan
13.535
Yaş
22
Konum
Türkiye / İstanbul
Discord İzni
Minecraft
HaciGandalf

Discord:

hacigandalf

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

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:
Özel eşyalar yapmak isteyenler için fazlasıyla öğretici bir makale ellerine sağlık.
 
güzel anlatım eline sağlık
 
Şimdi olayı tam anlamadım aga ItemEdit eklentisini kullanırsak skripte ihtiyaç yok mu?
 
Aga konuyu okudum baya detaylı anlatmışsın ama ben full seti giydiğinde ateş direnci vs. vermesini istemiyorum. Sadece durability si değişecek ve repair atıldığında veya enchant basıldığında durability sinin değişmemesini istiyorum.
 
Şimdi olayı tam anlamadım aga ItemEdit eklentisini kullanırsak skripte ihtiyaç yok mu?
itemedit eklentisi sadece eline aldığın eşyaya kolaylıkla custom model data atamanı sağlıyor. İşi yapan şey skript skript olmazsa çalışmaz. Custom model datayı oyun içerisindeki komutlar ile atayabilirsin fakat biraz daha karışık o yüzden bu eklentiyi kullanın diyorum.
 
Aga konuyu okudum baya detaylı anlatmışsın ama ben full seti giydiğinde ateş direnci vs. vermesini istemiyorum. Sadece durability si değişecek ve repair atıldığında veya enchant basıldığında durability sinin değişmemesini istiyorum.
Bugüne kadar öğrendiklerime göre bir eşyanın durabilitysini değiştirmek mümkün değil. Galiba mod gerektiriyor. Ama zırhın diğerlerinden daha yavaş kırılması için eşyaya zırh sertliği ekleyebilirsin. Zırhın daha yavaş kırılmasını sağlar. Fakat bu özellik yeni sürümlerde var yani 1.8 vs. gibi sürümlerde zırh sertliği yok.
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
Zırh sertliği eklemek için attiribute olayını kullanman lazım biraz araştırma ile nasıl yapıldığını bulabilirsin. Hatta rehberde bahsettiğim İtemEdit plugini ile de kolaylıkla yapabilirsin.
 
Kodun anlaşılabilir olması ve ek olarak kodunuzdaki fonksiyonları açıklamanız çok düşünceli bir hareket olmuş. Kendisini geliştirmek isteyen arkadaşlar için ideal bir rehber örneği. İleriki zamanlarda farklı rehberlerinizi de görmek isteriz :;p​
 
Kodun anlaşılabilir olması ve ek olarak kodunuzdaki fonksiyonları açıklamanız çok düşünceli bir hareket olmuş. Kendisini geliştirmek isteyen arkadaşlar için ideal bir rehber örneği. İleriki zamanlarda farklı rehberlerinizi de görmek isteriz :;p​
Değerli yorumun için çok teşekkür ederim :<3:
 
Güzel bir konu ilerde Lazım Olabilir. teşekürler
 
Sunucum için böyle bir şey arıyodum,ellerine sağlık işimi gördü.
 
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

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

Ellerinize sağlık, skripte yeni başlayanlar için çok faydalı
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst