- Added getPlayerByName() & validPlayerName()
- Added kickPlayer() command again (Still needs removePlayer())
- Added dump to .help
- Changed the way arguments where made in the process.js file
- Fixed type in process.js (killall -> kickall)
- Removed update from .help
This commit is contained in:
Cronick 2016-09-13 01:30:54 +02:00
parent 0eb318debc
commit 2c4d5645c6
3 changed files with 62 additions and 8 deletions

6
.help
View File

@ -1,8 +1,8 @@
players : How many players are connected
exit : Exit the server
update : Update the server
kick [Username] : Kick player by username
kick [Username] : Kick player by username
kickall : Kick all players
clear : Clear the server console
save : Save all players into database
spawn [Username] [Pkmn] [Amount] : Spawn pokemons at users position
spawn [Username] [Pkmn] [Amount] : Spawn pokemons at users position
dump : Dump assets

View File

@ -73,6 +73,39 @@ export function getPlayerByIP(ip) {
}
/**
* @param {String} name
*/
export function getPlayerByName(name) {
let players = this.players;
let ii = 0;
let length = this.connectedPlayers;
for (; ii < length; ++ii) {
if (players[ii].username === name) {
return (players[ii]);
}
};
return (null);
}
/**
* @param {String} name
* @return {Boolean}
*/
export function validPlayerName(name) {
return !(
name === null ||
name === void 0 ||
typeof name === "string" &&
name.length <= 1
);
}
/**
* @param {String} email
*/
@ -123,4 +156,24 @@ export function addPlayer(req, res) {
*/
export function removePlayer(player) {
print(`Removed ${player.email}`, 36);
}
/**
* @param {String} name
*/
export function kickPlayer(name) {
if (!this.validPlayerName(name)) {
print(`Invalid player name!`, 31);
return void 0;
}
let player = this.getPlayerByName(name);
if (player !== null) {
this.removePlayer(player);
print(`Kicked ${name} from the server!`);
}
else print(`Failed to kick ${name} from the server!`, 31);
}

View File

@ -18,9 +18,9 @@ export function processCommand(cmd, data) {
this.shutdown();
break;
case "/kick":
this.kickPlayer(data[1]);
this.world.kickPlayer(data[0]);
break;
case "/killall":
case "/kickall":
var length = players.length;
this.removeAllPlayers();
var result = length - players.length;
@ -41,7 +41,7 @@ export function processCommand(cmd, data) {
print(`Saved ${length} player${length === 1 ? "": "s"} into database!`);
break;
case "/spawn":
this.spawnPkmnAtPlayer(data[1], data[2], data[3] || 1);
this.spawnPkmnAtPlayer(data[0], data[1], data[2] || 1);
break;
case "/dump":
print("Preparing dump session..");
@ -57,8 +57,9 @@ export function processCommand(cmd, data) {
export function stdinInput(data) {
if (data.length <= 1) return void 0;
let cmds = data.split(" ");
this.processCommand(cmds[0], cmds.splice(0, 1));
let args = data.split(" ");
let cmds = args.shift()
this.processCommand(cmds, args);
};
export function uncaughtException(e) {