Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace dc4code\DBLog;
- use pocketmine\command\CommandSender;
- use pocketmine\command\Command;
- use pocketmine\command\CommandExecutor;
- use pocketmine\event\Listener;
- use pocketmine\utils\TextFormat;
- use pocketmine\plugin\PluginBase;
- use pocketmine\event\player\PlayerJoinEvent;
- use pocketmine\event\player\PlayerDeathEvent;
- use pocketmine\Server;
- use pocketmine\Player;
- class Main extends PluginBase implements Listener{
- public function onEnable(){
- $this->reloadConfig();
- $this->getServer()->getPluginManager()->registerEvents($this, $this);
- $this->getLogger()->info(TextFormat::GREEN . "DBLog v1.0 by DC4CODE is now Enabled!");
- $cfg = $this->getConfig()->getAll();
- $configfile = $cfg["mysql-info"];
- $mysql_host = $configfile["host"];
- $mysql_user = $configfile["user"];
- $mysql_pass = $configfile["password"];
- $mysql_dbname = $configfile["database"];
- $createtable = mysqli_connect($mysql_host, $mysql_user, $mysql_pass);
- mysqli_select_db($createtable, $mysql_dbname);
- $sql = "CREATE TABLE IF NOT EXISTS `dblog`( id INT(6) UNSIGNED auto_increment PRIMARY KEY, name VARCHAR(30) NOT NULL, ip VARCHAR(15) NOT NULL, xuid VARCHAR(50), uuid VARCHAR(50), kills VARCHAR(50), deaths VARCHAR(50), reg_date TIMESTAMP); ";
- $result = mysqli_query($createtable, $sql);
- mysqli_close($createtable);
- }
- public function onJoin(PlayerJoinEvent $ev){
- $cfg = $this->getConfig()->getAll();
- $configfile = $cfg["mysql-info"];
- $mysql_host = $configfile["host"];
- $mysql_user = $configfile["user"];
- $mysql_pass = $configfile["password"];
- $mysql_dbname = $configfile["database"];
- $conn = mysqli_connect($mysql_host, $mysql_user, $mysql_pass);
- mysqli_select_db($conn, $mysql_dbname);
- $ev = $ev->getPlayer();
- $name = $ev->getName();
- $name_sub = trim(strtolower($name));
- $ip = $ev->getAddress();
- $xuid = $ev->getClientId();
- $uuid = $ev->getUniqueId();
- $err = false; //Checking 1
- $step1 = false; //Checking 2
- $step2 = false; //Checking 3
- $this->getLogger()->info(TextFormat::GREEN . "+Player Connected: " . $name);
- $this->getLogger()->info(TextFormat::RED . " -IP: " . $ip);
- $this->getLogger()->info(TextFormat::RED . " -Record Name: " . $name_sub);
- $this->getLogger()->info(TextFormat::RED . " -XUID: " . $xuid);
- $this->getLogger()->info(TextFormat::RED . " -UUID: " . $uuid);
- $sql = "UPDATE dblog SET name='$name_sub',ip='$ip',xuid='$xuid',uuid='$uuid' WHERE name='$name_sub'" or die($err = true);
- if($err) {
- $this->getLogger()->alert(TextFormat::RED . "Connection failed: " . $mysqli->connect_error);
- $this->getServer()->getPluginManager()->disablePlugin($this->getServer()->getPluginManager()->getPlugin("DBLog"));
- }else{
- $step1 = true;
- }
- $res = mysqli_query($conn, $sql);
- if ($res === false) {
- $this->getLogger()->alert(TextFormat::RED . "An Error Occured! - DBLOG STOPPED -");
- $this->getServer()->getPluginManager()->disablePlugin($this->getServer()->getPluginManager()->getPlugin("DBLog"));
- }else{
- $step2 = true;
- }
- if($step1 AND $step2) {
- $this->getLogger()->info(TextFormat::GREEN . "Query on " . $name_sub . " Completed Successfully");
- }
- mysqli_close($conn);
- unset($conn);
- }
- public function PlayerDeath(PlayerDeathEvent $event){
- $cause = $event->getEntity();
- $name = $cause->getName();
- $name_sub = trim(strtolower($name));
- //$name = DEAD_PLAYER
- //$name_sub = DEAD_PLAYER_LCASE SUBMIT
- $cfg = $this->getConfig()->getAll();
- $configfile = $cfg["mysql-info"];
- $mysql_host = $configfile["host"];
- $mysql_user = $configfile["user"];
- $mysql_pass = $configfile["password"];
- $mysql_dbname = $configfile["database"];
- $conn = mysqli_connect($mysql_host, $mysql_user, $mysql_pass);
- mysqli_select_db($conn, $mysql_dbname);
- if ($conn->connect_error) {
- //err
- }else{
- //ok
- }
- $sql1 = "SELECT * FROM `dblog` WHERE name=".$name_sub."";
- $sql2 = "UPDATE dblog
- SET deaths=".$death_num."
- WHERE name=".$name_sub."";
- if ($conn->query($sql1) === TRUE) {
- //ok MSG TODO
- } else {
- //err MSG TODO
- }
- $row1 = $sql1->fetch_array();
- $death_num = $row1['deaths'];
- if($death_num == NULL){
- $death_num = 0;
- $death_numr = $death_num+1;
- }else{
- //OK
- }
- if ($conn->query($sql2) === TRUE) {
- $this->getLogger()->info(TextFormat::GREEN . "-DEATH_ADD Query on " . $name_sub . " Completed Successfully!");
- } else {
- $this->getLogger()->alert(TextFormat::RED . "-DEATH_ADD Query Err! SYS_ADD_RECORD = " . $name_sub . ":" . $name);
- }
- if($cause instanceof EntityDamageByEntityEvent){
- if($killers instanceof Player){
- $kill = $cause->getDamager();
- $kill_name = $kill->getName;
- $kill_name_sub = trim(strtolower($kill_name));
- //$kill_name = KILLER_NAME
- $sql3 = "SELECT * FROM `dblog` WHERE name=".$kill_name_sub."";
- $sql4 = "UPDATE dblog
- SET kills=".$kills_num."
- WHERE name=".$kill_name_sub."";
- if ($conn->query($sql3) === TRUE) {
- //ok MSG TODO
- } else {
- //err MSG TODO
- }
- $row1 = $sql3->fetch_array();
- $kills_num = $row3['kills']+1;
- if($kills_num == NULL){
- $kills_num = 0;
- $kills_numr = $kills_num+1;
- }else{
- //OK
- }
- if ($conn->query($sql4) === TRUE) {
- $this->getLogger()->info(TextFormat::GREEN . "-KILL_ADD Query on " . $name_sub . " Completed Successfully
- !");
- } else {
- $this->getLogger()->alert(TextFormat::RED . "-KILL_ADD Query Err! SYS_ADD_RECORD = " . $kill_name_sub . ":" . $kill_name);
- }
- $this->getLogger()->alert(TextFormat::GREEN . "KD Transaction : Killer: " . $kill_name . " Target: " . $name . " - - - [SYS.RECORD : " . $kill_name_sub . ":" . $name_sub."]");
- }
- }
- }
- public function onDisable() {
- $this->getLogger()->info(TextFormat::RED . "DBLog v1.0 by DC4CODE is now Disabled!");
- }
- public function onLoad(){
- $this->saveDefaultConfig();
- }
- public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
- switch($command->getName()){
- case "lookup":
- if($sender instanceof Player){
- $player = $args[0];
- if(isset($player)) {
- $sender->sendMessaage(TextFormat::GREEN . "Player Entered: " . $player);
- }else{
- $sender->sendMessaage("Usage: /lookup <player>");
- }
- }else{
- $player = $args[0];
- if(isset($player)) {
- $this->getLogger()->info(TextFormat::GREEN . "Player Entered: " . $player);
- }else{
- $this->getLogger()->info("Usage: /lookup <player>");
- }
- }
- return true;
- default:
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement