Advertisement
Guest User

Untitled

a guest
Jan 31st, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.91 KB | None | 0 0
  1. <?php
  2. namespace dc4code\DBLog;
  3. use pocketmine\command\CommandSender;
  4. use pocketmine\command\Command;
  5. use pocketmine\command\CommandExecutor;
  6. use pocketmine\event\Listener;
  7. use pocketmine\utils\TextFormat;
  8. use pocketmine\plugin\PluginBase;
  9. use pocketmine\event\player\PlayerJoinEvent;
  10. use pocketmine\event\player\PlayerDeathEvent;
  11. use pocketmine\Server;
  12. use pocketmine\Player;
  13.  
  14.  
  15. class Main extends PluginBase implements Listener{
  16.  
  17.  
  18.  
  19. public function onEnable(){
  20. $this->reloadConfig();
  21. $this->getServer()->getPluginManager()->registerEvents($this, $this);
  22. $this->getLogger()->info(TextFormat::GREEN . "DBLog v1.0 by DC4CODE is now Enabled!");
  23. $cfg = $this->getConfig()->getAll();
  24. $configfile = $cfg["mysql-info"];
  25. $mysql_host = $configfile["host"];
  26. $mysql_user = $configfile["user"];
  27. $mysql_pass = $configfile["password"];
  28. $mysql_dbname = $configfile["database"];
  29. $createtable = mysqli_connect($mysql_host, $mysql_user, $mysql_pass);
  30. mysqli_select_db($createtable, $mysql_dbname);
  31. $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); ";
  32. $result = mysqli_query($createtable, $sql);
  33. mysqli_close($createtable);
  34. }
  35.  
  36.  
  37.  
  38. public function onJoin(PlayerJoinEvent $ev){
  39. $cfg = $this->getConfig()->getAll();
  40. $configfile = $cfg["mysql-info"];
  41. $mysql_host = $configfile["host"];
  42. $mysql_user = $configfile["user"];
  43. $mysql_pass = $configfile["password"];
  44. $mysql_dbname = $configfile["database"];
  45. $conn = mysqli_connect($mysql_host, $mysql_user, $mysql_pass);
  46. mysqli_select_db($conn, $mysql_dbname);
  47. $ev = $ev->getPlayer();
  48. $name = $ev->getName();
  49. $name_sub = trim(strtolower($name));
  50. $ip = $ev->getAddress();
  51. $xuid = $ev->getClientId();
  52. $uuid = $ev->getUniqueId();
  53. $err = false; //Checking 1
  54. $step1 = false; //Checking 2
  55. $step2 = false; //Checking 3
  56. $this->getLogger()->info(TextFormat::GREEN . "+Player Connected: " . $name);
  57. $this->getLogger()->info(TextFormat::RED . " -IP: " . $ip);
  58. $this->getLogger()->info(TextFormat::RED . " -Record Name: " . $name_sub);
  59. $this->getLogger()->info(TextFormat::RED . " -XUID: " . $xuid);
  60. $this->getLogger()->info(TextFormat::RED . " -UUID: " . $uuid);
  61. $sql = "UPDATE dblog SET name='$name_sub',ip='$ip',xuid='$xuid',uuid='$uuid' WHERE name='$name_sub'" or die($err = true);
  62.  
  63. if($err) {
  64. $this->getLogger()->alert(TextFormat::RED . "Connection failed: " . $mysqli->connect_error);
  65. $this->getServer()->getPluginManager()->disablePlugin($this->getServer()->getPluginManager()->getPlugin("DBLog"));
  66. }else{
  67. $step1 = true;
  68. }
  69.  
  70. $res = mysqli_query($conn, $sql);
  71.  
  72. if ($res === false) {
  73. $this->getLogger()->alert(TextFormat::RED . "An Error Occured! - DBLOG STOPPED -");
  74. $this->getServer()->getPluginManager()->disablePlugin($this->getServer()->getPluginManager()->getPlugin("DBLog"));
  75. }else{
  76. $step2 = true;
  77. }
  78.  
  79. if($step1 AND $step2) {
  80. $this->getLogger()->info(TextFormat::GREEN . "Query on " . $name_sub . " Completed Successfully");
  81. }
  82.  
  83. mysqli_close($conn);
  84. unset($conn);
  85. }
  86.  
  87.  
  88.  
  89. public function PlayerDeath(PlayerDeathEvent $event){
  90. $cause = $event->getEntity();
  91. $name = $cause->getName();
  92. $name_sub = trim(strtolower($name));
  93. //$name = DEAD_PLAYER
  94. //$name_sub = DEAD_PLAYER_LCASE SUBMIT
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102. $cfg = $this->getConfig()->getAll();
  103. $configfile = $cfg["mysql-info"];
  104. $mysql_host = $configfile["host"];
  105. $mysql_user = $configfile["user"];
  106. $mysql_pass = $configfile["password"];
  107. $mysql_dbname = $configfile["database"];
  108. $conn = mysqli_connect($mysql_host, $mysql_user, $mysql_pass);
  109. mysqli_select_db($conn, $mysql_dbname);
  110. if ($conn->connect_error) {
  111. //err
  112. }else{
  113. //ok
  114. }
  115.  
  116.  
  117.  
  118. $sql1 = "SELECT * FROM `dblog` WHERE name=".$name_sub."";
  119.  
  120. $sql2 = "UPDATE dblog
  121. SET deaths=".$death_num."
  122. WHERE name=".$name_sub."";
  123.  
  124. if ($conn->query($sql1) === TRUE) {
  125. //ok MSG TODO
  126. } else {
  127. //err MSG TODO
  128. }
  129.  
  130. $row1 = $sql1->fetch_array();
  131. $death_num = $row1['deaths'];
  132. if($death_num == NULL){
  133. $death_num = 0;
  134. $death_numr = $death_num+1;
  135. }else{
  136. //OK
  137. }
  138. if ($conn->query($sql2) === TRUE) {
  139. $this->getLogger()->info(TextFormat::GREEN . "-DEATH_ADD Query on " . $name_sub . " Completed Successfully!");
  140. } else {
  141. $this->getLogger()->alert(TextFormat::RED . "-DEATH_ADD Query Err! SYS_ADD_RECORD = " . $name_sub . ":" . $name);
  142. }
  143.  
  144. if($cause instanceof EntityDamageByEntityEvent){
  145. if($killers instanceof Player){
  146. $kill = $cause->getDamager();
  147. $kill_name = $kill->getName;
  148. $kill_name_sub = trim(strtolower($kill_name));
  149. //$kill_name = KILLER_NAME
  150. $sql3 = "SELECT * FROM `dblog` WHERE name=".$kill_name_sub."";
  151.  
  152. $sql4 = "UPDATE dblog
  153. SET kills=".$kills_num."
  154. WHERE name=".$kill_name_sub."";
  155.  
  156. if ($conn->query($sql3) === TRUE) {
  157. //ok MSG TODO
  158. } else {
  159. //err MSG TODO
  160. }
  161.  
  162. $row1 = $sql3->fetch_array();
  163. $kills_num = $row3['kills']+1;
  164. if($kills_num == NULL){
  165. $kills_num = 0;
  166. $kills_numr = $kills_num+1;
  167. }else{
  168. //OK
  169. }
  170.  
  171. if ($conn->query($sql4) === TRUE) {
  172. $this->getLogger()->info(TextFormat::GREEN . "-KILL_ADD Query on " . $name_sub . " Completed Successfully
  173. !");
  174. } else {
  175. $this->getLogger()->alert(TextFormat::RED . "-KILL_ADD Query Err! SYS_ADD_RECORD = " . $kill_name_sub . ":" . $kill_name);
  176. }
  177.  
  178.  
  179. $this->getLogger()->alert(TextFormat::GREEN . "KD Transaction : Killer: " . $kill_name . " Target: " . $name . " - - - [SYS.RECORD : " . $kill_name_sub . ":" . $name_sub."]");
  180.  
  181.  
  182.  
  183. }
  184. }
  185. }
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195. public function onDisable() {
  196. $this->getLogger()->info(TextFormat::RED . "DBLog v1.0 by DC4CODE is now Disabled!");
  197. }
  198.  
  199.  
  200.  
  201. public function onLoad(){
  202. $this->saveDefaultConfig();
  203. }
  204.  
  205. public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
  206. switch($command->getName()){
  207. case "lookup":
  208. if($sender instanceof Player){
  209. $player = $args[0];
  210. if(isset($player)) {
  211. $sender->sendMessaage(TextFormat::GREEN . "Player Entered: " . $player);
  212. }else{
  213. $sender->sendMessaage("Usage: /lookup <player>");
  214. }
  215. }else{
  216. $player = $args[0];
  217.  
  218. if(isset($player)) {
  219. $this->getLogger()->info(TextFormat::GREEN . "Player Entered: " . $player);
  220. }else{
  221. $this->getLogger()->info("Usage: /lookup <player>");
  222. }
  223. }
  224.  
  225.  
  226. return true;
  227. default:
  228. return false;
  229. }
  230. }
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement