Проблема с использованием целого числа из файла config.yml в качестве переменной в функции mt_rand () (плагин pocketmine) - PullRequest
1 голос
/ 17 июня 2020

Привет, я пытаюсь использовать файл конфигурации для хранения минимального и максимального значений, которые могут быть изменены пользователями для более легкого изменения кода рандомизации. Это используется для плагина pocketmine-mp, который будет порождать игрока в случайном месте, а его спавн будет в случайном месте. Код моего файла конфигурации выглядит так:

##Change These Listed Numbers To Change Your Spawn Randomizers min and Maxes
-Coords:
Xvalues:
Xmin: -10000
Xmax: 10000
Yvalues:
Ymin: -10000
Ymax: 10000
Zvalues:
Zmin: -10000
Zmax: 10000
...

Я знаю, что это работает, но когда я использую эти значения и делаю их переменной и использую эту переменную в функции mt_rand (), я получаю сообщение об ошибке:

[21:26:18] [Server thread/CRITICAL]: TypeError: "mt_rand() expects parameter 1 to be int, bool given" (EXCEPTION) in "plugins/TPRandomOnFirstJoinAndDeath/src/JviguyGamesYT/TPRandomOnFirstJoinAndDeath/Main" at line 27

Я действительно не знаю, что делать, чтобы исправить это, если кто-то может помочь моему коду плагина здесь

код:

$player = $e->getPlayer();
$Xmin = $this->getConfig()->get("Xmin");
$Xmax = $this->getConfig()->get("Xmax");
$Ymin = $this->getConfig()->get("Ymin");
$Ymax = $this->getConfig()->get("Ymax");
$Zmin = $this->getConfig()->get("Zmin");
$Zmax = $this->getConfig()->get("Zmax");
$x = mt_rand($Xmin , $Xmax);
$y = mt_rand($Ymin , $Ymax);
$z = mt_rand($Zmin , $Zmax);
$player->teleport(new vector3($x, $y, $z));

1 Ответ

0 голосов
/ 08 июля 2020

Вам нужно преобразовать в int.

например, $x = mt_rand((int) $Xmin, (int) $Xmax);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...