playtime.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. event.load("player_join");
  2. event.load("player_quit");
  3. databank.workerExecute(databank.prepare("
  4. CREATE TABLE IF NOT EXISTS playtime (
  5. id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  6. player_id INT NOT NULL,
  7. join_time BIGINT NOT NULL,
  8. leave_time BIGINT
  9. );
  10. "));
  11. msg.string("dev", "§bPlaytime §rloaded.");
  12. @wait
  13. wait();
  14. player_id = player.getId(player);
  15. ignoreGoto(event);
  16. goto("wait");
  17. @player_join
  18. deleteInvalidStatement = databank.prepare("DELETE FROM playtime WHERE player_id = ? AND leave_time IS NULL;", false);
  19. databank.setInt(deleteInvalidStatement, 1, player_id);
  20. databank.workerExecute(deleteInvalidStatement);
  21. joinTimeStatement = databank.prepare("INSERT INTO playtime (player_id, join_time) VALUES (?, ?);", false);
  22. databank.setInt(joinTimeStatement, 1, player_id);
  23. databank.setLong(joinTimeStatement, 2, time.getMillis());
  24. databank.workerExecute(joinTimeStatement);
  25. goto("wait");
  26. @player_quit
  27. leaveTimeStatement = databank.prepare("UPDATE playtime SET leave_time = ? WHERE player_id = ? AND leave_time IS NULL;", false);
  28. databank.setLong(leaveTimeStatement, 1, time.getMillis());
  29. databank.setInt(leaveTimeStatement, 2, player_id);
  30. databank.workerExecute(leaveTimeStatement);
  31. goto("wait");