hey , I've seen plugins make files and folder and then stores the data in a file with the players name , can someone give me an example of this to save/create a players file , like make a file when they join idk how to explain this sorry if i sound everywhere
PHP: public function onJoin(PlayerJoinEvent $event){ if(!is_dir($this->getDataFolder())){ @mkdir($this->getDataFolder()); } if(!file_exists($this->getDataFolder().$event->getPlayer()->getName().".yml")){ $config = new Config($this->getDataFolder().$event->getPlayer()->getName().".yml", CONFIG::YAML); $config->set("name", $event->getPlayer()->getName()); // simply stores player name, you can store more info as you wish. }}
Oh, I forgot to include this, make sure to do PHP: $config->save(); You can save the file in a folder in the resource folder by entering $getDataFolder."/folderName/".$event->getPlayer()->getName().".yml" Instead
Code: 08.05 18:48:09 [Server] INFO Warning: file_put_contents(/plugins/GuiKits//players/Steve.yml): failed to open stream: No such file or directory in phar:///jar/pocketmine/arufa/1.0.8/Arufa.phar/src/pocketmine/utils/Config.php on line 205
getDataFolder() is not a variable! Why are you putting an $ on it? Ugh, I hate it when people mislead learners. OR you just made a typo
Code: public function onJoin(PlayerJoinEvent $event){ if(!is_dir($this->getDataFolder())){ @mkdir($this->getDataFolder()); } if(!file_exists($this->getDataFolder()."players/".$event->getPlayer()->getName().".yml")){ $config = new Config($this->getDataFolder()."players/".$event->getPlayer()->getName().".yml", CONFIG::YAML); $config->set("name", $event->getPlayer()->getName()); $config->save(); // simply stores player name, you can store more info as you wish. } }
You need to create the "players" directory as well. So maybe something like PHP: public function onJoin(PlayerJoinEvent $event){ @mkdir($this->getDataFolder()); @mkdir($this->getDataFolder() . "players/"); if(!file_exists($this->getDataFolder()."players/".$event->getPlayer()->getName().".yml")){ $config = new Config($this->getDataFolder()."players/".$event->getPlayer()->getName().".yml", CONFIG::YAML); $config->set("name", $event->getPlayer()->getName()); $config->save(); // simply stores player name, you can store more info as you wish. }}
ok , done I've changed to PMMP but the error is still their Code: 09.05 16:13:11 [Server] INFO Warning: file_put_contents(/plugins/GuiKits/players/Teamblocket.yml): failed to open stream: No such file or directory in phar:///jar/pocketmine/pmmp/1.0.7/PocketMine-MP.phar/src/pocketmine/utils/Config.php on line 208