HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <nvault>
  4. #include <hamsandwich>
  5. #include <fun>
  6. #include <colorchat>
  7.  
  8. #pragma semicolon 1
  9.  
  10. new const PLUGIN_NAME[] = "Euro System";
  11. new const VERSION_PLUGIN[] = "1.0";
  12. new const AUTOR_NAME[] = "GhosT ***";
  13.  
  14. new EuroPlayer[32];
  15. new g_vault;
  16.  
  17. new HeadShotKill_Euro;
  18. new NormalKill_Euro;
  19.  
  20. public plugin_cfg()
  21. {
  22. get_pcvar_num(HeadShotKill_Euro);
  23. get_pcvar_num(NormalKill_Euro);
  24. }
  25.  
  26. public plugin_init()
  27. {
  28. register_plugin(PLUGIN_NAME, VERSION_PLUGIN, AUTOR_NAME);
  29.  
  30. register_clcmd("say /euro", "ShowEuroInfo");
  31. register_clcmd("say_team /euro", "ShowEuroInfo");
  32.  
  33. register_event("DeathMsg", "DeathMsg", "a");
  34.  
  35. register_concmd("amx_euro", "_euro");
  36. register_concmd("amx_give_euro", "_give_euro", ADMIN_MENU, "<nume> <Amount>");
  37. register_concmd("amx_take_euro", "_take_euro", ADMIN_MENU, "<nume> <Amount>");
  38.  
  39. g_vault = nvault_open("EuroSystem");
  40.  
  41. HeadShotKill_Euro = register_cvar("HsKill_Euro", "50");
  42. NormalKill_Euro = register_cvar("NormalKill_Euro", "30");
  43. }
  44. public client_putinserver(id)
  45. {
  46. LoadEuro(id);
  47.  
  48. set_task(5.0, "ShowMessage", id);
  49. }
  50. public client_disconnect(id)
  51. {
  52. SaveEuro(id);
  53. }
  54. public SaveEuro(id)
  55. {
  56. new name[32];
  57. get_user_name(id,name,31);
  58.  
  59. new vaultkey[64],vaultdata[256];
  60. format(vaultkey,63,"%s-Euro",name);
  61. format(vaultdata,255,"%i ", EuroPlayer[id]);
  62.  
  63. nvault_set(g_vault,vaultkey,vaultdata);
  64. }
  65. public LoadEuro(id)
  66. {
  67. new name[32];
  68. get_user_name(id, name, 31);
  69.  
  70. new vaultkey[64], vaultdata[256];
  71. format(vaultkey, 63, "%s-Euro", name);
  72. format(vaultdata, 255, "%i ", EuroPlayer[id]);
  73.  
  74. nvault_get(g_vault,vaultkey,vaultdata,255);
  75.  
  76. new PlayerEuro[32];
  77. parse(vaultdata, PlayerEuro, 31);
  78.  
  79. EuroPlayer[id] = str_to_num(PlayerEuro);
  80. }
  81. public plugin_natives()
  82. {
  83. register_library( "es" );
  84. register_native("get_user_euro", "_get_user_Euro");
  85. register_native("set_user_euro", "_set_user_Euro");
  86. }
  87. public _get_user_Euro(Plugin, Params)
  88. {
  89. return EuroPlayer[get_param(1)];
  90. }
  91. public _set_user_Euro(Plugin, Params)
  92. {
  93. new id = get_param(1);
  94. EuroPlayer[id] = max(0, get_param(2));
  95. SaveEuro(id);
  96. return EuroPlayer[id];
  97. }
  98. native get_user_euro(index);
  99. native set_user_euro(index, amount);
  100.  
  101. public ShowEuroInfo(id)
  102. {
  103. ColorChat(id, RED, "^x04 [EURO]^x01 Neked ennyi ^x03 %i^x01 eurod van !", get_user_euro(id));
  104. return 1;
  105. }
  106. public DeathMsg(iWpnIndex)
  107. {
  108. new headshot = read_data(3);
  109. new Victim = read_data(2);
  110. new iAttacker = read_data(1);
  111.  
  112. if(iAttacker == Victim)
  113. return PLUGIN_HANDLED;
  114.  
  115. else if(headshot)
  116. set_user_euro(iAttacker, get_user_euro(iAttacker) + get_pcvar_num(HeadShotKill_Euro));
  117.  
  118. else
  119. set_user_euro(iAttacker, get_user_euro(iAttacker) + get_pcvar_num(NormalKill_Euro));
  120.  
  121. return PLUGIN_CONTINUE;
  122. }
  123. public _euro(id)
  124. {
  125. new target_name[32];
  126.  
  127. read_argv(1, target_name, 31);
  128.  
  129. if(equal(target_name, ""))
  130. {
  131. console_print(id, "amx_euro <nick>");
  132. return 1;
  133. }
  134.  
  135. new iPlayer = cmd_target(id, target_name, CMDTARGET_ALLOW_SELF);
  136. if(!iPlayer)
  137. {
  138. console_print(id, "Nincs ilyen nev !");
  139. return 1;
  140. }
  141.  
  142. new Player_Name[32];
  143. get_user_name(iPlayer, Player_Name, 31);
  144.  
  145. console_print(id, "Player %s have %i euro !", Player_Name, get_user_euro(iPlayer));
  146. return 1;
  147. }
  148. public _give_euro(id)
  149. {
  150. if(get_user_flags(id) & ADMIN_MENU)
  151. {
  152. new target_name[32];
  153. new Amount[10];
  154.  
  155. read_argv(1, target_name, 31);
  156. read_argv(2, Amount, 9);
  157.  
  158. if(equal(target_name, "") || equal(Amount, ""))
  159. {
  160. console_print(id, "amx_give_euro <nick> <amount>");
  161. return 1;
  162. }
  163.  
  164. new Euro = str_to_num(Amount);
  165.  
  166. if(Euro <= 0)
  167. {
  168. console_print(id, "0-nal nagyobbnak kell hogy legyen !");
  169. return 1;
  170. }
  171.  
  172. new iPlayer = cmd_target(id, target_name, CMDTARGET_ALLOW_SELF);
  173.  
  174. if(!iPlayer)
  175. {
  176. console_print(id, "Ervenytelen !");
  177. return 1;
  178. }
  179.  
  180. set_user_euro(iPlayer, get_user_euro(iPlayer) + Euro);
  181.  
  182. new Admin_Name[32];
  183. new Player_Name[32];
  184.  
  185. get_user_name(id, Admin_Name, 31);
  186. get_user_name(iPlayer, Player_Name, 31);
  187.  
  188. ColorChat(id, RED, "^x04 ADMIN: %s^x01 adott ^x03 %d Eurot^x01 to^x04 %s^x01 !", Admin_Name, Euro, Player_Name);
  189.  
  190. return 1;
  191. }
  192. else
  193. {
  194. console_print(id, "Te nemtudod hasznalni ezt a parancsot!");
  195. return 1;
  196. }
  197.  
  198. return 1;
  199. }
  200. public _take_euro(id)
  201. {
  202. if(get_user_flags(id) & ADMIN_MENU)
  203. {
  204. new target_name[32];
  205. new Amount[10];
  206.  
  207. read_argv(1, target_name, 31);
  208. read_argv(2, Amount, 9);
  209.  
  210. if(equal(target_name, "") || equal(Amount, ""))
  211. {
  212. console_print(id, "amx_take_euro <nick> <amount>");
  213. return 1;
  214. }
  215.  
  216. new Euro = str_to_num(Amount);
  217.  
  218. if(Euro <= 0)
  219. {
  220. console_print(id, "0-nal nagyobbnak kell hogy legyen !");
  221. return 1;
  222. }
  223.  
  224. new iPlayer = cmd_target(id, target_name, 8);
  225.  
  226. if(!iPlayer)
  227. {
  228. console_print(id, "Nincs ilyen jatekos !");
  229. return 1;
  230. }
  231. if(get_user_euro(iPlayer) < Euro)
  232. {
  233. console_print(id, "Jatekos %s mindenkinek %i Eurot !", target_name, get_user_euro(iPlayer));
  234. return 1;
  235. }
  236.  
  237. set_user_euro(iPlayer, get_user_euro(iPlayer) - Euro);
  238.  
  239. new Admin_Name[32];
  240. new Player_Name[32];
  241.  
  242. get_user_name(id, Admin_Name, 31);
  243. get_user_name(iPlayer, Player_Name, 31);
  244.  
  245. ColorChat(id, RED, "^x04 ADMIN: %s^x01 elvett ennyi ^x03 %d Eurot^x01 to^x04 %s^x01 !", Admin_Name, Euro, Player_Name);
  246.  
  247. return 1;
  248. }
  249. else
  250. {
  251. console_print(id, "Nem tudod hasznalni ezt a parancsot !");
  252. return 1;
  253. }
  254.  
  255. return 1;
  256. }
  257. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  258. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  259. */
  260.