İlan
04 Haz 2026 30 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python Metin2 source’ta config değişken ekleme (yang limi...
İlan Yan banner placeholder

Metin2 source’ta config değişken ekleme (yang limit örneği)

oguzbertan 04.05.2026 17:02 898 görüntüleme 4 cevap
Son Mesaj
oguzbertan
Üye
Üye
Katılım13 Nis 2026
Konular6
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 17:02 #1


Source’la uğraşmaya yeni girenler ya da biraz kurcalamış ama config tarafını tam çözmemiş olanlar için güzel bir konu bu. İlk başta çok gerekli gibi durmuyor ama bir noktadan sonra “şunu config’ten yönetsem daha iyi olur” diyorsun. Özellikle vanilla düzenleyip başkalarına dağıtanlar zaten bu olayı sık kullanıyor.



Mantık aslında basit, global bir değişken tanımlıyorsun ve bunu CONFIG dosyasına bağlı hale getiriyorsun. Örnek olarak yang limiti üzerinden gitmişler, en anlaşılır senaryo o. Çünkü sabit bırakınca ya düşük kalıyor ya da sonradan değiştirmek eziyet oluyor. İlk iş config.cpp’ye girip değişkeni global tanımlamak. Zaten dosyada tonla örnek var, onların arasına ekliyorsun. Veri tipi olarak unsigned long long seçiliyor çünkü büyük sayı tutmak istiyorsun ve negatif olmasının anlamı yok. O yüzden şöyle bir şey oluyor:
unsigned long long yang_max = 2000000000ULL;

Bu default değer önemli, yoksa hiç ayarlamazsan 0 geliyor ve sistem saçmalıyor. Sonra config.h tarafında extern olarak tanımlıyorsun ki diğer .cpp dosyaları da bunu görebilsin:
extern unsigned long long yang_max;



Asıl olay TOKEN kısmında başlıyor. config.cpp içinde TOKEN("max_level") gibi bloklar var ya, ondan bir tane kopyalayıp kendi değişkenine göre düzenliyorsun. Mesela:

Code:
TOKEN("yang_max")
{
str_to_number(yang_max, value_string);
yang_max = MINMAX(1, yang_max, 9999999999ULL);
fprintf(stderr, "YANG_MAX: %ulld\n", yang_max);
}


Burada value_string direkt CONFIG dosyasından geliyor, MINMAX ile sınır koyuyorsun. %ulld olayı da önemli, yanlış yazarsan crash yersin direkt. Bu kısmı ben ilk başta atlamıştım, boşuna debug yapmıştım baya. Sonrasında zaten iş kolay, istediğin .cpp dosyasında kullanıyorsun. Mesela char_battle.cpp açıyorsun, başta #include "config.h" olacak. Yoksa ekliyorsun. Sonra extern unsigned long long yang_max; diyorsun ve değişkeni her yerde kullanabil#include Olayın özeti şu aslında, sabit değer yerine config’e bağlı sistem kuruyorsun. Küçük bir şey gibi ama ileride baya fark yaratıyor. Bir kere alışınca çoğu şeyi bu şekilde yapmaya başlıyorsun zaten.


UL limitini aşmak istiyorsan iş sadece değişkeni büyütmekle bitmiyor. Paketlerin çoğu (DWORD kullananlar dahil) buna bağlı olduğu için hepsini tek tek değiştirmen gerekiyor. Açıkçası pek önermem, gereksiz fazla iş ve o kadar yüksek yang’a çoğu zaman zaten ihtiyaç olmuyor.
habatay
Üye
Üye
Katılım04 Mar 2026
Konular7
Mesajlar52
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 20:44 #2
Eline sağlık
oguzbertan
Üye
Üye
Katılım13 Nis 2026
Konular6
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
05.05.2026 01:19 #3
Eline sağlık
Sağolun.
Eymeneren
Üye
Üye
Katılım08 Mar 2026
Konular6
Mesajlar46
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
05.05.2026 04:49 #4
teşekkürler
oguzbertan
Üye
Üye
Katılım13 Nis 2026
Konular6
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
05.05.2026 08:35 #5
R
teşekkürler
Rica ederim.
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder