2010-10-10 03:28:17 PDT
File: server.cpp
After:
if (downloaded || uploaded)
m_users_updates_buffer += Csql_query(m_database, "(?,?,?),").p(downloaded).p(uploaded).p(user->uid).read();
Add:
//****** SeedBonus *** start ******//
if (!downloaded) {
m_users_bonus_buffer += Csql_query(m_database, "bonus = bonus + 1 where @uid = '?'").p(user->uid).read();
}
//****** SeedBonus *** stop ******//
After:
if (!m_users_updates_buffer.empty())
{
m_users_updates_buffer.erase(m_users_updates_buffer.size() - 1);
try
{
m_database.query("insert into " + db_name("users") + " (downloaded, uploaded, " + db_name("uid") + ") values "
+ m_users_updates_buffer
+ " on duplicate key update"
+ " downloaded = downloaded + values(downloaded),"
+ " uploaded = uploaded + values(uploaded)");
}
catch (Cdatabase::exception&)
{
}
m_users_updates_buffer.erase();
}
Add:
//****** SeedBonus *** start ******//
if(!m_users_bonus_buffer.empty())
{
m_users_bonus_buffer.erase(m_users_bonus_buffer.size() - 1);
try
{
m_database.query("UPDATE " + db_name("users") + " SET " + m_users_bonus_buffer);
}
catch (Cdatabase::exception&)
{
}
m_users_bonus_buffer.erase();
}
//****** SeedBonus *** stop ******//
File: server.h
After:
std::string m_users_updates_buffer;
Add:
//****** SeedBonus *** start ******//
std::string m_users_bonus_buffer;
//****** SeedBonus *** stop ******//
logically, as I understand it, all right, but not working :(
tell me please where I go wrong?
The idea is that the bonus would be if the user is at hand, regardless of swing with it or not