Bug fixing™
This commit is contained in:
parent
42dc29ed27
commit
66013363d5
5 changed files with 33 additions and 19 deletions
13
README.md
13
README.md
|
@ -6,4 +6,15 @@ This is a recreation of this game for pocketmine !
|
||||||
Please note that this is still under development.
|
Please note that this is still under development.
|
||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
- /hideandseek <sub command> [parameters]
|
- /hideandseek <sub command> [parameters]
|
||||||
|
|
||||||
|
Sub Commands:
|
||||||
|
- creategame (or addgame): Creates a hide and seek
|
||||||
|
- deletegame (or delgame): Deletes the hide and seek
|
||||||
|
- setmaxplayers <number of players>(or smp): Sets the maximum number of players
|
||||||
|
- setseekerspercentage <percentage>(or ssp): Sets the percentage of players that will be seekers
|
||||||
|
- setwaittime <seconds to wait>(or swt): Sets the waiting time of players when 75 percents of the maximum players joined and the game starts
|
||||||
|
- setseektime <minutes to seek>(or sst): Sets the time seekers have to find all hiders before hiders wins
|
||||||
|
- setspawn(or ss): Sets the spawn of the place players will wait, hide, and seek
|
||||||
|
- setseekersspawn(or sss): Sets the place where players will be tped to while hiders are hiding
|
||||||
|
Please note that all those subcommands are relative to the world where you execute the command in.
|
|
@ -99,7 +99,7 @@ class DataBase extends SQLite3 {
|
||||||
*/
|
*/
|
||||||
protected static function setNumRows(\SQLite3Result &$result) {
|
protected static function setNumRows(\SQLite3Result &$result) {
|
||||||
$n = 0;
|
$n = 0;
|
||||||
while($result->fetchArray() !== false) $n++;
|
while($result->fetchArray()) $n++;
|
||||||
$result->reset();
|
$result->reset();
|
||||||
$result->num_rows = $n;
|
$result->num_rows = $n;
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,7 +165,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
$id = $this->getMain()->getDatabase()->get("*", ["table" => "Games"]);
|
$id = $this->getMain()->getDatabase()->get("*", ["table" => "Games"]);
|
||||||
$v3 = $this->getLevel()->getSafeSpawn();
|
$v3 = $this->getLevel()->getSafeSpawn();
|
||||||
$v3Ser = $v3->x . "," . $v3->y . "," . $v3->z; // V32String
|
$v3Ser = $v3->x . "," . $v3->y . "," . $v3->z; // V32String
|
||||||
$this->getMain()->getDatabase()->insert("Games", [$this->getName(), $v3Ser, $v3Ser, $this->getMain()->getMaxPlayers(), $this->getMain()->getWaitTime(), $this->getMain()->getSeekTime(), $this->getMain()->getSeekersPercentage(), $id->num_rows]); // Inserting the db with new queries
|
$this->getMain()->getDatabase()->insert("Games", [$this->getName(), $v3Ser, $v3Ser, $this->getMain()->getMaxPlayers(), $this->getMain()->getWaitTime(), $this->getMain()->getSeekTime(), $this->getMain()->getSeekersPercentage(), $id->num_rows+1]); // Inserting the db with new queries
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Exception("Could not contact database.");
|
throw new \Exception("Could not contact database.");
|
||||||
|
@ -212,7 +212,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@return \pocketmine\math\Vector3
|
@return \pocketmine\math\Vector3
|
||||||
*/
|
*/
|
||||||
public function getSpawn() : Vector3 {
|
public function getSpawn() : Vector3 {
|
||||||
$data = $this->getMain()->getDatabase()->get("spawnpoint", ["table" => "Games", "name" => $this->getName()]);
|
$data = $this->getMain()->getDatabase()->get("spawnpoint", ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
$data = explode(",", $data);
|
$data = explode(",", $data);
|
||||||
return new Vector3($data[0], $data[1], $data[2]);
|
return new Vector3($data[0], $data[1], $data[2]);
|
||||||
}
|
}
|
||||||
|
@ -223,7 +223,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@return \pocketmine\math\Vector3
|
@return \pocketmine\math\Vector3
|
||||||
*/
|
*/
|
||||||
public function getSeekerSpawn() : Vector3 {
|
public function getSeekerSpawn() : Vector3 {
|
||||||
$data = $this->getMain()->getDatabase()->get("seekerspawn", ["table" => "Games", "name" => $this->getName()]);
|
$data = $this->getMain()->getDatabase()->get("seekerspawn", ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
$data = explode(",", $data);
|
$data = explode(",", $data);
|
||||||
return new Vector3($data[0], $data[1], $data[2]);
|
return new Vector3($data[0], $data[1], $data[2]);
|
||||||
}
|
}
|
||||||
|
@ -294,7 +294,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@return int
|
@return int
|
||||||
*/
|
*/
|
||||||
public function getMaxPlayers() : int {
|
public function getMaxPlayers() : int {
|
||||||
return (int) $this->getMain()->getDatabase()->get("max_players", ["table" => "Games", "name" => $this->getName()])[0];
|
return (int) $this->getMain()->getDatabase()->get("max_players", ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -302,7 +302,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@return int
|
@return int
|
||||||
*/
|
*/
|
||||||
public function getWaitTime() : int {
|
public function getWaitTime() : int {
|
||||||
return (int) $this->getMain()->getDatabase()->get("waiting_time", ["table" => "Games", "name" => $this->getName()]);
|
return (int) $this->getMain()->getDatabase()->get("waiting_time", ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -310,7 +310,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@return int
|
@return int
|
||||||
*/
|
*/
|
||||||
public function getSeekTime() : int {
|
public function getSeekTime() : int {
|
||||||
return (int) $this->getMain()->getDatabase()->get("seek_time", ["table" => "Games", "name" => $this->getName()]);
|
return (int) $this->getMain()->getDatabase()->get("seek_time", ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -318,7 +318,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@return int
|
@return int
|
||||||
*/
|
*/
|
||||||
public function getSeekersPercentage() : int {
|
public function getSeekersPercentage() : int {
|
||||||
return (int) $this->getMain()->getDatabase()->get("seekers_percentage", ["table" => "Games", "name" => $this->getName()]);
|
return (int) $this->getMain()->getDatabase()->get("seekers_percentage", ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
// SET
|
// SET
|
||||||
|
@ -329,7 +329,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
*/
|
*/
|
||||||
public function setSpawn(Vector3 $v3) {
|
public function setSpawn(Vector3 $v3) {
|
||||||
$str = $v3->x . "," . $v3->y . "," . $v3->z;
|
$str = $v3->x . "," . $v3->y . "," . $v3->z;
|
||||||
return $this->getMain()->getDatabase()->set("spawnpoint", $str, ["table" => "Games", "name" => $this->getName()]);
|
return $this->getMain()->getDatabase()->set("spawnpoint", $str, ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -338,7 +338,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
*/
|
*/
|
||||||
public function setSeekerSpawn(Vector3 $v3) {
|
public function setSeekerSpawn(Vector3 $v3) {
|
||||||
$str = $v3->x . "," . $v3->y . "," . $v3->z;
|
$str = $v3->x . "," . $v3->y . "," . $v3->z;
|
||||||
return $this->getMain()->getDatabase()->set("seekerspawn", $str, ["table" => "Games", "name" => $this->getName()]);
|
return $this->getMain()->getDatabase()->set("seekerspawn", $str, ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -347,7 +347,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
*/
|
*/
|
||||||
public function setLevel(Level $level) {
|
public function setLevel(Level $level) {
|
||||||
$this->level = $level;
|
$this->level = $level;
|
||||||
return $this->getMain()->getDatabase()->set("name", $level->getName(), ["table" => "Games", "name" => $this->getName()]);
|
return $this->getMain()->getDatabase()->set("name", $level->getName(), ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -355,7 +355,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@param $int int
|
@param $int int
|
||||||
*/
|
*/
|
||||||
public function setMaxPlayers(int $int) {
|
public function setMaxPlayers(int $int) {
|
||||||
return $this->getMain()->getDatabase()->set("max_players", $level->getName(), ["table" => "Games", "name" => $this->getName()]);
|
return $this->getMain()->getDatabase()->set("max_players", $level->getName(), ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -363,7 +363,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@param $int int
|
@param $int int
|
||||||
*/
|
*/
|
||||||
public function setWaitTime(int $int) {
|
public function setWaitTime(int $int) {
|
||||||
return $this->getMain()->getDatabase()->set("waiting_time", $level->getName(), ["table" => "Games", "name" => $this->getName()]);
|
return $this->getMain()->getDatabase()->set("waiting_time", $level->getName(), ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -371,7 +371,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@param $int int
|
@param $int int
|
||||||
*/
|
*/
|
||||||
public function setSeekTime(int $int) {
|
public function setSeekTime(int $int) {
|
||||||
return $this->getMain()->getDatabase()->set("seek_time", $level->getName(), ["table" => "Games", "name" => $this->getName()]);
|
return $this->getMain()->getDatabase()->set("seek_time", $level->getName(), ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -379,7 +379,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@param $int int
|
@param $int int
|
||||||
*/
|
*/
|
||||||
public function setSeekersPercentage(int $int) {
|
public function setSeekersPercentage(int $int) {
|
||||||
return $this->getMain()->getDatabase()->set("seekers_percentage", $level->getName(), ["table" => "Games", "name" => $this->getName()]);
|
return $this->getMain()->getDatabase()->set("seekers_percentage", $level->getName(), ["table" => "Games", "name" => $this->getName()])->fetchArray()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -488,7 +488,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@param $event \pocketmine\event\block\BlockBreakEvent
|
@param $event \pocketmine\event\block\BlockBreakEvent
|
||||||
*/
|
*/
|
||||||
public function onBlockBreak(\pocketmine\event\block\BlockBreakEvent $event) {
|
public function onBlockBreak(\pocketmine\event\block\BlockBreakEvent $event) {
|
||||||
if($event->getLevel()->getLevel() == $this->getName()) {
|
if($event->getBlock()->getLevel()->getLevel() == $this->getName()) {
|
||||||
$event->setCancelled();
|
$event->setCancelled();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -498,7 +498,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
|
||||||
@param $event \pocketmine\event\block\BlockPlaceEvent
|
@param $event \pocketmine\event\block\BlockPlaceEvent
|
||||||
*/
|
*/
|
||||||
public function onBlockPlace(\pocketmine\event\block\BlockPlaceEvent $event) {
|
public function onBlockPlace(\pocketmine\event\block\BlockPlaceEvent $event) {
|
||||||
if($event->getLevel()->getLevel() == $this->getName()) {
|
if($event->getBlock()->getLevel()->getLevel() == $this->getName()) {
|
||||||
$event->setCancelled();
|
$event->setCancelled();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,8 +103,8 @@ class GameManager {
|
||||||
public function __unset(string $name) {
|
public function __unset(string $name) {
|
||||||
if(!is_null($this->getGameByName($name))) {
|
if(!is_null($this->getGameByName($name))) {
|
||||||
$this->getMain()->getDataBase()->delete("Games", ["name" => $name]);
|
$this->getMain()->getDataBase()->delete("Games", ["name" => $name]);
|
||||||
unset($this->gamesNames[$name]);
|
|
||||||
unset($this->games[$this->gamesNames[$name]]);
|
unset($this->games[$this->gamesNames[$name]]);
|
||||||
|
unset($this->gamesNames[$name]);
|
||||||
} else {
|
} else {
|
||||||
$this->getMain()->getDataBase()->delete("Games", ["name" => $this->games[$id]->getName()]);
|
$this->getMain()->getDataBase()->delete("Games", ["name" => $this->games[$id]->getName()]);
|
||||||
unset($this->games[$name]);
|
unset($this->games[$name]);
|
||||||
|
|
|
@ -178,6 +178,8 @@ A
|
||||||
$sender->sendMessage(self::PREFIX . "§cYou're not in an hide and seek game world.");
|
$sender->sendMessage(self::PREFIX . "§cYou're not in an hide and seek game world.");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "editmode":
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$sender->sendMessage(str_ireplace(PHP_EOL, PHP_EOL . self::PREFIX,self::PREFIX. "§cSub-command {$args[0]} not found !
|
$sender->sendMessage(str_ireplace(PHP_EOL, PHP_EOL . self::PREFIX,self::PREFIX. "§cSub-command {$args[0]} not found !
|
||||||
Possible subcommands:
|
Possible subcommands:
|
||||||
|
@ -190,6 +192,7 @@ Possible subcommands:
|
||||||
- setspawn(or ss): Sets the spawn of the place players will wait, hide, and seek
|
- setspawn(or ss): Sets the spawn of the place players will wait, hide, and seek
|
||||||
- setseekersspawn(or sss): Sets the place where players will be tped to while hiders are hiding
|
- setseekersspawn(or sss): Sets the place where players will be tped to while hiders are hiding
|
||||||
Please note that all those subcommands are relative to the world where you execute the command in."));
|
Please note that all those subcommands are relative to the world where you execute the command in."));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue