[SKRIPT] Görev, mana, seviye! [v1.0]

Epistomoloji

Lapis Toplayıcısı
Mesajlar
1,005
En iyi cevaplar
0
Beğeniler
704
Puanları
0
Merhaba arkadaşlar! Bugün sizlere uzun bir uğraş vererek yapmış olduğum skriptimi tanıtacağım! Skript, içerisinde görev, mana ve seviye sistemi bulunduruyor. Eğer bir eksik, bug falan varsa lütfen bildirin! Arkadaşlar yorumda görüşlerinizi bekliyorum, lütfen görüşlerinizi bildirin.

KOMUTLAR:
# /eşyaver <eşya ismi> - Özel eşyalardan almanızı sağlar.
# /gorev - Görev alma menüsünü açar.
# /oyundurumu - Buradan oyundaki durumunuza bakarsınız. Örnek: Kaç mananız var, kaç paranız var, kaç seviyesiniz gibi.
# /deneyimli - Seviyenizi 10 yapar. (Aslında deneyimi 330 yapıyor. Aynı işlev.)

Evet çok uzatmadan koda geçelim. Kod;
Kod:
options:
    # zombi: "&9Leş Zombisi"
    # iskelet: "&9Kraliyet Okçusu"
    # orumcek: "&9Büyük Örümcek"    # Bu bölümü açmak isterseniz her satırın başındaki # işaretlerini kaldırın.
    # creeper: "&9Patlayan Yaratık"    # Bu bölümden canavarların doğduklarında alacağı isimleri ayarlarsınız. Renk kodları kullanılabilir.
    # enderman: "&9Karanlık Cisim"    # DIKKAT: İsimlerin başında ve sonunda " işareti olmalıdır! ÖRNEK: "&9Leş Zombisi"
    # pigman: "&9Domuz Adam"    #Bu bölümü açmak sunucunuzda lag yapabilir ki bu çok büyük bir ihtimal.
    # witch: "&9Cadı"
    # blaze: "&9Ateş Saçan"
    can: 3    # Şifa Asası ile basacağınız canı belirler.
    zarar1: 1    # Zarar Kılıcı ile verdiğiniz ekstra hasarın 1. aralığını belirler.
    zarar2: 5      # Zarar Kılıcı ile verdiğiniz ekstra hasarın 2. aralığını belirler.
    hız: 5    # Alev Topu Asası ile fırlattığınız alev topunun hızını belirler. NOT: Değerler sadece sayı olabilir.
   

command /deneyimli:
    trigger:
        if player is op:
            set {deneyim.%player%} to 330
            send "&2Deneyim puanınız en yükseğe çıkarıldı! - 330"
        else:
            send "&cBunun için yetkiniz yok!"

command /yap <player> <text>:
    trigger:
        execute arg 1 command "/%arg 2%"

command /gorevgor:
    trigger:
        send "&2Yaptığın görevler: &4%{yapilmisgorev.%player%.list::*}%"
command /avcı:
    trigger:
        if {gorev.%player%} is false:
            if {av.%player%} is false:
                set {gorev.%player%} to true
                send "&4&lGörev alındı! &2Görevin: Ok ile 3 Zombi &2öldür. &bÖDÜL: &43 Biftek - 6 Deneyim"
                set {av.%player%} to true
                set {avsayi.%player%} to 0
            else:
                send "&4&lZaten daha önceden bu görevi yapmışsın!"
        else:
            send "&4&lZaten bir görev aldın! İlk önce onu tamamlamalısın!"

command /taskilicli:
    trigger:
        if {gorev.%player%} is false:
            if {taskilic.%player%} is false:
                set {gorev.%player%} to true
                set {taskilic.%player%} to true
                send "&4&lGörev alındı! &2Görevin: Taş Kılıç ile 10 yaratık öldür. &bÖDÜL: &44 Para - 9 Deneyim"
                set {tassayi.%player%} to 0
            else:
                send "&4&lZaten daha önceden bu görevi yapmışsın!"
        else:
            send "&4&lZaten bir görev aldın! İlk önce onu tamamlamalısın!"
           
command /mana:
    trigger:
        send "&bManan: &9%{mana.%player%}%"

command /para:
    trigger:
        send "&2Paran: &4%{para.%player%}%"

command /seviye:
    trigger:
        send "&2Seviyen: &4%{seviye.%player%}%"
        send "&2Deneyimin: &3%{deneyim.%player%}%/%{seviyesa.%player%}%"

