Tipologie server(PvM / PvP):
*Resursă folosită: *Link exclusiv J4M*
*ServerFiles utilizat: 40k
*Syserr: vacuum
Poză:
*Detalii suplimentare:
Am încercat să adaug sistemul Vegas Country flag cu această funcție și când am conectat ch core crashMultilanguage funcție :
//@Src/Server/game/char.h
public:
void SetLanguage(const char* c_pszLang);
const char* GetLanguage() const;
//@Src/Server/game/char.cpp
void CHARACTER::SetLanguage(const char* c_pszLang)
{
DBManager::instance().Query("UPDATE account.account SET language = '%s' WHERE id = '%d'", c_pszLang, GetDesc()->GetAccountTable().id);
}
const char* CHARACTER::GetLanguage() const
{
std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT language FROM account.account WHERE id = '%d'", GetDesc()->GetAccountTable().id));
return mysql_fetch_row(pMsg->Get()->pSQLResult)[0];
}
//@Src/Server/game/questlua_pc.cpp
{ "set_language", pc_set_language },
{ "get_language", pc_get_language },
int pc_set_language(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
if (!ch)
return 0;
if (!lua_isstring(L, 1))
{
sys_err("QUEST : wrong argument");
return 0;
}
ch->SetLanguage(lua_tostring(L, 1));
return 1;
}
int pc_get_language(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
if (!ch)
return 0;
lua_pushstring(L, ch->GetLanguage());
return 1;
}
MYSQL Table :
COLUMN `language` varchar(2) NOT NULL DEFAULT 'de' AFTER `login`;
funcție CountryFlag crash problem :
strlcpy(addPacket.language, GetLanguage(), sizeof(addPacket.language));
Syserr empty
vă mulțumesc anticipat



