Bug fixing™

This commit is contained in:
Ad5001 2017-03-05 18:51:46 +01:00
parent 42dc29ed27
commit 66013363d5
No known key found for this signature in database
GPG key ID: F05C5A0D59BC40DD
5 changed files with 33 additions and 19 deletions

View file

@ -6,4 +6,15 @@ This is a recreation of this game for pocketmine !
Please note that this is still under development.
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.

View file

@ -99,7 +99,7 @@ class DataBase extends SQLite3 {
*/
protected static function setNumRows(\SQLite3Result &$result) {
$n = 0;
while($result->fetchArray() !== false) $n++;
while($result->fetchArray()) $n++;
$result->reset();
$result->num_rows = $n;
}

View file

@ -165,7 +165,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
$id = $this->getMain()->getDatabase()->get("*", ["table" => "Games"]);
$v3 = $this->getLevel()->getSafeSpawn();
$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 {
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
*/
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);
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
*/
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);
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
*/
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
*/
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
*/
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
*/
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
@ -329,7 +329,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
*/
public function setSpawn(Vector3 $v3) {
$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) {
$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) {
$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
*/
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
*/
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
*/
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
*/
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
*/
public function onBlockBreak(\pocketmine\event\block\BlockBreakEvent $event) {
if($event->getLevel()->getLevel() == $this->getName()) {
if($event->getBlock()->getLevel()->getLevel() == $this->getName()) {
$event->setCancelled();
}
}
@ -498,7 +498,7 @@ class Game extends PluginTask /* Allows easy game running */ implements Listener
@param $event \pocketmine\event\block\BlockPlaceEvent
*/
public function onBlockPlace(\pocketmine\event\block\BlockPlaceEvent $event) {
if($event->getLevel()->getLevel() == $this->getName()) {
if($event->getBlock()->getLevel()->getLevel() == $this->getName()) {
$event->setCancelled();
}
}

View file

@ -103,8 +103,8 @@ class GameManager {
public function __unset(string $name) {
if(!is_null($this->getGameByName($name))) {
$this->getMain()->getDataBase()->delete("Games", ["name" => $name]);
unset($this->gamesNames[$name]);
unset($this->games[$this->gamesNames[$name]]);
unset($this->gamesNames[$name]);
} else {
$this->getMain()->getDataBase()->delete("Games", ["name" => $this->games[$id]->getName()]);
unset($this->games[$name]);

View file

@ -178,6 +178,8 @@ A
$sender->sendMessage(self::PREFIX . "§cYou're not in an hide and seek game world.");
}
break;
case "editmode":
break;
default:
$sender->sendMessage(str_ireplace(PHP_EOL, PHP_EOL . self::PREFIX,self::PREFIX. "§cSub-command {$args[0]} not found !
Possible subcommands:
@ -190,6 +192,7 @@ Possible subcommands:
- 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."));
break;
}
return true;
} else {