2チーム以上のPVPゲーム作成を補助するプラグインです。
/tc [message]
コマンド/map
で出てくるフォームで操作します。
map name
識別に使われます。同じ名前は使用不可能です。
map level name
フォームを出したプレイヤーのLevelがマップのLevelになります。
spawn points group
マップのスポーン地点グループ
はチームのスポーン地点はと一致します。
(スポーン地点グループはランダムで割り当てられる)
Game
はIDとTYPEを持っています。
IDはそれぞれユニークな物で、API側で指定します。
TYPEは重複しても大丈夫な物で、ユーザーが指定します。
TYPEは複数種類のゲームモード(チーデス、ドミネーション)を作るときに役立ちます。
GameTypeListなどのクラスを作り管理することを推奨します。
use pocketmine\utils\TextFormat;use team_game_system\TeamGameSystem;
use team_game_system\model\Team;
$teams = [
Team::asNew("RED",TextFormat::RED),
Team::asNew("Blue",TextFormat::BLUE),
];
$map = TeamGameSystem::selectMap("map_name", $teams);
use pocketmine\utils\TextFormat;
use team_game_system\model\Game;
use team_game_system\model\GameType
use team_game_system\model\Team;
$teams = [
Team::asNew("RED",TextFormat::RED),
Team::asNew("Blue",TextFormat::BLUE),
];
$game = Game::asNew(new GameType("TDM", $map, $teams));
//↓設定しなくてもOK
$game->setMaxPlayersCount(30);//試合に参加できる最大人数
$game->setMaxPlayersDifference(1);//チーム間の人数差制限
$game->setMaxScore(50);//勝利判定スコア
$game->setTimeLimit(600);//時間制限(秒)
use team_game_system\TeamGameSystem;
TeamGameSystem::registerGame($game);
use team_game_system\TeamGameSystem;
TeamGameSystem::startGame($scheduler, $gameId);
use team_game_system\TeamGameSystem;
TeamGameSystem::finishedGame($gameId);
use team_game_system\TeamGameSystem;
TeamGameSystem::getAllGames();
use team_game_system\TeamGameSystem;
TeamGameSystem::getGame($gameId);
use team_game_system\model\GameType;
use team_game_system\TeamGameSystem;
TeamGameSystem::findGamesByType(new GameType("TDM"));
use team_game_system\model\GameType;
use team_game_system\TeamGameSystem;
TeamGameSystem::getTeam($gameId, $teamId);
use team_game_system\TeamGameSystem;
TeamGameSystem::joinGame($plyaer, $gameId);
use team_game_system\TeamGameSystem;
TeamGameSystem::joinGame($plyaer, $gameId);
use team_game_system\TeamGameSystem;
TeamGameSystem::quitGame($plyaer);
use team_game_system\model\Score;
use team_game_system\TeamGameSystem;
TeamGameSystem::addScore($gameId,$teamId,new Score(1));
use team_game_system\TeamGameSystem;
TeamGameSystem::setSpawnPoint($player);
use team_game_system\TeamGameSystem;
TeamGameSystem::getPlayerData($player);
use team_game_system\TeamGameSystem;
TeamGameSystem::getGamePlayersData($gameId);
use team_game_system\TeamGameSystem;
TeamGameSystem::getTeamPlayersData($teamId);
プレイヤーがゲームに参加したときに呼び出されます
プレイヤーがチームを移動したときに呼び出されます
プレイヤーが相手に倒されたときに呼び出されます
スコアが追加されたときに呼び出されます
プレイヤーがゲームから抜けたときに呼び出されます
ゲームが開始されたときに呼び出されます
ゲームの経過時間が更新されたときに呼び出されます
form_builder
slot_menu_system
↑2つを導入してください
repositoriesに以下を追加
{
"type": "git",
"name": "mine_deep_rock/team_game_system",
"url": "https://github.com/MineDeepRock/team_game_system"
}
requireに以下を追加
"mine_deep_rock/team_game_system": "dev-master",