Çözüldü Küçük Bir Skript Sorusu

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

YunusB3Y

Sevgiler, Saygılar Blaze Bey
Katılım
14 Mayıs 2018
Mesajlar
1.361
Elmaslar
309
Puan
0
Minecraft
YunsBEY

Discord:

@๖̶̶̶ۣۣۜۜ͜ζ͜͡ GamingPro#5857

Merhaba MC-TR ailesi ben MC-TR de paylaşacaım kapsamlı bir market skripti hazırlıyordum fakat karşıma ufak bir hata çıktı.

Hata şu attığım kodda /alma yazıp bir eşya alınca oyuncuda para olup olmadığını kontrol etmiyor direk eşyayı veriyor ve parası yoksa - ye çekiyor.

Kod;
Kod:
command /alma [<text>] [<player>] [<number>] [<text>] [<number>]:
    trigger:
        if arg-1 is not set:
        open virtual chest with size 6 named "Market" to player
        make gui slot 0 of player with grass named "&EÇimen" to close then run player command "alma-satma"
        make gui slot 3 of player with stone named "&CYakında" to close then run player command "alma 1 %player% 100 stone 1"
        make gui slot 53 of player with paper named "&cSonraki Sayfa" to close then run player command "alma2"
        if arg-1 is "1":
            if player's money is greater than arg-3:
            execute console command "give %arg 2% %arg 4% %arg 5%"
            send player title "&a&lBaşarılı" with subtitle "&7%arg 5% Adet %arg 4% Aldın!" for 2 second
            set action bar of player to "&4&l» &2Başarılı &4&l«"
            execute console command "eco take %arg 2% %arg 3%"
            else:
                send player title "&4&lBaşarısız" with subtitle "&7Yeterli paranız bulunmamakta!" for 2 second

Yardım eden arkadaşlara çok teşekkür ederim.
 
Kod:
command /alma [<text>] [<player>] [<number>] [<text>] [<number>]:
    trigger:
        if arg-1 is not set:
        open virtual chest with size 6 named "Market" to player
        make gui slot 0 of player with grass named "&EÇimen" to close then run player command "alma-satma"
        make gui slot 3 of player with stone named "&CYakında" to close then run player command "alma 1 %player% 100 stone 1"
        make gui slot 53 of player with paper named "&cSonraki Sayfa" to close then run player command "alma2"
        if arg-1 is "1":
            if player's money is greater than arg-3:
                execute console command "give %arg 2% %arg 4% %arg 5%"
                send player title "&a&lBaşarılı" with subtitle "&7%arg 5% Adet %arg 4% Aldın!" for 2 second
                set action bar of player to "&4&l» &2Başarılı &4&l«"
                execute console command "eco take %arg 2% %arg 3%"
            else:
                send player title "&4&lBaşarısız" with subtitle "&7Yeterli paranız bulunmamakta!" for 2 second

Böyle Denermisin ? Galiba Boşlukları Ayarlamadığından Kaynaklı Olabilir. - Ye Çekme Sorunu ise if Komutundan sonra boşluklu bir komut gelmediğinden alttaki komutları direk uygular,Parası olmasa bile parasından belli bir parayı eksilttiğinden - ye düşer.
 
Merhaba MC-TR ailesi ben MC-TR de paylaşacaım kapsamlı bir market skripti hazırlıyordum fakat karşıma ufak bir hata çıktı.

Hata şu attığım kodda /alma yazıp bir eşya alınca oyuncuda para olup olmadığını kontrol etmiyor direk eşyayı veriyor ve parası yoksa - ye çekiyor.

Kod;
Kod:
command /alma [<text>] [<player>] [<number>] [<text>] [<number>]:
    trigger:
        if arg-1 is not set:
        open virtual chest with size 6 named "Market" to player
        make gui slot 0 of player with grass named "&EÇimen" to close then run player command "alma-satma"
        make gui slot 3 of player with stone named "&CYakında" to close then run player command "alma 1 %player% 100 stone 1"
        make gui slot 53 of player with paper named "&cSonraki Sayfa" to close then run player command "alma2"
        if arg-1 is "1":
            if player's money is greater than arg-3:
            execute console command "give %arg 2% %arg 4% %arg 5%"
            send player title "&a&lBaşarılı" with subtitle "&7%arg 5% Adet %arg 4% Aldın!" for 2 second
            set action bar of player to "&4&l» &2Başarılı &4&l«"
            execute console command "eco take %arg 2% %arg 3%"
            else:
                send player title "&4&lBaşarısız" with subtitle "&7Yeterli paranız bulunmamakta!" for 2 second

