Monarch Fix

Whistle

Ruhsuz :/
Kurucu
Geliştirici
Yardımsever Üye
Mesaj
12.454
Çözümler
580
Beğeni
16.646
Puan
6.281
Ticaret Puanı
2
Oyunda var olan ama kullanılmayan monarşi sistemi üzerinde uğraşırken gördüğüm bi sorunun çözümünü anlatacağım.

Monarşi sisteminde hükümdar eklemeye çalışırsanız işlem başarısız olacak ve db syserr dosyasında şu hata kaydı olacaktır;
Kod:
Genişlet Daralt Kopyala
SYSERR: Feb 10 03:45:34 :: ChildLoop: AsyncSQL: query failed: Unknown column 'name' in 'field list' (query: REPLACE INTO monarch (empire, name, windate, money) VALUES(3, 10, now(), 1985947860) errno: 1054)

Hatadan da anlaşılacağı üzere player.monarch tablosuna verileri eklerken "name" adında bir sütün olmadığını belirtiyor. Veritabanında ise pid olarak ismi belirtilmiş. Eğer veritabanın da pid olan yeri name olarak değiştirirseniz sistem yine düzgün çalışmayacaktır.

Bunun çözümü için şunu yapınız;
db/src/Monarch.cpp açın ve aratın;
C++:
Genişlet Daralt Kopyala
    snprintf(szQuery, sizeof(szQuery),
                    "REPLACE INTO monarch (empire, name, windate, money) VALUES(%d, %d, now(), %lld)", Empire, p->pid[Empire], p->money[Empire]);

Şu şekilde değiştirin;
C++:
Genişlet Daralt Kopyala
    snprintf(szQuery, sizeof(szQuery),
                    "REPLACE INTO monarch (empire, pid, windate, money) VALUES(%d, %d, now(), %lld)", Empire, p->pid[Empire], p->money[Empire]);

Daha sonra db'yi build edip filesinize atın. Artık bayraklara kral ekleyebilirsiniz. :)

Kanıt;
Metin2 Monarch Bug Fix.webp
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst