diff --git a/sql/select_statements.usql b/sql/select_statements.usql index fa21102..3d509ba 100644 --- a/sql/select_statements.usql +++ b/sql/select_statements.usql @@ -30,7 +30,8 @@ AND games.mapname = 'dm4ish'; -- Top players on dm4ish SELECT p.nickname, count(0) AS kills FROM OASTAT_PLAYERS p, OASTAT_KILLS k -WHERE k.attacker = p.guid AND k.gamenumber IN (SELECT gamenumber FROM OASTAT_GAMES WHERE mapname = 'dm4ish') GROUP BY p.guid,p.nickname ORDER BY kills DESC; +WHERE k.attacker = p.guid AND k.gamenumber IN (SELECT gamenumber FROM OASTAT_GAMES WHERE LOWER(mapname) = 'dm4ish') +GROUP BY p.guid,p.nickname ORDER BY kills DESC; --Top killers on the server SELECT p.nickname, count(0) FROM OASTAT_PLAYERS p, OASTAT_KILLS k diff --git a/src/db/Db2DbiXX.cpp b/src/db/Db2DbiXX.cpp index 5f29c7c..4b4023f 100644 --- a/src/db/Db2DbiXX.cpp +++ b/src/db/Db2DbiXX.cpp @@ -136,6 +136,11 @@ void Db2DbiXX::addCtf1f(int second, string player, int team, int event) { DebugMessage("addCtf1f"); } +void Db2DbiXX::addElimination(int second, int roundnumber, int team, int event) { + *sql << ELIMINATION,gamenumber,second,team,event,roundnumber,exec(); + DebugMessage("addElimination"); +} + int Db2DbiXX::getNextGameNumber() { int result = -1; row r; diff --git a/src/db/Db2DbiXX.hpp b/src/db/Db2DbiXX.hpp index e6e4f8e..5ac15e2 100644 --- a/src/db/Db2DbiXX.hpp +++ b/src/db/Db2DbiXX.hpp @@ -34,6 +34,7 @@ public: void addScoreInfo(int second, string player, int score); void addCtf(int second, string player, int team, int event); void addCtf1f(int second, string player, int team, int event); + void addElimination(int second, int roundnumber, int team, int event); private: session *sql; transaction *commitlock; diff --git a/src/db/database.hpp b/src/db/database.hpp index dbf71dc..9f46b1d 100644 --- a/src/db/database.hpp +++ b/src/db/database.hpp @@ -142,6 +142,8 @@ class Database { * @param event */ virtual void addCtf1f(int second, string player, int team, int event) = 0; + + virtual void addElimination(int second, int roundnumber, int team, int event) = 0; }; #endif //_DATABASE_H diff --git a/src/oss2db/Elimination2Db.cpp b/src/oss2db/Elimination2Db.cpp new file mode 100644 index 0000000..aed7988 --- /dev/null +++ b/src/oss2db/Elimination2Db.cpp @@ -0,0 +1,28 @@ +/* + * File: Elimination2Db.cpp + * Author: poul + * + * Created on 15. januar 2011, 16:21 + */ + +#include "Elimination2Db.hpp" + +Elimination2Db::Elimination2Db() { +} + +Elimination2Db::Elimination2Db(const Elimination2Db& orig) { +} + +Elimination2Db::~Elimination2Db() { +} + +string Elimination2Db::getCommand() { + return "ELIMINATION"; +} + +void Elimination2Db::process(OaStatStruct oss) { + if(oss.command != getCommand() || oss.parameters.size()<3 || oss.parameters.at(0)<0) + return; //Invalid oss + + dp->addElimination(oss.second,oss.parameters.at(0) /*roundnumber*/,oss.parameters.at(1) /*team*/, oss.parameters.at(2) /*event*/); +} \ No newline at end of file diff --git a/src/oss2db/Elimination2Db.hpp b/src/oss2db/Elimination2Db.hpp new file mode 100644 index 0000000..6d440ab --- /dev/null +++ b/src/oss2db/Elimination2Db.hpp @@ -0,0 +1,28 @@ +/* + * File: Elimination2Db.hpp + * Author: poul + * + * Created on 15. januar 2011, 16:21 + */ + +#ifndef _ELIMINATION2DB_HPP +#define _ELIMINATION2DB_HPP + +#include "struct2db.h" +#include "../local.h" + +class Elimination2Db : public Struct2Db { +public: + Elimination2Db(); + Elimination2Db(const Elimination2Db& orig); + virtual ~Elimination2Db(); + + string getCommand(); + + void process(OaStatStruct oss); +private: + +}; + +#endif /* _ELIMINATION2DB_HPP */ +