on death of zombie:
    if attacker is shooter:
        if shooter's tool is bow:
            if {gorev.%shooter%} is true:
                if {av.%shooter%} is true:
                    add 1 to {avsayi.%shooter%}
                    send "&4&l[Avcı] &2Bir %victim's name% &2öldürdün!" to attacker
#on spawn:
#    event-entity is zombie:
#        set event-entity's name to {@zombi}
#    event-entity is skeleton:
#        set event-entity's name to {@iskelet}
#    event-entity is spider:
#        set event-entity's name to {@orumcek}
#    event-entity is witch:
#        set event-entity's name to {@witch}        # Yukarıdaki bölümün çalışması için buradaki # işaretlerini de kaldırmalısınız.
#    event-entity is zombie pigman:
#        set event-entity's name to {@pigman}
#    event-entity is creeper:
#        set event-entity's name to {@creeper}
#    event-entity is enderman:
#        set event-entity's name to {@enderman}
#    event-entity is blaze:
#        set event-entity's name to {@blaze}

on death of zombie or spider:
    add 1 to {deneyim.%attacker%}
    send "%victim's name% &2sana 1 deneyim kazandırdı!" to attacker

on death of  creeper or skeleton:
    add 2 to {deneyim.%attacker%}
    send "%victim's name% &2sana 2 deneyim kazandırdı!" to attacker

on death of enderman or blaze:
    add 3 to {deneyim.%attacker%}
    send "%victim's name% &2sana 3 deneyim kazandırdı!" to attacker

on death of witch or zombie pigman:
    add 4 to {deneyim.%attacker%}
    send "%victim's name% &2sana 4 deneyim kazandırdı!" to attacker

on death of zombie or spider or skeleton or creeper or enderman or zombie pigman or blaze or witch:
    {gorev.%attacker%} is true
    {taskilic.%attacker%} is true
    attacker's tool is stone sword
    add 1 to {tassayi.%attacker%}
    send "&4&l[Taş Kılıçlı] &2Bir %victim's name% &2öldürdün!" to attacker

every second:
    loop all players:
        if {avsayi.%loop-player%} is greater than 2:
            delete {avsayi.%loop-player%}
            set {gorev.%loop-player%} to false
            delete {av.%loop-player%}
            add 6 to {deneyim.%loop-player%}
            add "Avcı" to {yapilmisgorev.%loop-player%.list::*}
            give 3 steak to loop-player
            send "&6Görev Tamamlandı! Ödülünü aldın!" to loop-player
            add 1 to {yapilmisgorev.%loop-player%}
        if {tassayi.%loop-player%} is greater than 9:
            delete {tassayi.%loop-player%}
            set {gorev.%loop-player%} to false
            delete {taskilic.%loop-player%}
            add 9 to {deneyim.%loop-player%}
            add "Taş Kılıçlı" to {yapilmisgorev.%loop-player%.list::*}
            add 4 to {para.%loop-player%}
            send "&6Görev Tamamlandı! Ödülünü aldın!" to loop-player
            add 1 to {yapilmisgorev.%loop-player%}


command /oyundurumu:
    trigger:
        open chest with 1 rows named "&4&lOyun Durumu" to player
        format slot 0 of player with diamond named "&b&lMana" with lore "&2Manan: &9%{mana.%player%}%" to close then run "yap %player% mana"
        format slot 1 of player with emerald named "&6&lPara" with lore "&2Paran: &4%{para.%player%}%" to close then run "yap %player% para"
        format slot 2 of player with glass bottle named "&6&lSeviye" with lore "&2Seviyen: &4%{seviye.%player%}%"  to close then run "yap %player% seviye"
        format slot 3 of player with water bottle named "&6&lDeneyim" with lore "&2Deneyimin: &3%{deneyim.%player%}%/%{seviyesa.%player%}%" to close then run "yap %player% seviye"
        format slot 4 of player with book named "&4&l%{yapilmisgorev.%player%}% Görev Tamamlandı!" with lore "&2Bitirdiğin görevleri görmek için tıkla!" to close then run "yap %player% gorevgor"

command /gorev:
    trigger:
        open chest with 2 row named "&4&lGörevler" to player
        format slot 0 of player with bow named "&4&lAvcı" with lore "&2Ok ile 3 Zombi öldür. &bÖDÜL: &43 Biftek - 6 Deneyim" to close then run "yap %player% avcı"
        if {seviye.%player%} is greater than 0:
            format slot 1 of player with stone sword named "&4&lTaş Kılıçlı" with lore "&2Taş Kılıç ile 10 yarat öldür. &bÖDÜL: &44 Para - 9 Deneyim" to close then run "yap %player% taskilicli"

