Skripti kısaltıp daha verimli bir şekle sokamadım. Tek bir kod üzerinden 5 basamak yönetmek ?

ZsCraft

Kızıltaş Madencisi
Mesajlar
525
En iyi cevaplar
0
Beğeniler
77
Puanları
240
Skript şu şekilde;

Kod:
Options:
    AteşTopuSüre-1: 10 seconds
    AteşTopuGSüre-1: 2 second
    AteşTopuHız-1: 0.5

    AteşTopuSüre-2: 5 seconds
    AteşTopuGSüre-2: 1 seconds
    AteşTopuHız-2: 2


on rightclick with paper:
    player is holding paper of unbreaking 1 named "&aAteş Topu" with lore "Yanan bir top fırlatırsınız." and "&cBekleme Süresi: {@AteşTopuSüre-1}, {@AteşTopuSüre-2}" and "&cGerçekleştirme Süresi: {@AteşTopuGSüre-1}, {@AteşTopuGSüre-2}" and "&cHız: {@AteşTopuHız-1}, {@AteşTopuHız-2}" and " " and "&8&oBir zamanların göz alıcı büyüsü...":
        if {basit.dil.%player%} is set:

            if {basit.dil.seviye.%player%} is 1:

                if {büyü.gerçekleştirilmiyorsa.%player%} is not set:
                    set {_bekle.ateştopu.%player%} to difference between {cd.ateştopu.%player%} and now
                    if {_bekle.ateştopu.%player%} is less than {@AteşTopuSüre-1}:
                        message "&c- Büyü %difference between {@AteşTopuSüre-1} and {_bekle.ateştopu.%player%}% sonra aktif olacak!"
                        stop
                    set {cd.ateştopu.%player%} to now
                    set {büyü.gerçekleştirilmiyorsa.%player%} to 1
                    send "bilmem ne efektleri" to player
                    wait {@AteşTopuGSüre-1}
                    delete {büyü.gerçekleştirilmiyorsa.%player%}
                    shoot a fireball from the player at speed {@AteşTopuHız-1}
                else:
                    send "&cBir büyü gerçekleştirirken başka bir büyü yapamazsın!" to player
                    stop

            if {basit.dil.seviye.%player%} is 2:

                if {büyü.gerçekleştirilmiyorsa.%player%} is not set:
                    set {_bekle.ateştopu.%player%} to difference between {cd.ateştopu.%player%} and now
                    if {_bekle.ateştopu.%player%} is less than {@AteşTopuSüre-2}:
                        message "&c- Büyü %difference between {@AteşTopuSüre-2} and {_bekle.ateştopu.%player%}% sonra aktif olacak!"
                        stop
                    set {cd.ateştopu.%player%} to now
                    set {büyü.gerçekleştirilmiyorsa.%player%} to 1
                    send "bilmem ne efektleri" to player
                    wait {@AteşTopuGSüre-2}
                    delete {büyü.gerçekleştirilmiyorsa.%player%}
                    shoot a fireball from the player at speed {@AteşTopuHız-2}
                else:
                    send "&cBir büyü gerçekleştirirken başka bir büyü yapamazsın!" to player
                    stop
        else:
            send "&cBasit dili bilmiyorsun !" to player

Bu skripti tek bir yerden yönetmek istedim, fonksiyonlar kullanarak. Maalesef başaramadım. Tek bir satırdan bir büyünün basamaklarını kontrol edebilsem çok güzel olurdu. Çünkü zor dilde 5 basamak olacak ve bir büyünün 5 basamağını böyle satır satır tekrar yazarsam sunucu kafayı yer. Ki zor dilde haliyle farklı büyüler olacağından uzun satırlar olacak. Zaten her basamak için değiştireceğim bir kaç değer ve efekt renkleri olacak. Yardımınız için şimdiden teşekkürlerimi sunuyorum.
 


Axel102

Hayalet Avcısı
Mesajlar
2,564
En iyi cevaplar
6
Beğeniler
1,002
Puanları
3,390
çok uzun yapılmak isteneni çok kısa anlatın yardımcı olayım
 

ZsCraft

Kızıltaş Madencisi
Mesajlar
525
En iyi cevaplar
0
Beğeniler
77
Puanları
240
(basit. dil. seviye) is 1 ve is 2 kısımları var ya, onları böyle alt alta yazıp skripiti uzatmak istemiyorum. Bir yerde ateş fırlatma kodu yazmalı ve benim tek yapmam gereken değerleri değiştirmek olmalı, fonksiyonlarda bu özellik vardı aslında, uzun bir kodu farklı yerlerde farklı değerlerde kullanmak istiyorsak fonksiyonları kullanıyorduk. ama bu kodu fonksiyona işleyemedim. bu konuda yardım lazım
 

Axel102

Hayalet Avcısı
Mesajlar
2,564
En iyi cevaplar
6
Beğeniler
1,002
Puanları
3,390
(basit. dil. seviye) is 1 ve is 2 kısımları var ya, onları böyle alt alta yazıp skripiti uzatmak istemiyorum. Bir yerde ateş fırlatma kodu yazmalı ve benim tek yapmam gereken değerleri değiştirmek olmalı, fonksiyonlarda bu özellik vardı aslında, uzun bir kodu farklı yerlerde farklı değerlerde kullanmak istiyorsak fonksiyonları kullanıyorduk. ama bu kodu fonksiyona işleyemedim. bu konuda yardım lazım
Kod:
#Function
function fire(p: player, seviye: integer, hiz: integer):
 shoot fireball from {_p} at speed {_hiz}
 message "&6%{_seviye}% seviye " to {_p}
 

ZsCraft

Kızıltaş Madencisi
Mesajlar
525
En iyi cevaplar
0
Beğeniler
77
Puanları
240
bekleme sürelerini ayarlayabileceğim şekilde nasıl halledebilirim? 2.seviyede daha düşük bir bekleme süresine sahip olmalı, bu kısımda takılıyorum hep
 

blueybighat

Marangoz
Mesajlar
41
En iyi cevaplar
3
Beğeniler
10
Puanları
330
function fire(p: player, seviye: integer, hiz: integer , s: timespan):
sonra {_s} i kullanabilirsin
 

Üst