Çözüldü Survival Seviye sistemi

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

Tobi

"No one cared who I was until I put on the mask."
Katılım
15 Mayıs 2016
Mesajlar
353
Elmaslar
141
Puan
13.980
Sunucuma eklemek istediğim şöyle bir sistem var;
Oyuncu Tarım, Yaratık, Hayvan ve Oyuncu öldürmelere göre Seviye xp kazanıcak ve diyelim 1. seviyeden 2.'ye geçmek için 100 xp 2. seviyeden 3. seviyeye geçmek için 200 xp gibi artıcak ve her seviye atladığında konsoldan anahtar verilecek. /levelim yazınca leveli gözükecek, diğer seviyeye kalan xp'sini gösterecek ve ayrıca admin komutları olmasını istiyorum mesela /level-admin ekle sil sıfırla gibi şimdiden teşekkür ederim.
 
Kod:
variables:
    {exp::%player%} = 0
    {seviye::%player%} = 0

options:#seviyeler için gereken exp miktarlarını yazınız
    seviye1:  100
    seviye2:  300
    seviye3:  600
    tarimexp:  3#oyuncu hasat başına kaç exp alsın?
    killexp:  5#oyuncu kill başına kaç exp alsın?

on join:
    if {seviye::%player%} is not set:
        set {seviye::%player%} to 0
    if {exp::%player%} is not set:
        set {exp::%player%} to 0
    
command /seviyeatla:
    trigger:
        if {seviye::%player%} is 0:
            if {exp::%player%} is bigger than or equal to {@seviye1}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 1 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 1:
            if {exp::%player%} is bigger than or equal to {@seviye2}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 2 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 2:
            if {exp::%player%} is bigger than or equal to {@seviye3}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 3 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        
command /levelim:
    trigger:
        send "&7Senin seviyen: &a%{seviye::%player%}%" to player

