HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <fun>
  7. #include <cstrike>
  8.  
  9.  
  10. #define PLUGIN "Shop"
  11. #define VERSION "1.1"
  12. #define AUTHOR "Darksmith"
  13.  
  14. #pragma semicolon 1
  15.  
  16. new g_iMenu, gmsgBlinkAcct, g_iMaxPlayers;
  17.  
  18. enum _:playerTasks ( += 33 )
  19. {
  20. TASK_PLAYER_REMOVE_GODMODE,
  21. TASK_PLAYER_REMOVE_INVIS,
  22. TASK_PLAYER_REMOVE_NOCLIP
  23. }
  24.  
  25. enum Datas
  26. {
  27. m_szName[32],
  28. m_iCost
  29. }
  30.  
  31. new const g_mItems[][Datas] =
  32. {
  33. {"No Clip \\r30 másodperc", 4000},
  34. {"Isten mod \\r20 másodperc", 3500},
  35. {"Lathatatlansag \\r40 másodperc", 6000},
  36. {"500 elet + pajzs \\r1 Kör", 5000},
  37. {"Gyorsasag & Gravitacio \\r1 Kör", 3000}
  38. };
  39.  
  40. public plugin_init()
  41. {
  42. register_plugin(PLUGIN, VERSION, AUTHOR);
  43.  
  44. register_clcmd("say /bolt", "shop");
  45. register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
  46.  
  47.  
  48. CreateMenu();
  49.  
  50. gmsgBlinkAcct = get_user_msgid("BlinkAcct");
  51. }
  52.  
  53. public Event_HLTV_New_Round()
  54. {
  55. for(new id = 1; id<=g_iMaxPlayers; id++)
  56. {
  57. remove_task( id + TASK_PLAYER_REMOVE_GODMODE );
  58. remove_task( id + TASK_PLAYER_REMOVE_INVIS );
  59. remove_task( id + TASK_PLAYER_REMOVE_NOCLIP );
  60. Task_Remove_Noclip( id );
  61. Task_Remove_GodMode( id );
  62. Task_Remove_Invis( id );
  63. }
  64. }
  65.  
  66. CreateMenu()
  67. {
  68. g_iMenu = menu_create( "\\rCSDM Bolt \\R\\y$", "ShopMenuHandler" );
  69.  
  70. new szItem[64];
  71. for(new i; i<sizeof(g_mItems); i++)
  72. {
  73. formatex(szItem, charsmax(szItem), "%s\\R\\y%d", g_mItems[i][m_szName], g_mItems[i][m_iCost]);
  74. menu_additem(g_iMenu, szItem);
  75. }
  76. }
  77. public shop(id)
  78. {
  79. if(is_user_alive(id))
  80. {
  81. menu_display(id, g_iMenu);
  82. }
  83. }
  84.  
  85. public ShopMenuHandler(id, menu, item )
  86. {
  87. if(item >=0 && is_user_alive(id))
  88. {
  89. new newMoney = cs_get_user_money(id) - g_mItems[item][m_iCost];
  90. if( newMoney <= 0 )
  91. {
  92. client_print(id, print_chat, "Sajnálom, nincs elég pénzed!");
  93.  
  94. message_begin(MSG_ONE, gmsgBlinkAcct, _, id);
  95. {
  96. write_byte(2);
  97. }
  98. message_end();
  99. return;
  100. }
  101. cs_set_user_money(id, newMoney);
  102.  
  103. switch(item)
  104. {
  105. case 0:
  106. {
  107. set_user_noclip(id, 1);
  108. set_task(30.0, "Task_Remove_Noclip", id + TASK_PLAYER_REMOVE_NOCLIP);
  109. client_print(id, print_chat, "A megvásárolt clip, 30 másodpercig használható!");
  110. }
  111. case 1:
  112. {
  113. set_user_godmode(id, 1);
  114. set_task(20.0, "Task_Remove_GodMode", id + TASK_PLAYER_REMOVE_GODMODE);
  115. client_print(id, print_chat, "A megvásárolt Isten mod 20 másodpercig használható!");
  116. }
  117. case 2:
  118. {
  119. set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha);
  120. set_task(40.0, "Task_Remove_Invis", id + TASK_PLAYER_REMOVE_INVIS);
  121. client_print(id, print_chat, "A megvásárolt Láthatatlanság 40 másodpercig használható!");
  122. }
  123. case 3:
  124. {
  125. set_user_health(id, 500);
  126. cs_set_user_armor(id, 500, CS_ARMOR_VESTHELM);
  127. client_print(id, print_chat, "Te vásároltál 500 életet + Pajzsot!");
  128. }
  129. case 4:
  130. {
  131. set_user_maxspeed(id, 500.0);
  132. set_user_gravity(id, 0.2);
  133. client_print(id, print_chat, "Te vásároltál gyorsásagot és gravitációt!");
  134. }
  135. }
  136. }
  137. }
  138.  
  139. public Task_Remove_Noclip( id )
  140. {
  141. id %= 33;
  142. if( is_user_connected(id) )
  143. {
  144. set_user_noclip(id, 0);
  145. }
  146. }
  147.  
  148. public Task_Remove_GodMode( id )
  149. {
  150. id %= 33;
  151. if( is_user_connected(id) )
  152. {
  153. set_user_godmode(id, 0);
  154. }
  155. }
  156.  
  157. public Task_Remove_Invis( id )
  158. {
  159. id %= 33;
  160. if( is_user_connected(id) )
  161. {
  162. set_user_rendering(id, _, 0, 0, 0, _, 0);
  163. }
  164. }
  165.  
  166.  
  167.  
  168. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  169. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1036\\ f0\\ fs16 \n\\ par }
  170. */
  171. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  172. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1036\\ f0\\ fs16 \n\\ par }
  173. */
  174.  
  175.  
  176.