(SKRIPT) Mine Generator v0.1 - Kömürlerinizi madene dönüştürün! (+GUI)

Sezdolonoid400

Demir Madencisi
En iyi cevaplar
0
Selam arkadaşlar ben Sezdolonoid400.
Uzun bir aradan sonra yine bir skript paylaşımıyla beraberim.
Bugünkü skriptim: Mine Generator v0.1!

İlk başta Mine Generator v0.1'in amacı ne?
Mine Generator'ın amacı kömürle elmas, altın ve demir yapmanıza yarar.

Mine Generator adlı makine ile yapacaksınız bunu. Yapımı:



Elinize "Mine Generator" adlı bir iron block gelecek. Bu makineyi yaptıktan sonra makineyi yere koyarsanız çalışmaya açık olduğunu belirtmek için "Mine Generator kuruldu!" diye bir mesaj gelecektir.
NOT: Eğer makineyi kırarsanız, makineyi craft ederken harcadığınız bütün eşyaları geri kazanırsınız fakat makinenin içindeki yakıtı kaybedersiniz.


Yakıt nedir?
Yakıt Mine Generator'da madenleri işlemenize yarar. Yakıt için kömüre ihtiyacınız var ve her 1 kömür 1 yakıt eder.


Yakıtla ne yapılır?
Yakıtla elmas, altın ve demir yapabilirsiniz:


Elmas için 64 yakıt,

Altın için 32 yakıt,
Demir için 16 yakıt,
gereklidir.

Peki mesela herhangi bir madeni dönüştürmeye başladı, ne olacak?
Eğer yeterli yakıtınız yoksa size "Yeterli yakıtınız yok!" mesajını verecektir.

Eğer yeterli yakıtınız var iken dönüştürmeye başlarsanız "Iron Ingot dönüşmeye başladı...", "Gold Ingot dönüşmeye başladı...", "Diamond dönüşmeye başladı..." gibi mesajlar alacaksınız.

Her dönüşme 1 dk sürer. Yani dönüştürme başlayınca 1 dk boyunca beklemelisiniz.
Sonra madeninizi alabilirsiniz.

Skript bu kadardı. Eğer anlattıklarımdan anlamadıysanız(çünkü foto vs. koymadım) şu videoyu izleyerek azda olsa anlayabilirsiniz (videonun son dakikalarına doğru duraklatma tuşu yerine foto tuşuna bastığım için ses geldi kusura bakmayın :D) :


Skript için gerekli pluginler:
Skript (2.1.2 veya 2.1.2+)

SkQuery

İyi günler.


Kod:

Kod:
on join:
 register new shaped recipe for iron block named "&bMine Generator" using diamond, gold ingot, diamond, gold ingot, emerald, gold ingot, diamond, gold ingot, diamond


on place of iron block:
 if name of player's tool is "&bMine Generator":
  set {%location of event-block%} to 1
  send "&b&lMine Generator &bkuruldu!" to player
  set {yakit.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%} to 0
 


on break of iron block:
 if {%location of event-block%} is set:
  delete {%location of event-block%}
  delete {yakit.%location of event-block%}
  delete {irontamam.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%}
  delete {goldtamam.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%}
  delete {diatamam.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%}
  delete {diaislendi.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%}
  delete {goldislendi.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%}
  delete {ironislendi.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%}
  cancel event
  set event-block to air
  drop 4 diamond at location of event-block
  drop 4 gold ingot at location of event-block
  drop 1 emerald at location of event-block
 