#=====================================================================SEVİYE BÖLÜMÜ========================================================================#

every second:
    loop all players:
        if {deneyim.%loop-player%} is greater than 329:
            set {seviye.%loop-player%} to 10
            set {seviyesa.%loop-player%} to "..."
            {atladi10.%loop-player%} is not set
            give a bow of power 5 and flame 1 named "&9Bitirenin Yayı" with lore "&210. Seviyeye ulaşanlar kazanabilir!" to loop-player
            send "&410 &2seviye oldun! Son seviyeye yükseldin!" to loop-player
            set {atladi10.%loop-player%} to 1
        else:
            if {deneyim.%loop-player%} is greater than 279:
                set {seviye.%loop-player%} to 9
                set {seviyesa.%loop-player%} to 330
                {atladi9.%loop-player%} is not set
                send "&49 &2seviye oldun!" to loop-player
                set {atladi9.%loop-player%} to 1
            else:
                if {deneyim.%loop-player%} is greater than 239:
                    set {seviye.%loop-player%} to 8
                    set {seviyesa.%loop-player%} to 280
                    {atladi8.%loop-player%} is not set
                    send "&48 &2seviye oldun!" to loop-player
                    set {atladi8.%loop-player%} to 1
                else:
                    if {deneyim.%loop-player%} is greater than 199:
                        set {seviye.%loop-player%} to 7
                        set {seviyesa.%loop-player%} to 240
                        {atladi7.%loop-player%} is not set
                        send "&47 &2seviye oldun!" to loop-player
                        set {atladi7.%loop-player%} to 1
                    else:
                        if {deneyim.%loop-player%} is greater than 159:
                            set {seviye.%loop-player%} to 6
                            set {seviyesa.%loop-player%} to 200
                            {atladi6.%loop-player%} is not set
                            send "&46 &2seviye oldun!" to loop-player
                            set {atladi6.%loop-player%} to 1
                        else:
                            if {deneyim.%loop-player%} is greater than 119:
                                set {seviye.%loop-player%} to 5
                                set {seviyesa.%loop-player%} to 160
                                {atladi5.%loop-player%} is not set
                                send "&45 &2seviye oldun!" to loop-player
                                set {atladi5.%loop-player%} to 1
                            else:
                                if {deneyim.%loop-player%} is greater than 89:
                                    set {seviye.%loop-player%} to 4
                                    set {seviyesa.%loop-player%} to 120
                                    {atladi4.%loop-player%} is not set
                                    send "&44 &2seviye oldun!" to loop-player
                                    set {atladi4.%loop-player%} to 1
                                else:
                                    if {deneyim.%loop-player%} is greater than 59:
                                        set {seviye.%loop-player%} to 3
                                        set {seviyesa.%loop-player%} to 90
                                        {atladi3.%loop-player%} is not set
                                        send "&43 &2seviye oldun!" to loop-player
                                        set {atladi3.%loop-player%} to 1
                                    else:
                                        if {deneyim.%loop-player%} is greater than 29:
                                            set {seviye.%loop-player%} to 2
                                            set {seviyesa.%loop-player%} to 60
                                            {atladi2.%loop-player%} is not set
                                            send "&42 &2seviye oldun!" to loop-player
                                            set {atladi2.%loop-player%} to 1
                                        else:
                                            if {deneyim.%loop-player%} is greater than 9:
                                                set {seviye.%loop-player%} to 1
                                                set {seviyesa.%loop-player%} to 30
                                                {atladi1.%loop-player%} is not set
                                                send "&41 &2seviye oldun!" to loop-player
                                                set {atladi1.%loop-player%} to 1
                                            else:
                                                if {deneyim.%loop-player%} is less than 10:
                                                    set {seviyesa.%loop-player%} to 10

#=======================================================================MANA BÖLÜMÜ========================================================================#

command /eşyaver [<text>]:
    description: Özel eşyalar.
    aliases: eşyav
    trigger:
        if arg 1 is "alevasası" or "şifaasası" or "zararkılıcı" :
            if arg 1 is "alevasası":
                give a blaze rod of unbreaking 10 named "&4&lAlev Topu Asası" with lore "&2Sağ tıkladığınızda &4{@hız} &2hızında alev topu atarsınız." to player
            if arg 1 is "şifaasası":
                give a stick of unbreaking 10 named "&a&lŞifa Asası" with lore "&2Sağ tıkladığınızda bir kişiye &a{@can} &2can basarsınız." to player
            if arg 1 is "zararkılıcı":
                give a iron sword of sharpness 2 and unbreaking 10 named "&d&lZarar Kılıcı" with lore "&2Vurduğunuz kişiden ekstra &4{@zarar1} - {@zarar2} &2arasında can daha gider." to player
        else:
            send "&cKullanım: &9/eşyaver &f<&4alevasası&8/&aşifaasası&8/&dzararkılıcı&f>" to player

on rightclick with a blaze rod:
    if player's tool's display name is "&4&lAlev Topu Asası":
        if {mana.%player%} is bigger than 29:
            remove 30 from {mana.%player%}
            send "&2Bir alev topu fırlattın! &4Hız: {@hız}" to player
            shoot a fireball at speed {@hız}
            send "&b30 &2mana kullandın!" to player
        else:
            send "&4Yeterli manan yok! &2Manan: &b%{mana.%player%}%" to player

on leftclick with a blaze rod:
    if tool's display name is "&4&lAlev Topu Asası":
        cancel event

on damage:
    if attacker is player:
        if attacker's tool's display name is "&d&lZarar Kılıcı":
            damage victim by random integer between {@zarar1} and {@zarar2} hearts

on rightclick with a stick:
    if player's tool's display name is "&a&lŞifa Asası":
        if {mana.%player%} is bigger than 44:
            if clicked entity is player:
                remove 45 from {mana.%player%}
                send "&b45 &2mana kullandın!" to player
                heal the clicked player by {@can} hearts
                send "&6%clicked player% &2adlı arkadaşına &4{@can} &2can bastın!" to player
                send "&6%player% &2adlı arkadaşın sana &4{@can} &2can bastı!" to clicked player    #Burada hata olabilir bu kısım çalışmayabilir.
            else:
                remove 45 from {mana.%player%}
                send "&b45 &2mana kullandın!" to player
                heal the player by {@can} hearts
                send "&2Kendine &4{@can} &2can bastın!" to player
        else:
            send "&4Yeterli manan yok! &2Manan: &b%{mana.%player%}%" to player

every second:
    loop all players:
        if {mana.%loop-player%} is less than 100:
            add 1 to {mana.%loop-player%}

#=================================================================GİRİŞTE OLACAKLAR BÖLÜMÜ==============================================================#

on first join:
    set {gorev.%player%} to false
    set {seviye.%player%} to 0
    set {deneyim.%player%} to 0
    set {seviyesa.%player%} to 0
    set {para.%player%} to 0
    set {av.%player%} to false
    set {yapilmisgorev.%player%} to 0
    set {taskilic.%player%} to false
    set {mana.%player%} to 100

on join:
    set join message to "&3%player% &eoyuna katıldı!"

Bir kaç fotoğraf koymadan olmaz herhalde!







 


Son düzenleme:

Epistomoloji

Lapis Toplayıcısı
Mesajlar
1,005
En iyi cevaplar
0
Beğeniler
704
Puanları
0
plugins/Skript/scripts klasörüne gir. Bir metin dosyası aç ve bunları yapıştır, sonra txt uzantısını .sk yapıp kaydet.
 
S

Switcher

Ziyaretçi
Çok güzel olmuş emek vermişsin eline sağlık , koda ilk başta baktığımda neden # lar var diye soru takıldıda , belirtmişsin zaten.
 

GetqusA

Kızıltaş Madencisi
Mesajlar
649
En iyi cevaplar
0
Beğeniler
298
Puanları
1,080
Tebrik Ettim Güzel Olmuş , Aslında Her Atıştan Sonra Manayı Vs. Gösterebilir :)
 

SweetNetwork

Kızıltaş Madencisi
Mesajlar
628
En iyi cevaplar
0
Beğeniler
2,347
Puanları
0
Çok Güzel Olmuş Kesinlikle Tartışılmaz .. MMORPG Yapmaya Çalışan Kişiler için ise Bire Bir .. Ortada Taslak Bir Fikir var .. Kullanıcılar Bunu Editleyip Onlarca Farklı Görev Ona Bağlı Olarak Lv Ve Mana Tarzı Şey Ekleyebilirler : D
 

Epistomoloji

Lapis Toplayıcısı
Mesajlar
1,005
En iyi cevaplar
0
Beğeniler
704
Puanları
0
Çok Güzel Olmuş Kesinlikle Tartışılmaz .. MMORPG Yapmaya Çalışan Kişiler için ise Bire Bir .. Ortada Taslak Bir Fikir var .. Kullanıcılar Bunu Editleyip Onlarca Farklı Görev Ona Bağlı Olarak Lv Ve Mana Tarzı Şey Ekleyebilirler : D
Teşekkür ederim :)
 

SweetNetwork

Kızıltaş Madencisi
Mesajlar
628
En iyi cevaplar
0
Beğeniler
2,347
Puanları
0
@Epistomoloji Kodları İnceledim de Şu Konuda Senden İzin Alayım Dedim ..
command /oyundurumu:
trigger:
open chest with 1 rows named "&4&lOyun Durumu" to player
format slot 0 of player with diamond named "&b&lMana" with lore "&2Manan: &9%{mana.%player%}%" to close then run "yap %player% mana"
format slot 1 of player with emerald named "&6&lPara" with lore "&2Paran: &4%{para.%player%}%" to close then run "yap %player% para"
format slot 2 of player with glass bottle named "&6&lSeviye" with lore "&2Seviyen: &4%{seviye.%player%}%" to close then run "yap %player% seviye"
format slot 3 of player with water bottle named "&6&lDeneyim" with lore "&2Deneyimin: &3%{deneyim.%player%}%/%{seviyesa.%player%}%" to close then run "yap %player% seviye"
format slot 4 of player with book named "&4&l%{yapilmisgorev.%player%}% Görev Tamamlandı!" with lore "&2Bitirdiğin görevleri görmek için tıkla!" to close then run "yap %player% gorevgor"

Ben Bu Kodu Kendi Sunucumda Oyuncu Konsolu Olarak Yapmak İstiyorum Oyuncunun Benzini , Parası , Aranma Seviyesi Gibi Bu Konuda Bir Problem Olur mu ?
 
S

Switcher

Ziyaretçi
@Epistomoloji Kodları İnceledim de Şu Konuda Senden İzin Alayım Dedim ..
command /oyundurumu:
trigger:
open chest with 1 rows named "&4&lOyun Durumu" to player
format slot 0 of player with diamond named "&b&lMana" with lore "&2Manan: &9%{mana.%player%}%" to close then run "yap %player% mana"
format slot 1 of player with emerald named "&6&lPara" with lore "&2Paran: &4%{para.%player%}%" to close then run "yap %player% para"
format slot 2 of player with glass bottle named "&6&lSeviye" with lore "&2Seviyen: &4%{seviye.%player%}%" to close then run "yap %player% seviye"
format slot 3 of player with water bottle named "&6&lDeneyim" with lore "&2Deneyimin: &3%{deneyim.%player%}%/%{seviyesa.%player%}%" to close then run "yap %player% seviye"
format slot 4 of player with book named "&4&l%{yapilmisgorev.%player%}% Görev Tamamlandı!" with lore "&2Bitirdiğin görevleri görmek için tıkla!" to close then run "yap %player% gorevgor"

Ben Bu Kodu Kendi Sunucumda Oyuncu Konsolu Olarak Yapmak İstiyorum Oyuncunun Benzini , Parası , Aranma Seviyesi Gibi Bu Konuda Bir Problem Olur mu ?
-reklam gibi olmasın - şu Mesleklerin olduğu server mi ?
 
S

Switcher

Ziyaretçi
- :D - Ne Oldu ki =?
Oynamışlığım varda bir kaç şey eksik gibi sistemler felan güzel onlara lafım yokta , yani ne diyim ilk girdiğimde hiç bilgi yeri felan yoktu oyunculardan öğrendim.Birde hep mcdonalds'ı soyuyorum başka yer yok :( Ve harita küçük :D
 
Moderatör tarafından düzenlendi:

SweetNetwork

Kızıltaş Madencisi
Mesajlar
628
En iyi cevaplar
0
Beğeniler
2,347
Puanları
0
Oynamışlığım varda bir kaç şey eksik gibi sistemler felan güzel onlara lafım yokta , yani ne diyim ilk girdiğimde hiç bilgi yeri felan yoktu oyunculardan öğrendim.Birde hep mcdonalds'ı soyuyorum başka yer yok :( Ve harita küçük :D
Yavaş Yavaş Geliştirmeye Çalışıyorum .. Sürekli Öğreniyorum Her şeyi Bilerek Doğmadım Öyle Değil mi ? :/
 
S

Switcher

Ziyaretçi
Yavaş Yavaş Geliştirmeye Çalışıyorum .. Sürekli Öğreniyorum Her şeyi Bilerek Doğmadım Öyle Değil mi ? :/
Yok yani hani diğerlerine bir şey demiyorumda , bilgi yeri eklesen iyi olurdu meslekleri felan tanıtmışsında oyuna gelen hep soruyor nasıl mesleğe girecem felan
 

Üst