command /exp [<text>] [<offlineplayer>] [<int>]:
    trigger:
        if player is op:
            if arg 1 is set:
                if arg 1 is "ekle":
                    if arg 2 is set:
                        if arg 3 is set:
                            add arg 3 to {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncuya &c%arg 3% &7exp eklendi. Toplam: &c%{exp::%arg 2%}" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "çıkar" or "sil":
                    if arg 2 is set:
                        if arg 3 is set:
                            remove arg 3 from {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncudan &c%arg 3% &7exp silindi. Toplam: &c%{exp::%arg 2%}" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "sıfırla":
                    if arg 2 is set:
                        set {exp::%arg 2%} to 0
                        set {seviye::%arg 2%} to 0
                else:
                    send "&7/exp ekle/çıkar/sıfırla" to player
                            

on death:
    if attacker is a player:
        add {@killexp} to {exp::%attacker%}
        set action bar of attacker to "&7Exp: &c%{exp::%attacker%}%"
        execute attacker command "seviyeatla"
        
on break of wheat:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"

on break of carrot_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
        
on break of potato_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
Buyur, işine yarar umarım.
 
Kod:
variables:
    {exp::%player%} = 0
    {seviye::%player%} = 0

options:#seviyeler için gereken exp miktarlarını yazınız
    seviye1:  100
    seviye2:  300
    seviye3:  600
    tarimexp:  3#oyuncu hasat başına kaç exp alsın?
    killexp:  5#oyuncu kill başına kaç exp alsın?

on join:
    if {seviye::%player%} is not set:
        set {seviye::%player%} to 0
    if {exp::%player%} is not set:
        set {exp::%player%} to 0
   
command /seviyeatla:
    trigger:
        if {seviye::%player%} is 0:
            if {exp::%player%} is bigger than or equal to {@seviye1}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 1 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 1:
            if {exp::%player%} is bigger than or equal to {@seviye2}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 2 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 2:
            if {exp::%player%} is bigger than or equal to {@seviye3}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 3 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
       
command /levelim:
    trigger:
        send "&7Senin seviyen: &a%{seviye::%player%}%" to player

command /exp [<text>] [<offlineplayer>] [<int>]:
    trigger:
        if player is op:
            if arg 1 is set:
                if arg 1 is "ekle":
                    if arg 2 is set:
                        if arg 3 is set:
                            add arg 3 to {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncuya &c%arg 3% &7exp eklendi. Toplam: &c%{exp::%arg 2%}" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "çıkar" or "sil":
                    if arg 2 is set:
                        if arg 3 is set:
                            remove arg 3 from {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncudan &c%arg 3% &7exp silindi. Toplam: &c%{exp::%arg 2%}" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "sıfırla":
                    if arg 2 is set:
                        set {exp::%arg 2%} to 0
                        set {seviye::%arg 2%} to 0
                else:
                    send "&7/exp ekle/çıkar/sıfırla" to player
                           

on death:
    if attacker is a player:
        add {@killexp} to {exp::%attacker%}
        set action bar of attacker to "&7Exp: &c%{exp::%attacker%}%"
        execute attacker command "seviyeatla"
       
on break of wheat:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"

on break of carrot_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
       
on break of potato_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
Buyur, işine yarar umarım.
[13:02:52 ERROR]: The percent sign is used for expressions (e.g. %player%). To insert a '%' type it twice: %%. (level.sk, line 48: send "&a%arg 2% &7adlı oyuncuya &c%arg 3% &7exp eklendi. Toplam: &c%{exp::%arg 2%}" to player')
[13:02:52 ERROR]: The percent sign is used for expressions (e.g. %player%). To insert a '%' type it twice: %%. (level.sk, line 57: send "&a%arg 2% &7adlı oyuncudan &c%arg 3% &7exp silindi. Toplam: &c%{exp::%arg 2%}" to player')
[13:02:52 ERROR]: can't understand this event: 'on break of carrot_plants' (level.sk, line 82: on break of carrot_plants:')
[13:02:52 ERROR]: can't understand this event: 'on break of potato_plants' (level.sk, line 88: on break of potato_plants:')
bu hataları verdide hangi eklenti eksik acaba?
 
Kod:
variables:
    {exp::%player%} = 0
    {seviye::%player%} = 0

options:#seviyeler için gereken exp miktarlarını yazınız
    seviye1:  100
    seviye2:  300
    seviye3:  600
    tarimexp:  3#oyuncu hasat başına kaç exp alsın?
    killexp:  5#oyuncu kill başına kaç exp alsın?

on join:
    if {seviye::%player%} is not set:
        set {seviye::%player%} to 0
    if {exp::%player%} is not set:
        set {exp::%player%} to 0
    
command /seviyeatla:
    trigger:
        if {seviye::%player%} is 0:
            if {exp::%player%} is bigger than or equal to {@seviye1}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 1 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 1:
            if {exp::%player%} is bigger than or equal to {@seviye2}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 2 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 2:
            if {exp::%player%} is bigger than or equal to {@seviye3}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 3 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        
command /levelim:
    trigger:
        send "&7Senin seviyen: &a%{seviye::%player%}%" to player

command /exp [<text>] [<offlineplayer>] [<int>]:
    trigger:
        if player is op:
            if arg 1 is set:
                if arg 1 is "ekle":
                    if arg 2 is set:
                        if arg 3 is set:
                            add arg 3 to {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncuya &c%arg 3% &7exp eklendi. Toplam: &c%{exp::%arg 2%}%" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "çıkar" or "sil":
                    if arg 2 is set:
                        if arg 3 is set:
                            remove arg 3 from {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncudan &c%arg 3% &7exp silindi. Toplam: &c%{exp::%arg 2%}%" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "sıfırla":
                    if arg 2 is set:
                        set {exp::%arg 2%} to 0
                        set {seviye::%arg 2%} to 0
                else:
                    send "&7/exp ekle/çıkar/sıfırla" to player

on death:
    if attacker is a player:
        add {@killexp} to {exp::%attacker%}
        set action bar of attacker to "&7Exp: &c%{exp::%attacker%}%"
        execute attacker command "seviyeatla"
        
on break of wheat:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"

on break of carrot_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
        
on break of potato_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
İlk iki hatayı düzelttim.
Skript sürümünüz güncel midir? Değilse güncelleyin sondaki iki hata düzelebilir.
 
Kod:
variables:
    {exp::%player%} = 0
    {seviye::%player%} = 0

options:#seviyeler için gereken exp miktarlarını yazınız
    seviye1:  100
    seviye2:  300
    seviye3:  600
    tarimexp:  3#oyuncu hasat başına kaç exp alsın?
    killexp:  5#oyuncu kill başına kaç exp alsın?

on join:
    if {seviye::%player%} is not set:
        set {seviye::%player%} to 0
    if {exp::%player%} is not set:
        set {exp::%player%} to 0

command /seviyeatla:
    trigger:
        if {seviye::%player%} is 0:
            if {exp::%player%} is bigger than or equal to {@seviye1}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 1 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 1:
            if {exp::%player%} is bigger than or equal to {@seviye2}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 2 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
        else if {seviye::%player%} is 2:
            if {exp::%player%} is bigger than or equal to {@seviye3}:
                add 1 to {seviye::%player%}
                send "&7Seviye atladınız. Yeni seviyeniz: &a%{seviye::%player%}%" to player
                execute console command "cc give p oyuncu 3 %player%"#buraya anahtar verme komudunu yazdım değiştirebilirsiniz
    
command /levelim:
    trigger:
        send "&7Senin seviyen: &a%{seviye::%player%}%" to player

command /exp [<text>] [<offlineplayer>] [<int>]:
    trigger:
        if player is op:
            if arg 1 is set:
                if arg 1 is "ekle":
                    if arg 2 is set:
                        if arg 3 is set:
                            add arg 3 to {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncuya &c%arg 3% &7exp eklendi. Toplam: &c%{exp::%arg 2%}%" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "çıkar" or "sil":
                    if arg 2 is set:
                        if arg 3 is set:
                            remove arg 3 from {exp::%arg 2%}
                            send "&a%arg 2% &7adlı oyuncudan &c%arg 3% &7exp silindi. Toplam: &c%{exp::%arg 2%}%" to player
                        else:
                            send "&7Miktar giriniz."
                    else:
                        send "&7İsim giriniz."
                else if arg 1 is "sıfırla":
                    if arg 2 is set:
                        set {exp::%arg 2%} to 0
                        set {seviye::%arg 2%} to 0
                else:
                    send "&7/exp ekle/çıkar/sıfırla" to player

on death:
    if attacker is a player:
        add {@killexp} to {exp::%attacker%}
        set action bar of attacker to "&7Exp: &c%{exp::%attacker%}%"
        execute attacker command "seviyeatla"
    
on break of wheat:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"

on break of carrot_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
    
on break of potato_plants:
    if the data value of the event-block is 7:
        add {@tarimexp} to {exp::%player%}
        set action bar of player to "&7Exp: &c%{exp::%player%}%"
        execute player command "seviyeatla"
İlk iki hatayı düzelttim.
Skript sürümünüz güncel midir? Değilse güncelleyin sondaki iki hata düzelebilir.
Evet sadece sondaki iki hatayı veriyor şuan.
Ayrıca her öldürmede seviye atlatıyor. (Kendime XP vermişim lakin verdiğimde yazmamıştı ondan dolayıymış sorun.)
Sürümüm güncel ama hangi addonlar gerekiyor bilmiyorum ondan dolayı olabilir mi?
 
Kullandığın addonları atar mısın?
 
potato_plants ve carrot_plants yazan yerleri değiştirmemiz gerekiyor.
Aşağıdaki attığım skripti yükleyin. Sonra büyümüş havuç ve patates hasat edin, gelecek mesajı kullanırız.

Kod:
on break:
    send "%event-item%"
 
potato_plants ve carrot_plants yazan yerleri değiştirmemiz gerekiyor.
Aşağıdaki attığım skripti yükleyin. Sonra büyümüş havuç ve patates hasat edin, gelecek mesajı kullanırız.

Kod:
on break:
    send "%event-item%"
Hataları çözdüm carrot plant ve potato plant olması gerekiyormuş ama xp gelmiyor ve action barda yazmıyor
 
Attığın addonlar action bar kısmına mesaj göndermek için yeterli.
Hasat ettiğiniz şeyin en büyük evrede olduğuna emin misiniz?
Bir de inek veya başka bir mob keserek dener misiniz?
 
Attığın addonlar action bar kısmına mesaj göndermek için yeterli.
Hasat ettiğiniz şeyin en büyük evrede olduğuna emin misiniz?
Bir de inek veya başka bir mob keserek dener misiniz?
Diğer moblarda çalışıyor fakat hasat etmede çalışmıyor
 
Belki data value kısmında hata oluşmuştur, sanmıyorum ama denemek lazım. Az önce yaptığımızı değiştiriyorum, kırdığımız bloğun data value değerini de öğrenelim.

Kod:
on break:
    send "%event-item% - %data value of event-item%"
 
Belki data value kısmında hata oluşmuştur, sanmıyorum ama denemek lazım. Az önce yaptığımızı değiştiriyorum, kırdığımız bloğun data value değerini de öğrenelim.

Kod:
on break:
    send "%event-item% - %data value of event-item%"
data value'si 0 mış hata düzeldi. Sorum olursa discord üzerinden sana ulaşabilir miyim?
 
data value'si 0 mış hata düzeldi. Sorum olursa discord üzerinden sana ulaşabilir miyim?
Sorunun çözülmesine sevindim, konu kilitlenebilir.
Ulaşabilirsin tabii.
Discord Adresim: Reynixan#8044
 
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