mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-12-23 03:40:05 +00:00
Added /population and /level commands.
Also made /mss an access level 30 command, for safety.
This commit is contained in:
parent
661070dc3a
commit
ce58411ff8
@ -52,6 +52,35 @@ void accessCommand(std::string full, std::vector<std::string>& args, CNSocket* s
|
||||
ChatManager::sendServerMessage(sock, "Your access level is " + std::to_string(PlayerManager::getPlayer(sock)->accountLevel));
|
||||
}
|
||||
|
||||
void populationCommand(std::string full, std::vector<std::string>& args, CNSocket* sock) {
|
||||
ChatManager::sendServerMessage(sock, std::to_string(PlayerManager::players.size()) + " players online");
|
||||
}
|
||||
|
||||
void levelCommand(std::string full, std::vector<std::string>& args, CNSocket* sock) {
|
||||
Player *plr = PlayerManager::getPlayer(sock);
|
||||
if (plr == nullptr)
|
||||
return;
|
||||
|
||||
char *tmp;
|
||||
int level = std::strtol(args[1].c_str(), &tmp, 10);
|
||||
if (*tmp)
|
||||
return;
|
||||
|
||||
if ((level < 1 || level > 36) && plr->accountLevel > 30)
|
||||
return;
|
||||
|
||||
if (!(level < 1 || level > 36))
|
||||
plr->level = level;
|
||||
|
||||
INITSTRUCT(sP_FE2CL_REP_PC_CHANGE_LEVEL, resp);
|
||||
|
||||
resp.iPC_ID = plr->iID;
|
||||
resp.iPC_Level = level;
|
||||
|
||||
sock->sendPacket((void*)&resp, P_FE2CL_REP_PC_CHANGE_LEVEL, sizeof(sP_FE2CL_REP_PC_CHANGE_LEVEL));
|
||||
PlayerManager::sendToViewable(sock, (void*)&resp, P_FE2CL_REP_PC_CHANGE_LEVEL, sizeof(sP_FE2CL_REP_PC_CHANGE_LEVEL));
|
||||
}
|
||||
|
||||
void mssCommand(std::string full, std::vector<std::string>& args, CNSocket* sock) {
|
||||
if (args.size() < 2) {
|
||||
ChatManager::sendServerMessage(sock, "[MSS] Too few arguments");
|
||||
@ -174,7 +203,9 @@ void ChatManager::init() {
|
||||
registerCommand("test", 1, testCommand);
|
||||
registerCommand("access", 100, accessCommand);
|
||||
// TODO: add help command
|
||||
registerCommand("mss", 100, mssCommand);
|
||||
registerCommand("mss", 30, mssCommand);
|
||||
registerCommand("level", 50, levelCommand);
|
||||
registerCommand("population", 100, populationCommand);
|
||||
}
|
||||
|
||||
void ChatManager::registerCommand(std::string cmd, int requiredLevel, CommandHandler handlr) {
|
||||
|
Loading…
Reference in New Issue
Block a user