ItsStev

Admin Checkin System V1

Jun 1st, 2015
677
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.53 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4.  
  5. // Colors
  6. #define COLOR_GREY 0xAFAFAFAA
  7. #define COLOR_GREEN 0x33AA33AA
  8. #define COLOR_RED 0xAA3333AA
  9. #define COLOR_YELLOW 0xFFFF00AA
  10. #define COLOR_POWDERBLUE 0xB0E0E6FF
  11. #define COLOR_WHITE 0xFFFFFFAA
  12. #define COLOR_BLUE 0x1515FF96
  13. #define COLOR_NBLUE 0x0080C096
  14. #define COLOR_LIGHTBLUE 0x33CCFFAA
  15. #define COLOR_ORANGE 0xFF9900AA
  16. #define COLOR_GOLD 0xFFD700FF
  17. #define COLOR_LIGHTGREEN 0x90EE90FF
  18. #define COLOR_OLIVE 0x808000FF
  19. #define COLOR_SALMON 0xFA8072FF
  20. #define COLOR_ELGGREEN 0x00F20096
  21. #define COLOR_ORED 0xFF0000FF
  22. #define COLOR_MAGENTA 0xFF00FFFF
  23. #define COLOR_TEAL 0x008080FF
  24. #define COLOR_SWAT 0x5650D896
  25. #define COLOR_CYAN 0x7DFFFF96
  26. #define COLOR_BROWN 0xFFBB7796
  27. #define COLOR_DARKBROWN 0x40000096
  28. #define COLOR_BLACK 0x2D2D2D96
  29. #define COLOR_PINK 0xFF80FF96
  30.  
  31. main()
  32. {
  33. print("\n----------------------------------");
  34. print(" Check-in system by Stev ")
  35. print("----------------------------------\n");
  36. }
  37.  
  38. new CheckEachTimer, PlayerSeconds[MAX_PLAYERS];
  39.  
  40. public OnGameModeInit()
  41. {
  42. SetGameModeText("Blank Script");
  43. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  44.  
  45. // Creating the timer
  46. CheckEachTimer = SetTimer("CheckEachPlayer",1000, true);
  47. return 1;
  48. }
  49.  
  50. public OnGameModeExit()
  51. {
  52. // Killing the timer
  53. KillTimer(CheckEachTimer);
  54. return 1;
  55. }
  56.  
  57. public OnPlayerRequestClass(playerid, classid)
  58. {
  59. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  60. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  61. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  62. return 1;
  63. }
  64.  
  65. public OnPlayerConnect(playerid)
  66. {
  67. SendClientMessage(playerid, COLOR_YELLOW, "This server is using the Check-in system by Stev");
  68.  
  69. return 1;
  70. }
  71.  
  72. public OnPlayerDisconnect(playerid, reason)
  73. {
  74. return 1;
  75. }
  76.  
  77. public OnPlayerSpawn(playerid)
  78. {
  79. return 1;
  80. }
  81.  
  82. public OnPlayerDeath(playerid, killerid, reason)
  83. {
  84. return 1;
  85. }
  86.  
  87. public OnVehicleSpawn(vehicleid)
  88. {
  89. return 1;
  90. }
  91.  
  92. public OnVehicleDeath(vehicleid, killerid)
  93. {
  94. return 1;
  95. }
  96.  
  97. public OnPlayerText(playerid, text[])
  98. {
  99. return 1;
  100. }
  101.  
  102. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  103. {
  104. return 1;
  105. }
  106.  
  107. public OnPlayerExitVehicle(playerid, vehicleid)
  108. {
  109. return 1;
  110. }
  111.  
  112. public OnPlayerStateChange(playerid, newstate, oldstate)
  113. {
  114. return 1;
  115. }
  116.  
  117. public OnPlayerEnterCheckpoint(playerid)
  118. {
  119. return 1;
  120. }
  121.  
  122. public OnPlayerLeaveCheckpoint(playerid)
  123. {
  124. return 1;
  125. }
  126.  
  127. public OnPlayerEnterRaceCheckpoint(playerid)
  128. {
  129. return 1;
  130. }
  131.  
  132. public OnPlayerLeaveRaceCheckpoint(playerid)
  133. {
  134. return 1;
  135. }
  136.  
  137. public OnRconCommand(cmd[])
  138. {
  139. return 1;
  140. }
  141.  
  142. public OnPlayerRequestSpawn(playerid)
  143. {
  144. return 1;
  145. }
  146.  
  147. public OnObjectMoved(objectid)
  148. {
  149. return 1;
  150. }
  151.  
  152. public OnPlayerObjectMoved(playerid, objectid)
  153. {
  154. return 1;
  155. }
  156.  
  157. public OnPlayerPickUpPickup(playerid, pickupid)
  158. {
  159. return 1;
  160. }
  161.  
  162. public OnVehicleMod(playerid, vehicleid, componentid)
  163. {
  164. return 1;
  165. }
  166.  
  167. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  168. {
  169. return 1;
  170. }
  171.  
  172. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  173. {
  174. return 1;
  175. }
  176.  
  177. public OnPlayerSelectedMenuRow(playerid, row)
  178. {
  179. return 1;
  180. }
  181.  
  182. public OnPlayerExitedMenu(playerid)
  183. {
  184. return 1;
  185. }
  186.  
  187. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  188. {
  189. return 1;
  190. }
  191.  
  192. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  193. {
  194. return 1;
  195. }
  196.  
  197. public OnRconLoginAttempt(ip[], password[], success)
  198. {
  199. return 1;
  200. }
  201.  
  202. public OnPlayerUpdate(playerid)
  203. {
  204. return 1;
  205. }
  206.  
  207. public OnPlayerStreamIn(playerid, forplayerid)
  208. {
  209. return 1;
  210. }
  211.  
  212. public OnPlayerStreamOut(playerid, forplayerid)
  213. {
  214. return 1;
  215. }
  216.  
  217. public OnVehicleStreamIn(vehicleid, forplayerid)
  218. {
  219. return 1;
  220. }
  221.  
  222. public OnVehicleStreamOut(vehicleid, forplayerid)
  223. {
  224. return 1;
  225. }
  226.  
  227. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  228. {
  229. return 1;
  230. }
  231.  
  232. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  233. {
  234. return 1;
  235. }
  236.  
  237.  
  238. stock PlayerName(playerid)
  239. {
  240. new name[24];
  241. GetPlayerName(playerid, name, 24);
  242. return name;
  243. }
  244.  
  245. stock LogPlayer(string[])
  246. {
  247. new File:ini = fopen("Logs/Check-in.txt", io_append);
  248. new log[256],year,month,day,hour,minute,second;
  249.  
  250. getdate(year, month, day);
  251. gettime(hour, minute, second);
  252. format(log, sizeof(log),"[%02d/%02d/%02d,%02d.%02d.%02d] %s: %s \r\n",day,month,year,hour,minute,second, string);
  253. fwrite(ini, log);
  254. fclose(ini);
  255. return 1;
  256. }
  257.  
  258. CMD:checkin(playerid)
  259. {
  260. //if(IsPlayerAdmin(playerid)) return 0;
  261. if(PlayerData[playerid][Admin] < 1) return 0;
  262. new string[100], log[128],h,m,s;
  263. gettime(h, m, s);
  264. if(GetPVarInt(playerid, "Check-in") == 1)
  265. {
  266. SendClientMessage(playerid, COLOR_ORED, "Error: You are already checked in");
  267. return 1;
  268. }
  269. else if(GetPVarInt(playerid, "Check-in") == 0)
  270. {
  271. format(string, sizeof(string),"You are now checked-in");
  272. SendClientMessage(playerid, COLOR_YELLOW, string);
  273. SetPVarInt(playerid, "Check-in", 1);
  274. format(log, sizeof(log),"%s has checked in (%02d:%02d:%02d)",PlayerName(playerid),h,m,s);
  275. LogPlayer(log);
  276. // Start the clock
  277. PlayerSeconds[playerid] = 0;
  278. }
  279. return 1;
  280. }
  281.  
  282. CMD:checkout(playerid, params[])
  283. {
  284. //if(IsPlayerAdmin(playerid)) return 0;
  285. if(PlayerData[playerid][Admin] < 1) return 0;
  286. new log[200], reason[50];
  287. if(sscanf(params, "s[50]", reason)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /checkout [reason]");
  288. if(GetPVarInt(playerid, "Check-in") == 0)
  289. {
  290. SendClientMessage(playerid, COLOR_ORED, "Error: You're not checked in to do this");
  291. return 1;
  292. }
  293. else if(GetPVarInt(playerid, "Check-in") == 1)
  294. {
  295. new string[100];
  296. format(string, sizeof(string),"You are successfully checked out with reason (%s)",reason);
  297. SendClientMessage(playerid, COLOR_YELLOW, string);
  298. // Stop clock and print
  299.  
  300. new hh,mm,ss;
  301. GetPlayerOnlineTime(playerid, hh, mm, ss);
  302. format(log, sizeof(log),"%s has checkout after (%02d hrs, %02d minutes, %02d secs)",PlayerName(playerid),hh,mm,ss);
  303. LogPlayer(log);
  304. SetPVarInt(playerid, "Check-in", 0);
  305. }
  306. return 1;
  307. }
  308.  
  309. forward CheckEachPlayer();
  310. public CheckEachPlayer()
  311. {
  312. for(new i=0;i<MAX_PLAYERS;i++)
  313. {
  314. if(IsPlayerConnected(i))
  315. {
  316. PlayerSeconds[i]++;
  317. }
  318. }
  319. }
  320.  
  321. stock GetPlayerOnlineTime(playerid, &hours, &minutes, &seconds)
  322. {
  323. hours = (PlayerSeconds[playerid]/(60*60))%24;
  324. minutes = (PlayerSeconds[playerid]/60)%60;
  325. seconds = PlayerSeconds[playerid]%60;
  326. }
Advertisement
Add Comment
Please, Sign In to add comment