Ejemplo n.º 1
0
    bool accept(const char* field, const char* val)
    {
        m_m.clear();

        int len = strcpy_k(m_line, sizeof(m_line), val+1);
        m_line[len-1] = '\0';

        m_m.parseLine(m_line);

        const char* playerName = field;
        const char* viplevel = m_m.get("viplevel");
        int level = toGameLevel(m_m.get("level"));
        int lastActive = (int)str2i64(m_m.get("lastActive"));
        if(lastActive < m_startTime)
            return true;

        KPlayer* player = m_pServer->newPlayer();
        player->m_acctName = m_acctName;
        player->m_serverName = m_pServer->name();
        player->m_playerName = g_stringPool.get(playerName);
        player->m_level = level;
        player->m_viplevel = viplevel ? str2int(viplevel) : 0;
        player->m_lastActive = lastActive;

        return true;
    }
Ejemplo n.º 2
0
bool KActiveServerSet::accept(const char* field, const char* val)
{
    int pattern_len = strlen("lastActive.server.");
    time_t t = (time_t)str2i64(val);
    if(t >= m_start)
    {
        const char* server = g_stringPool.get(field + pattern_len);
        if(m_array.insert_unique(server) >= 0)
            Log(LOG_DEBUG, "debug: add active server '%s'", server);
    }
    return true;
}
Ejemplo n.º 3
0
    bool XMLDocument::GetInteger(const TiXmlElement& parent, const string& szName, _INT64& nValue) const
    {
        const TiXmlElement* item = parent.FirstChildElement(szName.c_str());

        if(item)
        {
            string s;
            GetElementText(*item, s);
            nValue = str2i64(s);
            return true;
        }
        return false;
    }
Ejemplo n.º 4
0
INT64 StringValue::Int64() const
{
	if(!isnumber3(m_val.c_str())) return 0;
	return str2i64(m_val.c_str());
}