Çözüldü item_proto.txt ile ilgili....

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

RodeRein

MT Üye
MT Üye
Mesaj
163
Çözümler
10
Beğeni
91
Puan
714
Ticaret Puanı
0
Arkadaşlar merhaba, ben item_proto.txt üzerinde değişim yaparken şaşırıyorum.
Navicat üzerinden yapmam gerekiyor ama server navicat üzerinden çekmiyor bunu.

bu .txt dosyasını farklı türde açma şansım var mı ? navicatta açma gibi ?

ve ya navicatta düzenlediğim item protoyu txt yapıp direkt oraya atma şansım varmı ?

txt dosyası üzerinden düzenlemek cok zor oluyor
 
Çözüm
Daha önce TXT dosyalarıyla ilgili Metin2 geliştirici eğitimi videomda bahsetmiştim ancak bunla ilgili 1-2 dklık kısa videolarda atmayı planlıyorum kanala.

Öncelikle. Eğer NO_TXT kurulu değilse oyun açılırken tüm verileri txt dosyalarından okur ve önbelleğe (cache) alır. Bu işlemi yaparken veritabanına kayıt eder. Yani asla ve asla veritabanına yükledikten sonra veritabanından veriyi alıp oyun önbelleğine almaz.

Daha önce NO_TXT protoları düzenlerken çifte iş yükü getirdiği için kullanmadığımı ve bu yüzden Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'nde desteği eklemeyi göstermemiştim. Eklemek isteyenler yine de yazılı rehberlere bakarak yapabilirler. Ancak unutulmaması gereken bazı hususlar var.

NO_TXT...
yada NO_TXT açmak :D istediğiniz gibi navicattan düzenleme yapabilirsiniz
 
Knk zaten oyun navicatten çekiyor. Db açılırken txtleri veritabanına kaydediyor. Sonra oyun açılırken navicatten itemleri çekiyor. Ama oyun bunu sürekli yapmıyor. İlk açılırken birde reload çektiğin zaman.
 
evet bu konudan yaptım ama bunu yaptığımda buildde hata veriyor

Kod:
ClientManagerBoot.cpp:193: error: no 'bool CClientManager::InitializeMobTable()' member function declared in class 'CClientManager'
ClientManagerBoot.cpp:312: error: expected constructor, destructor, or type conversion before '.' token
ClientManagerBoot.cpp:313: error: expected constructor, destructor, or type conversion before '=' token
ClientManagerBoot.cpp:314: error: expected constructor, destructor, or type conversion before ';' token
ClientManagerBoot.cpp:315: error: expected unqualified-id before 'if'
ClientManagerBoot.cpp:320: error: expected unqualified-id before 'if'
 
Ekranda 2 tane kod görsünler yeterki. :D Knk bu arada eksik yapmış olabilirsin.
 
hahahaha bizlerin genel yaşadığı sorun bu sanırım daha dün aynı soruyu ben aldım :D
:) anlatsanda anlamıyorlar. Yazılım ile ilgilenmemiz veya programlama öğrenmemiz sanki onların 30 beğeni almış sevgililerin hesaplarına girmek için yaptığımız bir şey sinir oluyorum böyle şeylere. Önceden açıklar ile ilgileniyordum diye bana facebook u hackle diyo :) işleri bitincede PC başındaki asosyal rütbesine tenzil ediliyoruz yine
 
Ekranda 2 tane kod görsünler yeterki. :D Knk bu arada eksik yapmış olabilirsin.
Muhtemelen 3. deneyişimdede olmadı. Şu arat değiştir işini bi türlü beceremiyorum. Deli olcam haha :D
:) anlatsanda anlamıyorlar. Yazılım ile ilgilenmemiz veya programlama öğrenmemiz sanki onların 30 beğeni almış sevgililerin hesaplarına girmek için yaptığımız bir şey sinir oluyorum böyle şeylere. Önceden açıklar ile ilgileniyordum diye bana facebook u hackle diyo :) işleri bitincede PC başındaki asosyal rütbesine tenzil ediliyoruz yine
Ayıp dostum öyle deme, biz okulu facebook ve instagramda manitalar birbirini aldatır diye okuduk. Hemen CMD den matrix yapıp hacklemeliyiz. Ayıp etmişsin arkadaşa haha :D malesef ama dediğin gibi durum bu şekilde. İnsanlara bu durumu anlatmanın en kolay yolu şu bence. Ben doktorum ama çocuk doktoruyum gibi bişey olsa gerek :/
 
bunu yaparsam sunucu yorulur mu ? 40K src olduğu için yanlış bilmiyorsam navicattan çekmesi oyunu yoruyor diye biliyorum ?
Başkalarının lafıyla hareket etmeyin hocam.
Yoruyor diyolar ama yormadıklarından haberleri yok.
Linkleri görebilmek için giriş yap veya kayıt ol.
Bunu indirip kodları kontrol edebilirsiniz.
Nereye nasıl eklemişim karşılaştırın hata almazsınız.
 
Daha önce TXT dosyalarıyla ilgili Metin2 geliştirici eğitimi videomda bahsetmiştim ancak bunla ilgili 1-2 dklık kısa videolarda atmayı planlıyorum kanala.

Öncelikle. Eğer NO_TXT kurulu değilse oyun açılırken tüm verileri txt dosyalarından okur ve önbelleğe (cache) alır. Bu işlemi yaparken veritabanına kayıt eder. Yani asla ve asla veritabanına yükledikten sonra veritabanından veriyi alıp oyun önbelleğine almaz.

Daha önce NO_TXT protoları düzenlerken çifte iş yükü getirdiği için kullanmadığımı ve bu yüzden Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'nde desteği eklemeyi göstermemiştim. Eklemek isteyenler yine de yazılı rehberlere bakarak yapabilirler. Ancak unutulmaması gereken bazı hususlar var.

NO_TXT kullanmayıp proto txt dosyalarını düzenleyerek yeni item eklediğiniz zaman veya mevcut itemlerin özelliklerini değiştireceğiniz zaman type değerleri yazı olarak gözüktüğü için düzenlemek kolay olur. Veritabanına bunu yapamazsınız çünkü sayısal ifadeler bulunur. Birden fazla yazı bulunan ifadeleri ise sıralamaya bağlı olarak karesine çarparak hesaplar ki bunu manuel olarak sürekli hesaplamak zor oluyor.

proto dosyalarını düzenlemenin en iyi yolu Excel tarzı programlar kullanmaktır. Notepad++'da sütünlar Excel gibi hizalanmadığı için karışık gözüküyor ve düzenlemek zor olur. Bu yüzden Excel kullanmanız daha iyi olur. Zaten server tarafındaki protolarda yaptığınız her düzenlemeyi clientteki protolar içinde yapmanız gerekecek. item_proto ve mob_proto dosyalarını oluşturmak içinse txt dosyalarını düzenlemeniz gerekiyor. Yani sadece txt dosyalarını düzenleyerek hem server, hem de client tarafını kolaylıkla güncelleyebilirsiniz.


bunu yaparsam sunucu yorulur mu ? 40K src olduğu için yanlış bilmiyorsam navicattan çekmesi oyunu yoruyor diye biliyorum ?
Navicat'tan çekmesi oyunu yoruyor mu sorusuna gelirsek. Hayır yormuyor. Nedense herkes fikri olmadan konuşuyor. :)
 
Çözüm
Daha önce TXT dosyalarıyla ilgili Metin2 geliştirici eğitimi videomda bahsetmiştim ancak bunla ilgili 1-2 dklık kısa videolarda atmayı planlıyorum kanala.

Öncelikle. Eğer NO_TXT kurulu değilse oyun açılırken tüm verileri txt dosyalarından okur ve önbelleğe (cache) alır. Bu işlemi yaparken veritabanına kayıt eder. Yani asla ve asla veritabanına yükledikten sonra veritabanından veriyi alıp oyun önbelleğine almaz.

Daha önce NO_TXT protoları düzenlerken çifte iş yükü getirdiği için kullanmadığımı ve bu yüzden Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'nde desteği eklemeyi göstermemiştim. Eklemek isteyenler yine de yazılı rehberlere bakarak yapabilirler. Ancak unutulmaması gereken bazı hususlar var.

NO_TXT kullanmayıp proto txt dosyalarını düzenleyerek yeni item eklediğiniz zaman veya mevcut itemlerin özelliklerini değiştireceğiniz zaman type değerleri yazı olarak gözüktüğü için düzenlemek kolay olur. Veritabanına bunu yapamazsınız çünkü sayısal ifadeler bulunur. Birden fazla yazı bulunan ifadeleri ise sıralamaya bağlı olarak karesine çarparak hesaplar ki bunu manuel olarak sürekli hesaplamak zor oluyor.

proto dosyalarını düzenlemenin en iyi yolu Excel tarzı programlar kullanmaktır. Notepad++'da sütünlar Excel gibi hizalanmadığı için karışık gözüküyor ve düzenlemek zor olur. Bu yüzden Excel kullanmanız daha iyi olur. Zaten server tarafındaki protolarda yaptığınız her düzenlemeyi clientteki protolar içinde yapmanız gerekecek. item_proto ve mob_proto dosyalarını oluşturmak içinse txt dosyalarını düzenlemeniz gerekiyor. Yani sadece txt dosyalarını düzenleyerek hem server, hem de client tarafını kolaylıkla güncelleyebilirsiniz.



Navicat'tan çekmesi oyunu yoruyor mu sorusuna gelirsek. Hayır yormuyor. Nedense herkes fikri olmadan konuşuyor. :)
O zaman dediklerinizden şunu çıkarıyorum.

Dostum noTxt yi boşver. Txt dosyası üzerinden düzenle ( Tabi burdaki örneğin Stackleme komutunu ne diye değişcez mesela bunları nerden bulcam ) ve dump proto ile dumplayıp locale yükle. Daha basit ve sağlıklı olur.


Ancak burda şöyle bir sorunum var mesela ordaki yazısal değerler örn stackable ve ya no stackable komutlarını ne gibi değiştirmem gerekiyor ve ya bu kodlara nerden ulaşıcam
 
Evet bu da güzel bir soru oldu. Tüm yazı değerlerine db/src/ProtoReader.cpp dosyasından bakabilirsiniz. Eğer bu iş için vakit ayıran olursa tüm yazı değerlerinin türkçe karşılığını yer alan konu alabilir. :)
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst