HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  5. #include <nvault>
  6.  
  7. #define PLUGIN "Napi Jutalom"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Csabika20034"
  10.  
  11. new g_szAuthId[33][35];
  12. new g_szDay[3];
  13. new g_iVault;
  14. new g_iDay;
  15.  
  16. public plugin_init()
  17. {
  18. register_plugin(PLUGIN, VERSION, AUTHOR);
  19.  
  20. register_clcmd("say /reward", "cmdReward");
  21.  
  22. get_time("%d", g_szDay, charsmax(g_szDay));
  23. g_iDay = str_to_num(g_szDay);
  24.  
  25. g_iVault = nvault_open("cmdReward");
  26. }
  27.  
  28. public cmdReward(id)
  29. {
  30. if (!is_user_connected(id))
  31. return PLUGIN_HANDLED;
  32.  
  33. get_user_authid(id, g_szAuthId[id], charsmax(g_szAuthId[]));
  34.  
  35. // nvault_get helyes használata: szöveges nap eltárolva, majd visszaolvasva
  36. new szData[8];
  37. if (nvault_get(g_iVault, g_szAuthId[id], szData, charsmax(szData)))
  38. {
  39. new iDay = str_to_num(szData);
  40.  
  41. if (iDay == g_iDay)
  42. {
  43. ChatColor(id, "^x04[-Szerver Neve-] ^x01Ma már felhasználtad a napi jutalmad, próbáld újra holnap!");
  44. return PLUGIN_HANDLED;
  45. }
  46. }
  47.  
  48. // Ha nincs adat, vagy nem mai nap: jár a jutalom
  49. new szBonus[32], szName[32], iRandom = random_num(1, 5);
  50. get_user_name(id, szName, charsmax(szName));
  51.  
  52. switch (random_num(0, 3))
  53. {
  54. case 0:
  55. {
  56. iRandom *= random_num(1, 1000);
  57. cs_set_user_money(id, cs_get_user_money(id) + iRandom);
  58. formatex(szBonus, charsmax(szBonus), "%d $", iRandom);
  59. }
  60. case 1:
  61. {
  62. give_item(id, "weapon_deagle");
  63. formatex(szBonus, charsmax(szBonus), "Deagle");
  64. }
  65. case 2:
  66. {
  67. iRandom *= random_num(1, 20);
  68. set_user_health(id, get_user_health(id) + iRandom);
  69. formatex(szBonus, charsmax(szBonus), "%d HP", iRandom);
  70. }
  71. case 3:
  72. {
  73. iRandom *= random_num(1, 5);
  74. set_user_frags(id, get_user_frags(id) + iRandom); // set_user_flags -> set_user_frags
  75. formatex(szBonus, charsmax(szBonus), "%d Frag", iRandom);
  76. }
  77. }
  78.  
  79. set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 4.0);
  80. show_hudmessage(id, "Megkaptad a %s!", szBonus);
  81.  
  82. ChatColor(id, "^x04[-Szerver Neve-]^x01 Gratulálunk! Napi jutalmad:^x04 %s!", szBonus);
  83.  
  84. // Mai nap eltárolása stringként
  85. nvault_set(g_iVault, g_szAuthId[id], g_szDay);
  86.  
  87. return PLUGIN_HANDLED;
  88. }
  89.  
  90. ChatColor(const id, const input[], any:...)
  91. {
  92. new count = 1, players[32];
  93. static msg[191];
  94.  
  95. vformat(msg, charsmax(msg), input, 3);
  96.  
  97. replace_all(msg, charsmax(msg), "!g", "^4"); // zöld
  98. replace_all(msg, charsmax(msg), "!y", "^1"); // alap
  99. replace_all(msg, charsmax(msg), "!t", "^3"); // team
  100.  
  101. if (id)
  102. players[0] = id;
  103. else
  104. get_players(players, count, "ch");
  105.  
  106. for (new i = 0; i < count; i++)
  107. {
  108. if (is_user_connected(players[i]))
  109. {
  110. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  111. write_byte(players[i]);
  112. write_string(msg);
  113. message_end();
  114. }
  115. }
  116. }
  117.  
  118. public plugin_end()
  119. {
  120. if (g_iVault)
  121. nvault_close(g_iVault);
  122. }
  123.