Yardım eden arkadaşlara çok teşekkür ederim.
Hatan şu ":" koyduktan sonra 1 tab basman gerekir alt satıra geçince ve if player's money is greater than yerine daha kısa olarak if player's balance|money > arg-3:yapacaksın ve else ile kontrol edeceksin tam kod;
Kod:
command /alma [<text>] [<player>] [<number>] [<text>] [<number>]:
    trigger:
        if arg-1 is not set:
        open virtual chest with size 6 named "Market" to player
        make gui slot 0 of player with grass named "&EÇimen" to close then run player command "alma-satma"
        make gui slot 3 of player with stone named "&CYakında" to close then run player command "alma 1 %player% 100 stone 1"
        make gui slot 53 of player with paper named "&cSonraki Sayfa" to close then run player command "alma2"
        if arg-1 is "1":
            if player's balance > arg-3:
                execute console command "give %arg 2% %arg 4% %arg 5%"
                send player title "&a&lBaşarılı" with subtitle "&7%arg 5% Adet %arg 4% Aldın!" for 2 second
                set action bar of player to "&4&l» &2Başarılı &4&l«"
                remove arg-3 from player's balance
            else:
                send player title "&4&lBaşarısız" with subtitle "&7Yeterli paranız bulunmamakta!" for 2 second
ve skript ile yapıyor isen eco take yapmana gerek yok skriptin özelliklerini kullanmalısın yani remove arg-3 from player balance|money ya da eklemek için add 1 to player's balance|money
 
Son düzenleme:
Hatan şu ":" koyduktan sonra 1 tab basman gerekir alt satıra geçince ve if player's money is greater than yerine daha kısa olarak if player's balance|money > arg-3 yapacaksın ve else ile kontrol edeceksin tam kod;
Kod:
command /alma [<text>] [<player>] [<number>] [<text>] [<number>]:
    trigger:
        if arg-1 is not set:
        open virtual chest with size 6 named "Market" to player
        make gui slot 0 of player with grass named "&EÇimen" to close then run player command "alma-satma"
        make gui slot 3 of player with stone named "&CYakında" to close then run player command "alma 1 %player% 100 stone 1"
        make gui slot 53 of player with paper named "&cSonraki Sayfa" to close then run player command "alma2"
        if arg-1 is "1":
            if player's money is greater than arg-3:
                execute console command "give %arg 2% %arg 4% %arg 5%"
                send player title "&a&lBaşarılı" with subtitle "&7%arg 5% Adet %arg 4% Aldın!" for 2 second
                set action bar of player to "&4&l» &2Başarılı &4&l«"
                execute console command "eco take %arg 2% %arg 3%"
            else:
                send player title "&4&lBaşarısız" with subtitle "&7Yeterli paranız bulunmamakta!" for 2 second
ve skript ile yapıyor isen eco take yapmana gerek yok skriptin özelliklerini kullanmalısın yani remove arg-3 from player balance|money ya da eklemek için add 1 to player's balance|money.
Güzel Anlatım :D Ben Sorunu Çözebiliyorum ama Anlatamıyorum İşte.Eline Sağlık
 
Hatan şu ":" koyduktan sonra 1 tab basman gerekir alt satıra geçince ve if player's money is greater than yerine daha kısa olarak if player's balance|money > arg-3:yapacaksın ve else ile kontrol edeceksin tam kod;
Kod:
command /alma [<text>] [<player>] [<number>] [<text>] [<number>]:
    trigger:
        if arg-1 is not set:
        open virtual chest with size 6 named "Market" to player
        make gui slot 0 of player with grass named "&EÇimen" to close then run player command "alma-satma"
        make gui slot 3 of player with stone named "&CYakında" to close then run player command "alma 1 %player% 100 stone 1"
        make gui slot 53 of player with paper named "&cSonraki Sayfa" to close then run player command "alma2"
        if arg-1 is "1":
            if player's balance > arg-3:
                execute console command "give %arg 2% %arg 4% %arg 5%"
                send player title "&a&lBaşarılı" with subtitle "&7%arg 5% Adet %arg 4% Aldın!" for 2 second
                set action bar of player to "&4&l» &2Başarılı &4&l«"
                remove arg-3 from player's balance
            else:
                send player title "&4&lBaşarısız" with subtitle "&7Yeterli paranız bulunmamakta!" for 2 second
ve skript ile yapıyor isen eco take yapmana gerek yok skriptin özelliklerini kullanmalısın yani remove arg-3 from player balance|money ya da eklemek için add 1 to player's balance|money

Teşekkürler deneyeceğim. Ama remove ile yapınca arg-3 ü hata olarak verdi bende böyle bir şey yaptım.

Birde şöyle bir şey fark ettim belki oyuncuda tam 100 TL vardır ama arg 3 de 100 olunca 101 TL istiyor arg-3 - 1 i

(arg-3 - 1) olarak yapıcak değil mi?
 
Bu skripti böyle yaparsan binlerce satır olur haberin olsun. Ayrıca bu skripti kullanıcak biri için fiyatları düzenlemesi saatler alır. Yaml kullan bence.
 
