improved player class

This commit is contained in:
kremsy
2013-11-09 23:01:54 +01:00
parent c9ab3fe799
commit 96eaa77b97
5 changed files with 123 additions and 97 deletions

View File

@ -35,10 +35,13 @@ class Player {
public $ladderscore;
public $created;
public $rightLevel;
//TODO: usefull construct player without rpc info?
//TODO: isBot properti
//TODO: add all attributes like, allies, clublink ... just make vardump on rpc infos
//TODO: READ ADDITIONAL INFOS FROM DATABASE
public function __construct($rpc_infos = null){
if ($rpc_infos) {
@ -98,6 +101,10 @@ class Player {
$this->ladderscore = 0;
$this->created = 0;
}
//rightlevels, 0 = user, 1 = operator, 2 = admin, 3 = superadmin, 4 = headadmin (from config)
$this->rightLevel = 0;
}
}

View File

@ -14,12 +14,18 @@ namespace ManiaControl;
* @package ManiaControl
*/
class playerHandler {
/**
* Private properties
*/
private $playerList;
private $mc;
/**
* Public properties
*/
public $rightLevels = array(0 => 'Player', 1 => 'Operator', 2 => 'Admin', 3 => 'MasterAdmin', 4 => 'MasterAdmin');
public function __construct(ManiaControl $mc){
$this->mc = $mc;
$this->playerList = array();
@ -29,7 +35,7 @@ class playerHandler {
/**
* initializes a Whole Playerlist
* initializes a Whole PlayerList
* @param $players
*/
public function addPlayerList($players){
@ -43,11 +49,14 @@ class playerHandler {
*/
public function playerConnect($player){
//TODO: Welcome Message?, on mc restart not all players listed, no relay support yet
//TODO: Add Rights
//TODO: Database
$this->mc->client->query('GetDetailedPlayerInfo', $player[0]);
$this->addPlayer(new Player($this->mc->client->getResponse()));
$player = $this->playerList[$player[0]];
if($player->pid != 0){ //Player 0 = server
$this->mc->chat->sendChat('$ff0New Player: '. $player->nickname . '$z $ff0Nation:$fff ' . $player->nation . ' $ff0Ladder: $fff' . $player->ladderrank);
$string = array(0 => 'New Player', 1 => 'Operator', 2 => 'Admin', 3 => 'MasterAdmin', 4 => 'MasterAdmin');
$this->mc->chat->sendChat('$ff0'.$string[$player->rightLevel].': '. $player->nickname . '$z $ff0Nation:$fff ' . $player->nation . ' $ff0Ladder: $fff' . $player->ladderrank);
}
}

View File

@ -60,7 +60,7 @@ namespace ManiaControl;
*/
public function disablePlugin()
{
$this->active = true;
$this->active = false;
}
/**

View File

@ -227,6 +227,7 @@ class Server {
return $gameMode;
}
//TODO: remove getPlayer / getPlayers -> methods now in playerHandler handeld, but should be improved more
/**
* Fetch player info
*