[PAYLAŞIMSIZ]-[SKRİPT] ZSchem Alpha 0.1.6

ZakaTPakaBLoTS

YASAKLANDI
En iyi cevaplar
0
Merhaba skripterlar 8 saat içinde yazdığım bir skriptin ne işe yaradığını bu gün sizinle paylaşacağım.



Ne işe yarar ?
Skript'e özel bir alan şematik formatıdır.
Yani minecraft chunkları yada schematic gibi herhangi bir bloğu kopyalayabilir.
Ve tabii ki kopyaladığımız bu şematiği istediğimiz gibi kaydedebilir ve yapıştırabiliriz.
Yapıştırma işlemi alındığında world edit'deki ve schematic'dekine göre orjini farklıdır.
World Edit'de orjin oyuncunun olduğu noktadır.
Schematic'de orjin kullanıldığı programa göre değişir.
ZSchem'de ise orjin yapıştırılan şematiğin tam merkezidir.
Yani herhangi bir oyuncu yapıştırma işleminde oyuncu yapıştırlan şematiğin tam ortasında olur.
Sebebi ise;
ZSchem'i bir kod veya bir metod olarak düşünmeyin.
Kendisi bir kütüphanedir.
ZSchematic blokları sol ve sağ köşelerden paralel olarak işaretler.
Ben bu işaretlenen iki paralel doğruya ana yatay sütun diyorum.
Sonra bu paralel olarak işaretlenen blokların her biri karşısındaki paralel blokla bir bağ kurar ve bu iki paralel bloğun arasındaki oluşan doğrunun içindeki bütün bloklar da işaretlenir.
Bu işaretlenen bloklara ise yatay sütun diyorum.
Seçtiğimiz alan içinde ilk katmanda her yer yatay sütun olarak işaretlendikten sonra bir üst katmana gidilir ve yükseklik bitene kadar yukarıdaki işlem yapılır.
İşaretlenen her blok bir liste değişkenine kaydedilir.
Böylelikle kübik bir alan kopyalaması yapmış olduk ki sanırım bunu skript'de ilk yapan kişi benim.
Yapıştırma işlemi yaptığımızda ise o zaman seçtiğimiz a ve b noktaları tekrar oyuncunun olduğu noktaya göre oluşur.
Daha sonra birkaç matematiksel işlem kullanılarak a ve b noktası oyuncuyu orjin alarak tekrar oluşur.
Daha sonra kopyalamada bahsettiğim işaretleme işlemi burada da yapılır ve işaretlenen her blok anında daha önce işaretlediğimiz bloğa dönüşür.
Kütüphane olmasının sebebi ise;
ZSche'de kaydedilen blokları sadece kodu yazan oyuncunun değil herhangi bir noktadaki herhangi bir blok yada canlının olduğu noktaya da yapıştırabiliriz.
Hemde herhangi bir skript'in içinden gene şematikleri çağırabiliriz.
Yani block generation olayını skript'e doğru dürüst herhangi bir ek eklenti olmadan eklemiş oldum.
Ayrıca yapıştırma işlemine süre koyarsanız tıpkı time lapse olaylarındaki gibi mimari yavaş yavaş kendini tamamlıyor.




Ben bunu senden önce yaptım !
Diyeceğini tahmin ediyordum fakat malesef :(
Öncelikle skript'e destek veren bir skript eklentisi kullanarak yaptıysan bu konuyu hiç açma çünkü kullandığın şey gene hazıra giriyor.
Senin bana göstereceğin sistem büyük ihtimal ile şu olacak:

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.


Bunuda şu şekilde anlatıyım.Buradaki işaretleme sistemi skript'in kendi kullandığı hazır küre işaretleme sistemidir.

  • Yani loop block in radius 5 of player yazdığımızda oyuncuyu merkez olarak alır ve 5 blok içine küre şekli oluşturur.
    Oluşturulan şeklin içindeki bütün blokları kaydedebilirsiniz.Bu hazır bir sistemdir ve benim yazdığım sistemle bunu karşılaştırmanız ciddi ciddi cahillik oluyor.
Yani skript'in hazır işaretleme sistemini kullanarak bana burda daha önce yaptım deme.




Bu sistem ile ZSchem arasındaki farklar:
-Orjin tabela olarak alınır yani herhangi bir block generation olayında tabelayı tam ortaya koymanız gerekir böylelikle şematiğe zarar vermiş de olursunuz.

-Ayrıca yapıştırmak için orjin bloğu olan tabela gereklidir.Yani koordinatlara istediğiniz gibi yapıştırma yapamazsınız.

-World Edit'deki gibi sol sağ tık seçimi yok.Sadece bir yar çap giriyorsunuz ve sonucunda istemediğiniz bloklar da şematiğe kaydediliyor.Yani veritabanında boşu boşuna fanus şeklinde air blokları vs görebilirisinz.Yani ne yaparsanız yapın zemini veya tepedeki bir bloğu istediğiniz şekilde kopyalayamazsınız.Örnek olarak yukarıda bir prizma var.Benim sistemimde köşelere sol ve sağ tık yaparken skript'in hazır işaretleme sisteminde bir yarı çap belirlemeniz gerek ve bu yar çapın prizma'nın uzun tarafından daha büyük olması gerek.Böylelikle kısa taraf da uzun taraf kadar alan kaydedecek ve veri tabanında büyük miktarda çöplük olacak.

Şimdi skript'in hazır işaretleme sistemi ile benim yazdığım işaretleme sisteminin arasındaki farkı anlattığıma göre bir diğer konuya geçelim.





Skript'de Metod mu var ? Kütüphane mi var ?
Evet bunuda genelde çekemeyen konuda bir zayıflık bulamayan ve bunun sonucunda laf sokmak isteyen kişiler yapıyor.
Öncelikle şunu belirtiyim:Skript'de metod veya kütüphane diye bir şey yok.
Ama ben yaptım ve artık bana göre bir kütüphanesi var.
İster kabul etmez skript'de kütüphane yok dersiniz ister kabul eder Zindev skript'de kütüphane yazdı dersiniz.
Hangisi işinize gelir bilmiyorum ama şu gereksiz yorumlarınızı yazmayın.




Nerelerde Zorlandın ?:
-Yapıştır yazdığımızda a ve b noktasını oyuncuya göre yapıştırma konusunda zorlandım.İki nokta arasındaki mesafe ve bazı formüllerden yararlanarak çözdüm.

-İlk taban bittiğinde bir üst tabana geçerken zorlandım.Her işaretlemede işaretlenen bloğun yüksekliğini arttırarak çözdüm.

-Sol sağ seçiminde yükseklik ayarlarını yapmakta zorlandım.Kopyala yazıldığı anda en yüksek noktayı a noktası en alçak noktayıda b noktası yaparak çözdüm.

-Negatif ve Pozitif koordinatlar arasındaki toplama ve çıkarmalarda zorlandım hem de çok çok zorlandım.Çünkü + ve -'nin toplamı ve çıkartımının sonuçları farklı hepiniz biliyorsunuzdur.




En az 150 kere başarısız oldum fakat pes etmedim:






ZSchem'in yapıştırmasına süre ekleyerek yaptığım bir time lapseyide sizinle paylaşıyım.Süreleme koymazsak anında yapıştırma işlemi yapar bu şekilde yavaş değildir.
Buradaki mimari bana ait değildir.Bir schematic'i world edit ile yapıştırdım sonra ZSchem ile seçip kaydettim ve yapıştırdım.



Paylaşmayacaksan Neden Koydun ?
Öncelikle bir sunucum için bu skript'e ihtiyacım vardı.Bukkit forumlarını darmadağan ettim aramadığım delik bakmadığım taş altı kalmadı.
Böyle bir şey mümkün mü diye ?
Araştırmamın sonucunda bu skript'e ulaştım fakat istediğimi vermiyordu,yetersizdi.

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.


Taki skript'de böyle bir özelliğin olmadığını ve NJOL(skript'in yapımcısı)'ün yapılacak listesine bunu eklediğini görene kadar:
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.


Beni bilirsiniz skript yazarken herhangi bir ek eklenti kullanmam ve kullanmayıda sevmem.
Skript desteklemiyorsa ben yapacağım dedim. 9.sınıf koordinat sistemi formüllerine vs baktım googleden.
Üzerinde 8 saat çalıştıktan sonra başarılı oldum.

Genel sebep ise şu;
İmkansız diye bir şey yoktur.Eğer bir şeye yeterince emek verirseniz sonunda ona ulaşırsınız.

ZSchem kullanılarak neler yapılabilir ?
-Blokla bir gemi yapıp bu gemiyi skript ile kodlayıp zcshem'den destek alırsanız hareket ettirebilir,döndürebilirsiniz.

-Örnek olarak yerden kazıklar çıkaran bir yetenek yapabilirsiniz.

-Hareket eden platform ve parkur blokları yapabilirsiniz.
Ve daha bin türlü şey yapılabilir.


Herkese Mutlu Yıllar !
Beğenilecek bir şey yok(skript'i paylaşmadığımdan söylüyorum egomdan değil) ama genede beğen tuşu hemen altda.



 
Son düzenleme:

korkugunu

Kızıltaş Madencisi
En iyi cevaplar
0
Güzel bir skript tebrikler. Sizede mutlu ve huzurlu yıllar olmasını dilerim.
 

ZakaTPakaBLoTS

YASAKLANDI
En iyi cevaplar
0
Arkadaş zor bişeyi yaptığı için egosu şişti galiba.
Sebebini zaten belirttim.Sadece diğerlerine motivasyon olsun diye ekledim.
Ben araştırdığımda ve bazı kişilere sorduğumda sadece javada yapılır skript de yapamazsın vs diyenler oldu(kabaca).
Onların kulaklarını çınlatmak için açtım biraz da.
[DOUBLEPOST=1420105923,1420105865][/DOUBLEPOST]
Okudum konuyu merak etme. Sen sorumu anlamamışsın. Tamam işine lazımmış yapmışsın ama başkalarının işine yaraması için paylaşmicaksan neden tanıtıyorsun? Gerekiyorsa sunucunda tanıt
Gereksiz olarak düşünüyorsan konuyu izlemeyebilirsin.
 
Son düzenleme:

TheBlueDeath

Nether Yerlisi
En iyi cevaplar
0
Sebebini zaten belirttim.Sadece motivasyon olsun diye ekledim.
Ben araştırdığımda sadece javada yapılır skript yapamaz vs diyorlardı.
Onların kulaklarını çınlatmak için açtım biraz da.
Daha çok egonu tatmin ediyorsun gibi geliyor."Yapılamaz dediniz , yaptım. Şimdi bi daha bana yapılamaz demeyin uleynn" demişsin gibi hissettim
 

ZakaTPakaBLoTS

YASAKLANDI
En iyi cevaplar
0
Daha çok egonu tatmin ediyorsun gibi geliyor."Yapılamaz dediniz , yaptım. Şimdi bi daha bana yapılamaz demeyin uleynn" demişsin gibi hissettim
O zaman öyle düşünebilirsin.Ama amacım o değil.
Ama senin düşüncenden yola çıkarsak ve öyle bir şey yapmış olsaydım şu cevabı alırdın 'Sende yap sende tatmin et'
Ama dediğim gibi bu sefer amacım ego tatmin etmek değil zaten yeterince tatminim dün geceki yılbaşından.
Bu seferki amacım skript'in sınırlarının da gayet yüksek olduğunu göstermek.
 

RedFail

Elmas Madencisi
En iyi cevaplar
0
Konuyu okumayacaksan neden yorum atma gereği duydun ?
Bir şeye emek vermen çok güzel. Tamam iyi de Paylaşmayacaksan Foruma Koymanında Bir Anlamı Yok.

Ha Bu Arada. Bunun Mantığı Copy Paste Değil mi? Veya Schematic? Yani Pek Bir İşe Yaramaz yada Ben Öyle Düşünüyorum.(Ne İşe Yaradığını Anlamadım)
 

ZakaTPakaBLoTS

YASAKLANDI
En iyi cevaplar
0
Bir şeye emek vermen çok güzel. Tamam iyi de Paylaşmayacaksan Foruma Koymanında Bir Anlamı Yok.

Ha Bu Arada. Bunun Mantığı Copy Paste Değil mi? Veya Schematic? Yani Pek Bir İşe Yaramaz yada Ben Öyle Düşünüyorum.(Ne İşe Yaradığını Anlamadım)

Sorun şurada.Skript'de copy paste diye bir olay yok :)
Bu olay skript'e eklendikten sonra şu ve şuna benzer olaylar skript ile kolayca yapılabilir:

ZSchem kullanılarak neler yapılabilir ?
-Blokla bir gemi yapıp bu gemiyi skript ile kodlayıp zcshem'den destek alırsanız hareket ettirebilir,döndürebilirsiniz.

-Örnek olarak yerden kazıklar çıkaran bir yetenek yapabilirsiniz.

-Hareket eden platform ve parkur blokları yapabilirsiniz.
Ve daha bin türlü şey yapılabilir.
 

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
Dur ya bir şey anlayamadım :( Worldedit'tekine göre +'sı ne ? Skripti paylaşmış olsan daha kolay anlaşılırdı* neyse her şekilde düzgün olmayan bir şeyi tanıtmassın zaten elbet bir şeyi vardır :3
 

ZakaTPakaBLoTS

YASAKLANDI
En iyi cevaplar
0
Konunun açılma amacını son kez yazıyorum fakat ondan önce:
Çok şey istiyorsunuz.Ben yapacağım,kafa patlatacağım ve karşılıksız bir şekilde bunu size sunacağım.
Malesef benim stilim değil.Ama yapmak isteyen varsa mantığını konuya yazdım.

Konunun açılma amacı insanların görüşlerini öğrenmek,şikayetlerini değil.
 

TheBlueDeath

Nether Yerlisi
En iyi cevaplar
0
O zaman öyle düşünebilirsin.Ama amacım o değil.
Ama senin düşüncenden yola çıkarsak ve öyle bir şey yapmış olsaydım şu cevabı alırdın 'Sende yap sende tatmin et'
Ama dediğim gibi bu sefer amacım ego tatmin etmek değil zaten yeterince tatminim dün geceki yılbaşından.
Bu seferki amacım skript'in sınırlarının da gayet yüksek olduğunu göstermek.
"Egoist biri olmadığım için tatmin etmeme gerek yok" cevabını alırdın bendende bu arada bu sefer amacım ego tatmin etmek değil derken demekki daha önce egonu tatmin etme çabalarına girmişsin. Skriptin sınırlarını zorlamışsın saygı duyarım. Ama sırf birilerine hava atmak için böyle bir konu açman çokta gerekli gelmedi. Hava atmak istediklerine gösterseydin yeterdi :/
 
Üst