level.inc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #include <YSI_Coding\y_hooks>
  2. static Level[MAX_PLAYERS];
  3. static Experience[MAX_PLAYERS];
  4. static HoursPlayed[MAX_PLAYERS];
  5. static MinutesPlayed[MAX_PLAYERS];
  6. static Timer:PlayTimer[MAX_PLAYERS];
  7. timer TimePlaying[60000](playerid)
  8. {
  9. MinutesPlayed[playerid] ++;
  10. if(MinutesPlayed[playerid] >= 60)
  11. {
  12. new paycheck;
  13. SendClientMessage(playerid, 0xeeeeeeff, "-------------------------------------------------------------------------------------");
  14. if(Player_GetJob(playerid) == JOB_NONE)
  15. {
  16. paycheck = 1000 + random(500);
  17. va_SendClientMessage(playerid, 0xeeeeeeff, "> Your {009900}$%s {eeeeee}paycheck was added to your bank account.", MoneyFormat(paycheck));
  18. }
  19. else
  20. {
  21. paycheck = 200 + random(100);
  22. va_SendClientMessage(playerid, 0xeeeeeeff, "> Your {009900}$%s {eeeeee}social welfare payment was added to your bank account.", MoneyFormat(paycheck));
  23. }
  24. va_SendClientMessage(playerid, 0xeeeeeeff, "> {ff5050}$%s {eeeeee}has been deducted from your bank account for billboard fees.", MoneyFormat(paycheck / 10));
  25. SendClientMessage(playerid, 0xeeeeeeff, "-------------------------------------------------------------------------------------");
  26. GameTextForPlayer(playerid, va_return("~y~Payday~n~~w~Paycheck~n~~g~$%s", MoneyFormat(paycheck)), 3000, 1);
  27. MinutesPlayed[playerid] = 0;
  28. HoursPlayed[playerid] ++;
  29. Experience[playerid] ++;
  30. if(Experience[playerid] >= Level[playerid] * 4 + 2)
  31. {
  32. Experience[playerid] = 0;
  33. Level[playerid] ++;
  34. SetPlayerScore(playerid, Level[playerid]);
  35. va_SendClientMessage(playerid, 0xffff00ff, "> You leveled up to level %d.", Level[playerid]);
  36. }
  37. new query[128];
  38. mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE characters SET level = %d, hours_played = %d, experience = %d WHERE id = %d", Level[playerid], HoursPlayed[playerid], Experience[playerid], Character_GetSQLID(playerid));
  39. mysql_tquery(MySQL_GetHandle(), query);
  40. }
  41. }
  42. hook OnPlayerConnect(playerid)
  43. {
  44. Level[playerid] = 0;
  45. Experience[playerid] = 0;
  46. HoursPlayed[playerid] = 0;
  47. MinutesPlayed[playerid] = 0;
  48. }
  49. hook OnPlayerFirstSpawn(playerid)
  50. {
  51. PlayTimer[playerid] = repeat TimePlaying(playerid);
  52. }
  53. public OnPlayerDisconnect(playerid, reason)
  54. {
  55. if(Timer_IsRunning(PlayTimer[playerid]))
  56. {
  57. stop PlayTimer[playerid];
  58. }
  59. return 1;
  60. }
  61. stock Player_GetLevel(playerid)
  62. {
  63. return Level[playerid];
  64. }
  65. stock Player_SetLevel(playerid, level)
  66. {
  67. Level[playerid] = level;
  68. SetPlayerScore(playerid, level);
  69. }
  70. stock Player_GetExperience(playerid)
  71. {
  72. return Experience[playerid];
  73. }
  74. stock Player_SetExperience(playerid, experience)
  75. {
  76. Experience[playerid] = experience;
  77. }
  78. stock Player_GetHoursPlayed(playerid)
  79. {
  80. return HoursPlayed[playerid];
  81. }
  82. stock Player_SetHoursPlayed(playerid, hours)
  83. {
  84. HoursPlayed[playerid] = hours;
  85. }
  86. stock Player_GetMinutesPlayed(playerid)
  87. {
  88. return MinutesPlayed[playerid];
  89. }
  90. stock Player_SetMinutesPlayed(playerid, minutes)
  91. {
  92. MinutesPlayed[playerid] = minutes;
  93. }