mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-14 20:12:26 +00:00
CreateNewPlayerTitle converted to QueryDatabase
This commit is contained in:
parent
7d8d96c049
commit
81cf748b2b
@ -235,48 +235,37 @@ bool TitleManager::IsNewTradeSkillTitleAvailable(int SkillID, int SkillValue)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TitleManager::CreateNewPlayerTitle(Client *c, const char *Title)
|
void TitleManager::CreateNewPlayerTitle(Client *client, const char *title)
|
||||||
{
|
{
|
||||||
if(!c || !Title)
|
if(!client || !title)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
char *escTitle = new char[strlen(title) * 2 + 1];
|
||||||
char *query = nullptr;
|
|
||||||
MYSQL_RES *result;
|
|
||||||
|
|
||||||
char *EscTitle = new char[strlen(Title) * 2 + 1];
|
client->SetAATitle(title);
|
||||||
|
|
||||||
c->SetAATitle(Title);
|
database.DoEscapeString(escTitle, title, strlen(title));
|
||||||
|
auto query = StringFormat("SELECT `id` FROM titles "
|
||||||
database.DoEscapeString(EscTitle, Title, strlen(Title));
|
"WHERE `prefix` = '%s' AND char_id = %i",
|
||||||
|
escTitle, client->CharacterID());
|
||||||
if (database.RunQuery(query, MakeAnyLenString(&query,
|
auto results = database.QueryDatabase(query);
|
||||||
"SELECT `id` from titles where `prefix` = '%s' and char_id = %i", EscTitle, c->CharacterID()), errbuf, &result))
|
if (results.Success() && results.RowCount() > 0){
|
||||||
{
|
safe_delete_array(escTitle);
|
||||||
if(mysql_num_rows(result) > 0)
|
return;
|
||||||
{
|
|
||||||
mysql_free_result(result);
|
|
||||||
safe_delete_array(query);
|
|
||||||
safe_delete_array(EscTitle);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
mysql_free_result(result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
safe_delete_array(query);
|
query = StringFormat("INSERT INTO titles (`char_id`, `prefix`) VALUES(%i, '%s')",
|
||||||
|
client->CharacterID(), escTitle);
|
||||||
if(!database.RunQuery(query,MakeAnyLenString(&query, "INSERT into titles (`char_id`, `prefix`) VALUES(%i, '%s')",
|
safe_delete_array(escTitle);
|
||||||
c->CharacterID(), EscTitle), errbuf))
|
results = database.QueryDatabase(query);
|
||||||
LogFile->write(EQEMuLog::Error, "Error adding title: %s %s", query, errbuf);
|
if(!results.Success()) {
|
||||||
else
|
LogFile->write(EQEMuLog::Error, "Error adding title: %s %s", query.c_str(), results.ErrorMessage().c_str());
|
||||||
{
|
return;
|
||||||
ServerPacket* pack = new ServerPacket(ServerOP_ReloadTitles, 0);
|
}
|
||||||
worldserver.SendPacket(pack);
|
|
||||||
safe_delete(pack);
|
|
||||||
}
|
|
||||||
safe_delete_array(query);
|
|
||||||
safe_delete_array(EscTitle);
|
|
||||||
|
|
||||||
|
ServerPacket* pack = new ServerPacket(ServerOP_ReloadTitles, 0);
|
||||||
|
worldserver.SendPacket(pack);
|
||||||
|
safe_delete(pack);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TitleManager::CreateNewPlayerSuffix(Client *c, const char *Suffix)
|
void TitleManager::CreateNewPlayerSuffix(Client *c, const char *Suffix)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user