Sol Reklam

kelamihdk

Odunlara Vur Vur Vur!
Katılım
24 Mart 2017
Mesajlar
41
Elmaslar
4
Puanlar
6.210
Yaş
27
Arkadaşlar bir rank skripti yazdım. her şey sağlam gidiyor. Ancak ben placeholder api kullanıyorum ve orda %statistic_mob_kills% yazınca kullanıcının kaç mob öldürdüğü çıkıyor bende bir if koşuluyla örneğin rütbe atlamak için şu kadar mob öldürmelisin yazmak istiyorum ama skript plugini placeholderi okumuyor %statistic_mob_kills% yazınca o satır okunmadan geçiyor ne yapmalıyım acaba ? Bu arada skript içinde %player% yazınca ismim vs çıkıyor.

SÜRÜM 1.16.4
 

kelamihdk

Odunlara Vur Vur Vur!
Katılım
24 Mart 2017
Mesajlar
41
Elmaslar
4
Puanlar
6.210
Yaş
27
aga kimse bilmiyo mu ne yapılması gerektiğini
 

TeamXio Project

Zombi Geldi, Beni Yedi

Discord:

.ardyy (Ardyy)

Katılım
12 Mayıs 2021
Mesajlar
242
Elmaslar
144
Puanlar
2.770
Yer
Türkiye, İstanbul
Minecraft
Oasis
aga kimse bilmiyo mu ne yapılması gerektiğini
Bir yolu var. Hatta kendi yazdığım skriptlerimde bu özelliği kullanarak kendime bir PlaceHolder oluşturmuştum.

Oluşturmak için öncelikle skript-placeholders eklentisine ihtiyacın var. Bunu yükleyip sunucuna at. Kendisi kurulur ve dosyası falan da gelmez yani hata oluşmaz.

Bunun için gerekli kod ise şu:

Kod:
on placeholderapi placeholder request for the prefix "statisticmobkills":
    if the identifier is "player":
        set the result to "%{statisticmobkills::%player%}%"

Bu kodu yaptığın skriptin en üst satırına yapıştır.

Ancak bunu yapmadan önce öldürme variable'ını yani "statistic_mob_kills" değişkenini "{statisticmobkills::%player%}" olarak ayarlamalısın.

Daha sonra ise bunu nereye kaydetmek istiyorsan oraya "%statisticmobkills_player%" yazacaksın.
 

kelamihdk

Odunlara Vur Vur Vur!
Katılım
24 Mart 2017
Mesajlar
41
Elmaslar
4
Puanlar
6.210
Yaş
27
Bir yolu var. Hatta kendi yazdığım skriptlerimde bu özelliği kullanarak kendime bir PlaceHolder oluşturmuştum.

Oluşturmak için öncelikle skript-placeholders eklentisine ihtiyacın var. Bunu yükleyip sunucuna at. Kendisi kurulur ve dosyası falan da gelmez yani hata oluşmaz.

Bunun için gerekli kod ise şu:

Kod:
on placeholderapi placeholder request for the prefix "statisticmobkills":
    if the identifier is "player":
        set the result to "%{statisticmobkills::%player%}%"

Bu kodu yaptığın skriptin en üst satırına yapıştır.

Ancak bunu yapmadan önce öldürme variable'ını yani "statistic_mob_kills" değişkenini "{statisticmobkills::%player%}" olarak ayarlamalısın.

Daha sonra ise bunu nereye kaydetmek istiyorsan oraya "%statisticmobkills_player%" yazacaksın.
sanırım bi hata yapıyorum olmuyor. kodumu atayım bir bakın...
variables:
statistic_mob_kills = {statisticmobkills::%player%}

on placeholderapi placeholder request for the prefix "statisticmobkills":
if the identifier is "player":
set the result to "%{statisticmobkills::%player%}%"

command /kodudeneyelim:
trigger:
send "%statisticmobkills_player% tane mob öldürdün" to player
 

TeamXio Project

Zombi Geldi, Beni Yedi

Discord:

.ardyy (Ardyy)

Katılım
12 Mayıs 2021
Mesajlar
242
Elmaslar
144
Puanlar
2.770
Yer
Türkiye, İstanbul
Minecraft
Oasis
sanırım bi hata yapıyorum olmuyor. kodumu atayım bir bakın...
Direkt olarak kodun da hata var ve ben PlaceHolder olarak attım sana. Sen send olarak göndereceksen şu kodu kendi kodunla değiştirmelisin.

Kod:
variables:
    {mobkills::%player%} = 0
  
command /test:
    trigger:
        send "Şuana kadar %{mobkills::%player%}% canlı öldürdün!"
      
on death:
    if attacker is player:
        add 1 to {mobkills::%attacker%}
        send "Öldürdüğün canlı istatistiklerine eklendi." #Burayı istersen silebilirsin.

Kodun aslında bu şekilde olmalı. Ben yanlış anlamışım. Ben sandım ki TitleManager'a fln yansıtıcaksın. Eğer öyle yapacaksan kodu da TitleManager'a şu şekilde yazıcaksın.

Kod:
- 'Canlı Öldürme: %skript_mobkills::{player}%'

Hemen arkasından da sunucu içerisindeyken şu komutları gir:

Kod:
- /papi ecloud download Skript

- /papi reload
 

kelamihdk

Odunlara Vur Vur Vur!
Katılım
24 Mart 2017
Mesajlar
41
Elmaslar
4
Puanlar
6.210
Yaş
27
Direkt olarak kodun da hata var ve ben PlaceHolder olarak attım sana. Sen send olarak göndereceksen şu kodu kendi kodunla değiştirmelisin.

Kod:
variables:
    {mobkills::%player%} = 0
 
command /test:
    trigger:
        send "Şuana kadar %{mobkills::%player%}% canlı öldürdün!"
     
on death:
    if attacker is player:
        add 1 to {mobkills::%attacker%}
        send "Öldürdüğün canlı istatistiklerine eklendi." #Burayı istersen silebilirsin.

Kodun aslında bu şekilde olmalı. Ben yanlış anlamışım. Ben sandım ki TitleManager'a fln yansıtıcaksın. Eğer öyle yapacaksan kodu da TitleManager'a şu şekilde yazıcaksın.

Kod:
- 'Canlı Öldürme: %skript_mobkills::{player}%'

Hemen arkasından da sunucu içerisindeyken şu komutları gir:

Kod:
- /papi ecloud download Skript

- /papi reload
Yanıtınız için çok teşekkür ederim çalıştı bunu kullanırım ama ilk başta demek istediğim şuydu şimdi placeholderapi içindeki placeholderleri direkt olarak send "%statistic_mob_kill" olarak yazamıyor muyuz yani skriptlere direkt olarak placeholderapiden bazı şeylre eklemek istiyorum mesela oyuncunun rütbe atlayabilmesi için 50 mob öldürmesi gerekiyor if %statistic_mob_kill% is greater than or equal to 50 yazarak direkt olarak kullanmak istiyorum veya rütbe atlayabilmek için oyunda 2 saat geçirmiş olması gerek placeholderapide oyuncunun süresini tutan %time% diye bir şey vardı galiba bunları direkt olarak kullanmamın bir yolu yok mu ?
 

TeamXio Project

Zombi Geldi, Beni Yedi

Discord:

.ardyy (Ardyy)

Katılım
12 Mayıs 2021
Mesajlar
242
Elmaslar
144
Puanlar
2.770
Yer
Türkiye, İstanbul
Minecraft
Oasis
Yanıtınız için çok teşekkür ederim çalıştı bunu kullanırım ama ilk başta demek istediğim şuydu şimdi placeholderapi içindeki placeholderleri direkt olarak send "%statistic_mob_kill" olarak yazamıyor muyuz yani skriptlere direkt olarak placeholderapiden bazı şeylre eklemek istiyorum mesela oyuncunun rütbe atlayabilmesi için 50 mob öldürmesi gerekiyor if %statistic_mob_kill% is greater than or equal to 50 yazarak direkt olarak kullanmak istiyorum veya rütbe atlayabilmek için oyunda 2 saat geçirmiş olması gerek placeholderapide oyuncunun süresini tutan %time% diye bir şey vardı galiba bunları direkt olarak kullanmamın bir yolu yok mu ?
Yani şöyle ki eğer skript kodlarının içerisine %statistic_mob_kill% olarak yazmak isteseniz ve placeholder oluştursanız bile bunu yine de kodların içerisinde {statistic_mob_kill::%player%} olarak belirtmek zorundasınız. Oluşturduğunuz PlaceHolders skriptin içine mutlaka normal hali ile yazılır. Sadece dışa aktarmak isterseniz örneğin TitleManager gibi başka bir plugine yansıtmak isterseniz %statistic_mob_kill% olarak yansıtabilirsiniz.

Kısacası dediğiniz şey o şekilde olmuyor maalesef :(

Ayrıca rütbe atlayabilmesi için 50 öldürme gerekiyor ise onu yine böyle kullanmanız şart:

Kod:
command /rütbeatla:
    trigger:
        if {mobkills::%player%} is greater than or equal to 50:
            send "Rütbe atladın!"
        else:
            send "Yetersiz öldürme puanı."
 

kelamihdk

Odunlara Vur Vur Vur!
Katılım
24 Mart 2017
Mesajlar
41
Elmaslar
4
Puanlar
6.210
Yaş
27
Yani şöyle ki eğer skript kodlarının içerisine %statistic_mob_kill% olarak yazmak isteseniz ve placeholder oluştursanız bile bunu yine de kodların içerisinde {statistic_mob_kill::%player%} olarak belirtmek zorundasınız. Oluşturduğunuz PlaceHolders skriptin içine mutlaka normal hali ile yazılır. Sadece dışa aktarmak isterseniz örneğin TitleManager gibi başka bir plugine yansıtmak isterseniz %statistic_mob_kill% olarak yansıtabilirsiniz.

Kısacası dediğiniz şey o şekilde olmuyor maalesef :(

Ayrıca rütbe atlayabilmesi için 50 öldürme gerekiyor ise onu yine böyle kullanmanız şart:

Kod:
command /rütbeatla:
    trigger:
        if {mobkills::%player%} is greater than or equal to 50:
            send "Rütbe atladın!"
        else:
            send "Yetersiz öldürme puanı."
Peki teşekkür ederim yanıtlarınız için
 

TeamXio Project

Zombi Geldi, Beni Yedi

Discord:

.ardyy (Ardyy)

Katılım
12 Mayıs 2021
Mesajlar
242
Elmaslar
144
Puanlar
2.770
Yer
Türkiye, İstanbul
Minecraft
Oasis

kelamihdk

Odunlara Vur Vur Vur!
Katılım
24 Mart 2017
Mesajlar
41
Elmaslar
4
Puanlar
6.210
Yaş
27

ReMaKeR

Odunlara Vur Vur Vur!

Discord:

Otto Apocalypse.#4226

Katılım
3 Haziran 2015
Mesajlar
38
Elmaslar
15
Puanlar
13.475
Minecraft
xWestLC
Son kez birde bu yaptığım rank skriptinde oyuncuların rütbe atlayabilmesi için 2 saat oynamış olmaları gerekiyor bunu nasıl ayarlayabilirim skript içinde ?
OnTime tarzında çalışan, fazladan bir eklentin var mı?

Yoksa, Skript içinde bir OnTime kodu hazırlayabilir, üstteki kodla birleştirebilirim?

Düzenleme: Skript isteyeceğini varsayarak kodu tamamladım, buyur:

PHP:
variables:
    {süre.%player%.saniye} = 0
    {süre.%player%.dakika} = 0
    {süre.%player%.saat} = 0
    {süre.%player%.gün} = 0

join:
    while player is online:
        {süre.%player%.saniye} <= 59:
            add 1 to {süre.%player%.saniye}
            {süre.%player%.saniye} = 60:
                set {süre.%player%.saniye} to 0
                add 1 to {süre.%player%.dakika}
        {süre.%player%.dakika} = 60:
            set {süre.%player%.dakika} to 0
            add 1 to {süre.%player%.saat}
        {süre.%player%.saat} = 24:
            set {süre.%player%.saat} to 0
            add 1 to {süre.%player%.gün}
        wait a second

command /rütbeatla:
    trigger:
        {süre.%player%.gün} >= 1:
            {mobkills::%player%} is greater than or equal to 50:
                send "Rütbe atladın!"
            else:
                send "Yetersiz öldürme puanı."
        else if {süre.%player%.gün} = 0:
            {süre.%player%.saat} < 2:
                send "Rütbe atlamak için oyunda en az 2 saat bulunmalısınız."
                stop
            else:
                {mobkills::%player%} is greater than or equal to 50:
                    send "Rütbe atladın!"
                else:
                    send "Yetersiz öldürme puanı."
        
command /süre:
    trigger:
        send "&d%{süre.%player%.gün}% &aGün, &d%{süre.%player%.saat}% &aSaat, &d%{süre.%player%.dakika}% &aDakika ve &d%{süre.%player%.saniye}% &asaniyedir &eoyundasın."
 
Son düzenleme:

kelamihdk

Odunlara Vur Vur Vur!
Katılım
24 Mart 2017
Mesajlar
41
Elmaslar
4
Puanlar
6.210
Yaş
27
OnTime tarzında çalışan, fazladan bir eklentin var mı?

Yoksa, Skript içinde bir OnTime kodu hazırlayabilir, üstteki kodla birleştirebilirim?

Düzenleme: Skript isteyeceğini varsayarak kodu tamamladım, buyur:

PHP:
variables:
    {süre.%player%.saniye} = 0
    {süre.%player%.dakika} = 0
    {süre.%player%.saat} = 0
    {süre.%player%.gün} = 0

join:
    while player is online:
        {süre.%player%.saniye} <= 59:
            add 1 to {süre.%player%.saniye}
            {süre.%player%.saniye} = 60:
                set {süre.%player%.saniye} to 0
                add 1 to {süre.%player%.dakika}
        {süre.%player%.dakika} = 60:
            set {süre.%player%.dakika} to 0
            add 1 to {süre.%player%.saat}
        {süre.%player%.saat} = 24:
            set {süre.%player%.saat} to 0
            add 1 to {süre.%player%.gün}
        wait a second

command /rütbeatla:
    trigger:
        {süre.%player%.gün} >= 1:
            {mobkills::%player%} is greater than or equal to 50:
                send "Rütbe atladın!"
            else:
                send "Yetersiz öldürme puanı."
        else if {süre.%player%.gün} = 0:
            {süre.%player%.saat} < 2:
                send "Rütbe atlamak için oyunda en az 2 saat bulunmalısınız."
                stop
            else:
                {mobkills::%player%} is greater than or equal to 50:
                    send "Rütbe atladın!"
                else:
                    send "Yetersiz öldürme puanı."
       
command /süre:
    trigger:
        send "&d%{süre.%player%.gün}% &aGün, &d%{süre.%player%.saat}% &aSaat, &d%{süre.%player%.dakika}% &aDakika ve &d%{süre.%player%.saniye}% &asaniyedir &eoyundasın."
Agalar çok teşekkür ederim ben bu forumu çok sevdim çok sağolun hepiniz çok yardımcı oldunuz. Sizin sayenizde serverimi yaptım. Foruma 2017de üye oldum ama ilk kez bu sıralar kullanmaya başladım.
 

TeamXio Project

Zombi Geldi, Beni Yedi

Discord:

.ardyy (Ardyy)

Katılım
12 Mayıs 2021
Mesajlar
242
Elmaslar
144
Puanlar
2.770
Yer
Türkiye, İstanbul
Minecraft
Oasis
Agalar çok teşekkür ederim ben bu forumu çok sevdim çok sağolun hepiniz çok yardımcı oldunuz. Sizin sayenizde serverimi yaptım. Foruma 2017de üye oldum ama ilk kez bu sıralar kullanmaya başladım.
Birşey değil ne demek :)
 
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı