Monarch Fix

Whistle

Ruhsuz Filozof
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.540
Çözümler
549
Beğeni
12.197
Puan
5.915
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:
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++:
    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++:
    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.jpg
 
Geri
Üst