on rightclick on iron block:
 if {%location of event-block%} is set:
  if {irontamam.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%} isn't set:
   if {goldtamam.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%} isn't set:
    if {diatamam.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%} isn't set:
     if {diaislendi.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%} isn't set:
      if {goldislendi.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%} isn't set:
       if {ironislendi.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%} isn't set:
        wait 3 tick
        open chest with 3 rows named "&1&lMine Generator" to player
        format slot 10 of player with diamond named "&b&lDiamond&b'a cevir" with lore "&bAlmak icin gereken yakit: &b&l64 yakit" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% diamond"
        format slot 11 of player with gold ingot named "&6&lGold Ingot&6'a cevir" with lore "&6Almak icin gereken yakit: &6&l32 yakit" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% gold"
        format slot 12 of player with iron ingot named "&7&lIron Ingot&7'a cevir" with lore "&7Almak icin gereken yakit: &7&l16 yakit" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% iron"
        format slot 16 of player with blaze powder named "&6Yakit = &6&l%{yakit.%x-coordinate of event-block%%y-coordinate of event-block%%z-coordinate of event-block%}%" to close then run ""
        format slot 24 of player with 263 named "&8&l+1 yakit ekle" with lore "&8Gerekenler: &8&l1 komur" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% ykt1"
        format slot 25 of player with 263 named "&8&l+4 yakit ekle" with lore "&8Gerekenler: &8&l4 komur" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% ykt2"
        format slot 26 of player with 263 named "&8&l+8 yakit ekle" with lore "&8Gerekenler: &8&l8 komur" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% ykt3"
       else:
        wait 3 tick
        open chest with 3 rows named "&1&lMine Generator" to player
        format slot 13 of player with iron ingot named "&7&lIron Ingot&7 islenmesi yapiliyor..." with lore "" to close then run ""
      else:
       wait 3 tick
       open chest with 3 rows named "&1&lMine Generator" to player
       format slot 13 of player with gold ingot named "&6&lGold Ingot&6 islenmesi yapiliyor..." with lore "" to close then run ""
     else:
      wait 3 tick
      open chest with 3 rows named "&1&lMine Generator" to player
      format slot 13 of player with diamond named "&b&lDiamond&b islenmesi yapiliyor..." with lore "" to close then run ""
    else:
     wait 3 tick
     open chest with 3 rows named "&1&lMine Generator" to player
     format slot 13 of player with diamond named "&b&lDiamond&b islenmesi tamamlandi" with lore "&bAlmak icin tikla!" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% diaal"   
   else:
    wait 3 tick
    open chest with 3 rows named "&1&lMine Generator" to player
    format slot 13 of player with gold ingot named "&6&lGold Ingot&6 islenmesi tamamlandi" with lore "&6Almak icin tikla!" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% goldal" 
  else:
   wait 3 tick
   open chest with 3 rows named "&1&lMine Generator" to player
   format slot 13 of player with iron ingot named "&7&lIron Ingot&7 islenmesi tamamlandi" with lore "&7Almak icin tikla!" to close then run "yakitt %player% %x-coordinate of event-block% %y-coordinate of event-block% %z-coordinate of event-block% ironal"
 
 


command /yakitt [<player>] <number> <number> <number> <text>:
 executable by:console
 trigger:
  if arg 1 is set:
   if arg 5 is "ykt1":
    if arg 1 have 1 263:
     remove 1 263 from arg 1
     add 1 to {yakit.%arg 2%%arg 3%%arg 4%}
     send "&8&l1 &8yakit eklendi!" to arg 1
    else:
     send "&c&lYeterince komurun yok!" to arg 1
   else:
    if arg 5 is "ykt2":
     if arg 1 have 4 263:
      remove 4 263 from arg 1
      add 4 to {yakit.%arg 2%%arg 3%%arg 4%}
      send "&8&l4 &8yakit eklendi!" to arg 1
     else:
      send "&c&lYeterince komurun yok!" to arg 1
    else:
     if arg 5 is "ykt3":
      if arg 1 have 8 263:
       remove 8 263 from arg 1
       add 8 to {yakit.%arg 2%%arg 3%%arg 4%}
       send "&8&l8 &8yakit &8eklendi!" to arg 1
      else:
       send "&c&lYeterince komurun yok!" to arg 1
     else:
      if arg 5 is "diaal":
       if {diatamam.%arg 2%%arg 3%%arg 4%} is set:
        give 1 diamond to arg 1
        send "&b&l1 &bDiamond basariyla alindi!" to arg 1
        delete {diatamam.%arg 2%%arg 3%%arg 4%}
      else:
       if arg 5 is "goldal":
        if {goldtamam.%arg 2%%arg 3%%arg 4%} is set:
         give 1 gold ingot to arg 1
         send "&6&l1 &6Gold Ingot basariyla alindi!" to arg 1
         delete {goldtamam.%arg 2%%arg 3%%arg 4%}
       else:
        if arg 5 is "ironal":
         if {irontamam.%arg 2%%arg 3%%arg 4%} is set:
          give 1 iron ingot to arg 1
          send "&7&l1 &7Iron Ingot basariyla alindi!" to arg 1
          delete {irontamam.%arg 2%%arg 3%%arg 4%}
        else:
         if arg 5 is "diamond":
          if {yakit.%arg 2%%arg 3%%arg 4%} is greater than 63:
           send "&b&lDiamond &bislemesi baslatildi..." to arg 1
           set {diaislendi.%arg 2%%arg 3%%arg 4%} to 1
           remove 64 from {yakit.%arg 2%%arg 3%%arg 4%}
           wait 60 second
           delete {diaislendi.%arg 2%%arg 3%%arg 4%}
           set {diatamam.%arg 2%%arg 3%%arg 4%} to 1
          else:
           send "&c&lYeterli yakit yok!" to arg 1
         else:
          if arg 5 is "gold":
           if {yakit.%arg 2%%arg 3%%arg 4%} is greater than 31:
            send "&6&lGold Ingot &6islemesi baslatildi..." to arg 1
            set {goldislendi.%arg 2%%arg 3%%arg 4%} to 1
            remove 32 from {yakit.%arg 2%%arg 3%%arg 4%}
            wait 60 second
            delete {goldislendi.%arg 2%%arg 3%%arg 4%}
            set {goldtamam.%arg 2%%arg 3%%arg 4%} to 1
           else:
            send "&c&lYeterli yakit yok!" to arg 1
          else:
           if arg 5 is "iron":
            if {yakit.%arg 2%%arg 3%%arg 4%} is greater than 15:
             send "&7&lIron Ingot &7islemesi baslatildi..." to arg 1
             set {ironislendi.%arg 2%%arg 3%%arg 4%} to 1
             remove 16 from {yakit.%arg 2%%arg 3%%arg 4%}
             wait 60 second
             delete {ironislendi.%arg 2%%arg 3%%arg 4%}
             set {irontamam.%arg 2%%arg 3%%arg 4%} to 1
            else:
             send "&c&lYeterli yakit yok!" to arg 1
 
Son düzenleme:

CeapLinCess

Kızıltaş Madencisi
En iyi cevaplar
0
gerçekten çok başarılı skyblock sunucu açmayı planlıyordum skriptler arasına bunuda eklemeyi düşünüyorum :)
not : v0.2 yada 1.0 işte neyse sonraki versyonda taş block v.b de eklersne güzel olur, dia vb almayı 4 5 li de yapabilrisin daha fazla seçenek ekleyerek :demir: 16 yakıt
2x:demir:32 yakıt gibi oyuncular içinde daha hızlı olur bir anda bunu yapmak :)
 
Son düzenleme:

Sezdolonoid400

Demir Madencisi
En iyi cevaplar
0
gerçekten çok başarılı skyblock sunucu açmayı planlıyordum skriptler arasına bunuda eklemeyi düşünüyorum :)
not : v0.2 yada 1.0 işte neyse sonraki versyonda taş block v.b de eklersne güzel olur, dia vb almayı 4 5 li de yapabilrisin daha fazla seçenek ekleyerek :demir: 16 yakıt
2x:demir:32 yakıt gibi oyuncular içinde daha hızlı olur bir anda bunu yapmak :)
Bence her bir tanesi için 1 dk yeterli. Biraz zorluk olsun yani :D
 

Jakinda

Blind Bandit
En iyi cevaplar
7
Başarılı ve sonunda farklı bir skript ile konu açan biri :D. Eğer bu tarz şeylere devam edeceksen bir şey soracağım şöyle bir şeyin imkanı var mıdır?
Modlu skyblocklarda sieve denen bi alet var ona gravel sand vb şeylerle sağ tık basılı tutunca belli orandaki madenleri veriyor. Bunda da şöyle olabilir ona sağ tıklayınca aynı bundaki kömür gibi gravel ekleriz örneğin 10 gravel ekledik ve çalıştırdık her 5 saniyede bir,maden çıkartsın ya da hiçbir şey çıkartmasın yani şansa bağlı olsun?
İmkânı var gibime geldi skript bilgim bu seviyelerde olsa deneyecektim ama öyle şunu ekle şunu yap tıklama ekranlarını yapamıyorum.
 

Sezdolonoid400

Demir Madencisi
En iyi cevaplar
0
Başarılı ve sonunda farklı bir skript ile konu açan biri :D. Eğer bu tarz şeylere devam edeceksen bir şey soracağım şöyle bir şeyin imkanı var mıdır?
Modlu skyblocklarda sieve denen bi alet var ona gravel sand vb şeylerle sağ tık basılı tutunca belli orandaki madenleri veriyor. Bunda da şöyle olabilir ona sağ tıklayınca aynı bundaki kömür gibi gravel ekleriz örneğin 10 gravel ekledik ve çalıştırdık her 5 saniyede bir,maden çıkartsın ya da hiçbir şey çıkartmasın yani şansa bağlı olsun?
İmkânı var gibime geldi skript bilgim bu seviyelerde olsa deneyecektim ama öyle şunu ekle şunu yap tıklama ekranlarını yapamıyorum.
Anlattığınızı pek anlamadım oyun içi gösteren bir video varsa atabilirmisiniz?
 

KaanGunlu

Işık Taşı Madencisi
En iyi cevaplar
0
Lapisle yapılsın. Faction sunucuları için kullanışlı olur.
Ama tabii ki sadece elmas yapılsın.
 

Jakinda

Blind Bandit
En iyi cevaplar
7
Anlattığınızı pek anlamadım oyun içi gösteren bir video varsa atabilirmisiniz?
Yine aynı bu makine gibi ama kömür yerine çakıl kullanıyoruz. Örneğin 10 tane çakıl ekledik her 5 saniyede bir çakıl azalsın ve belirli oranlarla ya maden versin ya da bir şey vermesin.
Bu fikir bir mod var ex nihilo diye ondaki sieve bloğu ona gravel sand vb bloklarla sağ basılı tutunca maden veriyordu. Veya hiçbir şey vermiyordu.
10:56 dan sonra dediğimi anlayabilirsin.
Fakat skript ile bunda bu yaptığın skript gibi arayüz olacak.
Merak ettiğim şu imkânı var mıdır?
 

Sezdolonoid400

Demir Madencisi
En iyi cevaplar
0
Yine aynı bu makine gibi ama kömür yerine çakıl kullanıyoruz. Örneğin 10 tane çakıl ekledik her 5 saniyede bir çakıl azalsın ve belirli oranlarla ya maden versin ya da bir şey vermesin.
Bu fikir bir mod var ex nihilo diye ondaki sieve bloğu ona gravel sand vb bloklarla sağ basılı tutunca maden veriyordu. Veya hiçbir şey vermiyordu.
10:56 dan sonra dediğimi anlayabilirsin.
Fakat skript ile bunda bu yaptığın skript gibi arayüz olacak.
Merak ettiğim şu imkânı var mıdır?
Yapılabilecek bir şey fakat uğraş gerektirir.
 

Gangling

Ağaç Yumruklayıcı
En iyi cevaplar
0
X, y ve z koordinatlarını tek tek belirtme nedenini anlamadım. Doğrudan lokasyon alabilirsin.
Ayrıca o yakıt komutunu fonksiyon yapsaydın bu kadar uğraşmazdın.
 

Gangling

Ağaç Yumruklayıcı
En iyi cevaplar
0
Denedim, konsolun kullandığı /yakitt komutunu /yakitt <number> yapıp number olan yere direk lokasyonu girmesini sağlayacaktım fakat çalışmadı nedense. Bende böyle bir çözüm buldum.
Fonksiyonlar ne güne duruyor?
Kodda tasarruf yapmış olurdun. Bu şekilde bug oluşabilir.
Kod:
function yakit(l: location, p: player):
    #kod. {_l} location parametresi, {_p} player parametresi döndürür.
 
Üst