[SKQ Add-on] NanoConfig v1, uzun config sistemlerine son!

Nano_Sensei

Kızıltaş Madencisi
Mesajlar
429
En iyi cevaplar
0
Beğeniler
322
Puanları
680
Selamlar.

Bilgisayarım yeni geldi, bunu kutlamak için de bu add-on'u yazdım. SkQuery 3.22.1 gerektirir.
Bu kod ile YAML dosyaları yerine doğrudan script dosyanızdan verileri temiz bir şekilde çekebilirsiniz. Ayrıca tek dosyada birden fazla config oluşturabilirsiniz!

Eklediği kodlar:
Kod:
# Değer belirleme:
nanoconfig "Config adı" data "Veri adı" = "Veri"

# Değeri alma:
set variable named "Değişken adı { olmadan" to value from nanoconfig "Config adı" data "Veri adı"

# Configi silme:
delete nanoconfig "Config adı"

# Configde herhangi bir veriyi silme:
delete nanoconfig "Config adı" data "Veri adı"

nanoconfig.sk içindeki test etme kodları:

Kod:
command /configcreate:
    trigger:
        nanoconfig "1" data "test" = "A"
        set variable named "_asd" to value from nanoconfig "1" data "test"
        send "/configcreate. Test verisi: %{_asd}%"
   
command /configdelconfig:
    trigger:
        delete nanoconfig "1"
        send "/configdelconfig."
   
command /configdeldata:
    trigger:
        delete nanoconfig "1" data "test"
        send "/configdeldata."
   
command /configtest:
    trigger:
        set variable named "_asd" to value from nanoconfig "1" data "test"
        send "/configtest. Test verisi: %{_asd}%"

 


Son düzenleme:

bikkik

Obsidyen Madencisi
Mesajlar
1,249
En iyi cevaplar
0
Beğeniler
820
Puanları
1,990
Şimdi tam anlamışmıyım ? :
Bu add-on sayesinden skript ile config dosyası oluşturabileceğiz. Ondan veri çekip düzenleyebileceğiz fln ?
 

Nano_Sensei

Kızıltaş Madencisi
Mesajlar
429
En iyi cevaplar
0
Beğeniler
322
Puanları
680
Şimdi tam anlamışmıyım ? :
Bu add-on sayesinden skript ile config dosyası oluşturabileceğiz. Ondan veri çekip düzenleyebileceğiz fln ?
Evet, doğru anlamışsın :) Fakat bu sistem tamamen yeni bir şey değil, Skript'in kendi config sistemi var eklentilerle gelen, bu kod daha çok işlemi pratikleştirmek için.
 
Son düzenleme:

bikkik

Obsidyen Madencisi
Mesajlar
1,249
En iyi cevaplar
0
Beğeniler
820
Puanları
1,990
O zmn Helal Olsun :D
 

CeapLinCess

Kızıltaş Madencisi
Mesajlar
496
En iyi cevaplar
0
Beğeniler
169
Puanları
650
oo süper olmuş
Skriptten az analsaydım iyidi ya :)
 

AtomyTR

Atomart - En büyük Discord Türk Sanat topluluğu.
Grafiker
Emekli
Mesajlar
1,671
En iyi cevaplar
19
Beğeniler
1,746
Puanları
5,090
Ruh hali
Hocam tam anlayamadım şimdi bunun amacı ne ?
 

AtomyTR

Atomart - En büyük Discord Türk Sanat topluluğu.
Grafiker
Emekli
Mesajlar
1,671
En iyi cevaplar
19
Beğeniler
1,746
Puanları
5,090
Ruh hali

Nano_Sensei

Kızıltaş Madencisi
Mesajlar
429
En iyi cevaplar
0
Beğeniler
322
Puanları
680
Şöyle anlatayım:
Mesela bir minigame yazıyorsun fakat bu kodu vereceğin kişi Skriptten zerre anlamıyor. Mesajları vb. düzenlemesi de doğal olarak zor tabii. Sen de bunu aşmak için bir dosyaya config sistemi kuruyorsun, fakat Skript eklentilerinin sana verdiği seçenek çok fazla disk yeri kaplıyor. İşte NanoConfig bu durumda sana yardımcı oluyor.
Ayrıca fazladan kayıt dosyasına da ihtiyacın olmuyor, çünkü bu config verileri variable olarak kaydediliyor. (Büyük ihtimalle yine anlamadın ._.)
 

Blueyescat

Bedrock Kaşifi
Mesajlar
1,656
En iyi cevaplar
0
Beğeniler
1,177
Puanları
3,120
Ruh hali
Öncelikle aşırı gereksiz bir addon. Sadece kodlar uzatılmış ve düzeni bozulmuş.
Dosya oluşturma diye bir şey yok. Skriptte zaten bulunan variable setlemekten başka bir şey değil, ve variable addonlar ile gelen bir şey de değil.
nanoconfig "Liste" data "icerik" = "deger"
nanoconfig.config::liste::icerik, string, 80054465676572