Bu skripti böyle yaparsan binlerce satır olur haberin olsun. Ayrıca bu skripti kullanıcak biri için fiyatları düzenlemesi saatler alır. Yaml kullan bence.

Mantığın doğru evet ama ben function kullandım alım dışında alımda function kullanınca para kısmı sıkıntıya giriyor. Uzunluk kısmını komutlar çok uzun değil ama eşyalar uzatıcaz Eşyaları da Options ile yapmayı düşünüyorum.
 
Teşekkürler deneyeceğim. Ama remove ile yapınca arg-3 ü hata olarak verdi bende böyle bir şey yaptım.

Birde şöyle bir şey fark ettim belki oyuncuda tam 100 TL vardır ama arg 3 de 100 olunca 101 TL istiyor arg-3 - 1 i

(arg-3 - 1) olarak yapıcak değil mi?
peki hocam, eğer oyuncu oyuna komut olarak, alma 1 kingOf0 1 stone 1
yazarsa ne olacak?
bunu düşünmen gerek.
Ayrıca yukarıdaki arkadaşımız doğru söylüyor bu şekilde bu skripti yazamazsın.
 
peki hocam, eğer oyuncu oyuna komut olarak, alma 1 kingOf0 1 stone 1
yazarsa ne olacak?
bunu düşünmen gerek.
Ayrıca yukarıdaki arkadaşımız doğru söylüyor bu şekilde bu skripti yazamazsın.

Market guli olucak ve 1 yazma olmayacak çünkü konsoldan player e komut yazdıracak. Uzun da olmayacak çünkü sadece alış ı böyle yaptım. Geri kalanı function ve player li.

Aslında kodlar kısa ama marketteki satılan ve alınan eşyalar uzatacak.

Paylaşınca hak vereceksin zaten :)

Bu blokları kısaltma olayı nası olucak bir bulamadım. Sizce nasıl olmalı?
 
Market guli olucak ve 1 yazma olmayacak çünkü konsoldan player e komut yazdıracak. Uzun da olmayacak çünkü sadece alış ı böyle yaptım. Geri kalanı function ve player li.

Aslında kodlar kısa ama marketteki satılan ve alınan eşyalar uzatacak.

Paylaşınca hak vereceksin zaten :)

Bu blokları kısaltma olayı nası olucak bir bulamadım. Sizce nasıl olmalı?

Şu konuya göz atmanı öneririm TIKLA VE UÇ. (adamın ne yaptığını bende anlamadım ama belki sen anlarsın :D)
 
Şu konuya göz atmanı öneririm TIKLA VE UÇ. (adamın ne yaptığını bende anlamadım ama belki sen anlarsın :D)

Teşekkürler ama bu görev için yapılmış bir skript adonu.

Yaml yapsam bile her eşya için bir yaml oluşacağı için 1 satıra denk gelecek ki buda aynı sonucu verir.

Birde anlamamışsın ama yorum süper yazmışsın :), alemsin ya.
 
Teşekkürler ama bu görev için yapılmış bir skript adonu.

Yaml yapsam bile her eşya için bir yaml oluşacağı için 1 satıra denk gelecek ki buda aynı sonucu verir.

Birde anlamamışsın ama yorum süper yazmışsın :), alemsin ya.

İşte biraz incelesen her eşya için 1 satır harcamayacağını anlardın :D

Görev için ama kendine göre uyarlayabilirsin.
 
İşte biraz incelesen her eşya için 1 satır harcamayacağını anlardın :D

Görev için ama kendine göre uyarlayabilirsin.

Zaten ben onu inceledim. Mantığını da anladım ama diyorum ki bunu kullanmam işime yaramaz eğer diğer türlü yaml yaparsam satır harcarım.

Kendime göre uyarlayamama çünkü 1 eşyayı almadan 2. Eşyaya geçmiyor bariyer olarak bösteriyor ve gerekenler kill block kırma veya eşya var para yok.

Sen yapabilirsin diyor isen anlat da dinleyeyim.
 
Zaten ben onu inceledim. Mantığını da anladım ama diyorum ki bunu kullanmam işime yaramaz eğer diğer türlü yaml yaparsam satır harcarım.

Kendime göre uyarlayamama çünkü 1 eşyayı almadan 2. Eşyaya geçmiyor bariyer olarak bösteriyor ve gerekenler kill block kırma veya eşya var para yok.

Sen yapabilirsin diyor isen anlat da dinleyeyim.

Uyarlamak derken oradan örnek alarak yapabilirsin bence. YAML'a yeni görev ekledikçe skriptin onu algılayabilmesini yapmış. Sen ise item ekledikçe skriptin algılamasını sağlaman lazım. Bence yaparsın biraz uğraşman gerek sadece. (ben yapamam ama)
 
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