gl_realtime.pwn 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //
  2. // Keeps the in game time synced to the server's time and
  3. // draws the current time on the player's hud using a textdraw/
  4. // (1 minute = 1 minute real world time)
  5. //
  6. // Kye 2009
  7. #include <a_samp>
  8. #pragma tabsize 0
  9. //--------------------------------------------------
  10. new Text:txtTimeDisp;
  11. new hour, minute;
  12. new timestr[32];
  13. forward UpdateTime();
  14. //--------------------------------------------------
  15. public UpdateTime()
  16. {
  17. gettime(hour, minute);
  18. format(timestr,32,"%02d:%02d",hour,minute);
  19. TextDrawSetString(txtTimeDisp,timestr);
  20. SetWorldTime(hour);
  21. new x=0;
  22. while(x!=MAX_PLAYERS) {
  23. if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE) {
  24. SetPlayerTime(x,hour,minute);
  25. }
  26. x++;
  27. }
  28. }
  29. //--------------------------------------------------
  30. public OnGameModeInit()
  31. {
  32. // Init our text display
  33. txtTimeDisp = TextDrawCreate(605.0,25.0,"00:00");
  34. TextDrawUseBox(txtTimeDisp, 0);
  35. TextDrawFont(txtTimeDisp, 3);
  36. TextDrawSetShadow(txtTimeDisp,0); // no shadow
  37. TextDrawSetOutline(txtTimeDisp,2); // thickness 1
  38. TextDrawBackgroundColor(txtTimeDisp,0x000000FF);
  39. TextDrawColor(txtTimeDisp,0xFFFFFFFF);
  40. TextDrawAlignment(txtTimeDisp,3);
  41. TextDrawLetterSize(txtTimeDisp,0.5,1.5);
  42. UpdateTime();
  43. SetTimer("UpdateTime",1000 * 60,1);
  44. return 1;
  45. }
  46. //--------------------------------------------------
  47. public OnPlayerSpawn(playerid)
  48. {
  49. TextDrawShowForPlayer(playerid,txtTimeDisp);
  50. gettime(hour, minute);
  51. SetPlayerTime(playerid,hour,minute);
  52. return 1;
  53. }
  54. //--------------------------------------------------
  55. public OnPlayerDeath(playerid, killerid, reason)
  56. {
  57. TextDrawHideForPlayer(playerid,txtTimeDisp);
  58. return 1;
  59. }
  60. //--------------------------------------------------
  61. public OnPlayerConnect(playerid)
  62. {
  63. gettime(hour, minute);
  64. SetPlayerTime(playerid,hour,minute);
  65. return 1;
  66. }
  67. //--------------------------------------------------