set {liste::icerik} to "deger"
liste::deger, string, 80054465676572
set variable named "_asd" to value from nanoconfig "liste" data "icerik"
_asd, string, 80054465676572


%{liste::yeniBirListe::icerik}%
delete nanoconfig "Liste"

delete {liste::*}
delete nanoconfig "liste" data "icerik"

delete {liste::icerik}
Yani benim istediğim dışında başka bir liste daha yer kaplıyor. Ben liste oluşturmak zorunda değilim orası başka.
Sadece ayar değerleri yapsam yine aynı gereksiz bir liste (nanoconfig.config::ayarlar::prefix), fakat bana lazım olan örnek olarak sadece ayarlar::prefix .
Üstelik overwrite yapmıyor. Yani aynı variableyi 2 kere oluşturduğumuzda önceki variable de veriables.csv dosyasında kalır.

Kolaylık falan bahsediyorsun; daha zor ve düzensiz. Skripti bilmeyen biri -örneğin- config.yml dosyasını açıp "prefix: []" yazısını değiştirmeyi, skript kodlarını düzenlemekten daha iyi bilir.
 
Son düzenleme:

Nano_Sensei

Kızıltaş Madencisi
Mesajlar
429
En iyi cevaplar
0
Beğeniler
322
Puanları
680
Öncelikle aşırı gereksiz bir addon. Sadece kodlar uzatılmış ve düzeni bozulmuş.
Dosya oluşturma diye bir şey yok. Skriptte zaten bulunan variable setlemekten başka bir şey değil, ve variable addonlar ile gelen bir şey de değil.

Yani benim istediğim dışında başka bir liste daha yer kaplıyor. Ben liste oluşturmak zorunda değilim orası başka.
Sadece ayar değerleri yapsam yine aynı gereksiz bir liste (nanoconfig.config::ayarlar::prefix), fakat bana lazım olan örnek olarak sadece ayarlar::prefix .
Üstelik overwrite yapmıyor. Yani aynı variableyi 2 kere oluşturduğumuzda önceki variable de veriables.csv dosyasında kalır.
Overwrite yapıyor, denedim.
Dosya oluşturduğu yazmıyor zaten. Üstteki yorumu okuyabilirsin.
Zaten skq nun amacı sadece variable setlemek ve bilgi çekmek, benim amacım dosya fazlalığını azaltmak.
"Name conflict" önlemek için liste kullanıyorum ayrıca delete efektinde gerekli.
"Kodlar uzatılmış ve düzen bozulmuş" demişsin, aksine kodlar daha düzgün ve anlaşılır.
 

Blueyescat

Bedrock Kaşifi
Mesajlar
1,656
En iyi cevaplar
0
Beğeniler
1,177
Puanları
3,120
Ruh hali
Nano_Sensei' Alıntı:
Overwrite yapıyor, denedim.

Nedense bende owerwrite yapmadı? Önce o variable yokmu diye kontrol etmen bunu çözer. local variableyide veriablese koydu :S

Nano_Sensei' Alıntı:
Dosya oluşturduğu yazmıyor zaten. Üstteki yorumu okuyabilirsin.

Kendi yorumunu okuyabilirsin.

Zaten skq nun amacı sadece variable setlemek ve bilgi çekmek, benim amacım dosya fazlalığını azaltmak.
"Name conflict" önlemek için liste kullanıyorum ayrıca delete efektinde gerekli.
Name conflict olmas, skripti kullanan kişiye bağlıdır. Listelerin adıda aynı olabilir?
"Kodlar uzatılmış ve düzen bozulmuş" demişsin, aksine kodlar daha düzgün ve anlaşılır.
Ciddi misin?
set variable named "_asd" to value from nanoconfig "liste" data "icerik"
_asd, string, 80054465676572


%{liste::yeniBirListe::icerik}%
Hangisi daha kısa ve basit belli. Ayrıca bu kod gereksiz bir local da olsa variable oluşturuyor.
Kolaylık falan bahsediyorsun; daha zor ve düzensiz. Skripti bilmeyen biri -örneğin- config.yml dosyasını açıp "prefix: []" yazısını değiştirmeyi, skript kodlarını düzenlemekten daha iyi bilir.
 
Son düzenleme:

Nano_Sensei

Kızıltaş Madencisi
Mesajlar
429
En iyi cevaplar
0
Beğeniler
322
Puanları
680
Nedense bende owerwrite yapmadı? Önce o variable yokmu diye kontrol etmen bunu çözer. local variableyide veriablese koydu :S



Kendi yorumunu okuyabilirsin.



Ciddi misin?


Hangisi daha kısa ve basit belli. Ayrıca bu kod gereksiz bir local da olsa variable oluşturuyor.
Senin görüşün, ayrıca o mesajımı da yanlış anladın. Orada belirtmişim zaten "pratikleştirilmiş hali"
Overwrite yapmıyorsa sende delete çekersin olur biter, konu baltalamayalım. 5 yabancı arkadaşım kodu denedi ve memnun.
Ayrıca variable oluşturduğunu belirtmiştim.
 

Üst