Advertisement
Guest User

Untitled

a guest
Mar 6th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.71 KB | None | 0 0
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <cstrike>
  6. #include <hamsandwich>
  7. #include <fun>
  8.  
  9. #define PLUGIN "OOE Shop"
  10. #define VERSION "1.1.0"
  11. #define AUTHOR "Kia"
  12.  
  13. #define get_player_cash(%1) get_pdata_int(%1, 115)
  14.  
  15. // ===============================================================================
  16. // Variables
  17. // ===============================================================================
  18.  
  19. /* Booleans */
  20.  
  21. new bool:g_bHasGrenade[33]
  22. new bool:g_bHasFlashbang[33]
  23. new bool:g_bHasFrostNade[33]
  24. new bool:g_bHasHealth[33]
  25. new bool:g_bHasRespawn[33]
  26. new bool:g_bHasGravity[33]
  27. new bool:g_bHasNoFlash[33]
  28. new bool:g_bHasNoFrost[33]
  29.  
  30.  
  31. /* Misc */
  32.  
  33. new g_msgScreenFade
  34.  
  35.  
  36. // ===============================================================================
  37. // plugin_init
  38. // ===============================================================================
  39.  
  40. public plugin_init()
  41. {
  42. register_plugin(PLUGIN, VERSION, AUTHOR)
  43.  
  44. /* Events */
  45.  
  46. register_event("ScreenFade", "Event_Flashed", "be", "4=255", "5=255", "6=255", "7>199")
  47.  
  48. /* Logevents */
  49.  
  50. register_logevent("LogEvent_RoundEnd", 2, "1=Round_End")
  51.  
  52. /* Commands */
  53.  
  54. register_clcmd("say /shop", "cmd_Shop")
  55. register_clcmd("say_team /shop", "cmd_Shop")
  56. register_clcmd("say /store", "cmd_Shop")
  57. register_clcmd("say_team /store", "cmd_Shop")
  58. register_clcmd("say /prodavnica", "cmd_Shop")
  59. register_clcmd("say_team /prodavnica", "cmd_Shop")
  60. register_clcmd("say /kupi", "cmd_Shop")
  61. register_clcmd("say_team /kupi", "cmd_Shop")
  62. register_clcmd("shop", "cmd_Shop")
  63.  
  64. /* Misc */
  65.  
  66. g_msgScreenFade = get_user_msgid("ScreenFade")
  67. }
  68.  
  69. // ===============================================================================
  70. // Event_Flashed - Called when a player gets flashed
  71. // ===============================================================================
  72.  
  73. public Event_Flashed(id)
  74. {
  75. if(g_bHasNoFlash[id])
  76. {
  77. message_begin(MSG_ONE, g_msgScreenFade, {0,0,0},id)
  78. write_short(1)
  79. write_short(1)
  80. write_short(1)
  81. write_byte(0)
  82. write_byte(0)
  83. write_byte(0)
  84. write_byte(255)
  85. message_end()
  86. }
  87. }
  88.  
  89. // ===============================================================================
  90. // LogEvent_RoundEnd - Called when a Round ends
  91. // ===============================================================================
  92.  
  93. public LogEvent_RoundEnd()
  94. {
  95. arrayset(g_bHasGrenade, 0, sizeof(g_bHasNoFlash))
  96. arrayset(g_bHasFlashbang, 0, sizeof(g_bHasFlashbang))
  97. arrayset(g_bHasFrostNade, 0, sizeof(g_bHasFrostNade))
  98. arrayset(g_bHasHealth, 0, sizeof(g_bHasHealth))
  99. arrayset(g_bHasRespawn, 0, sizeof(g_bHasRespawn))
  100. arrayset(g_bHasGravity, 0, sizeof(g_bHasGravity))
  101. arrayset(g_bHasNoFlash, 0, sizeof(g_bHasNoFlash))
  102. arrayset(g_bHasNoFrost, 0, sizeof(g_bHasNoFrost))
  103. }
  104.  
  105. // ===============================================================================
  106. // cmd_Shop - Called when someone is typing (say(_team)) (/)shop
  107. // ===============================================================================
  108.  
  109. public cmd_Shop(id)
  110. {
  111. switch(cs_get_user_team(id))
  112. {
  113. case CS_TEAM_T : func_OpenTShop(id)
  114. case CS_TEAM_CT : func_OpenCTShop(id)
  115. }
  116. }
  117.  
  118. // ===============================================================================
  119. // func_OpenTShop - Opened when a Terrorist opens the Shop
  120. // ===============================================================================
  121.  
  122. public func_OpenTShop(id)
  123. {
  124. new szMenuTitle[64]
  125. formatex(szMenuTitle, charsmax(szMenuTitle), "[TriP KNIFE] - TT Shop")
  126.  
  127. new menu = menu_create(szMenuTitle, "func_OpenTShop_handler")
  128.  
  129. menu_additem(menu, "HE Grenade [14000$]", "0", g_bHasGrenade[id] || !is_user_alive(id) ? 1<<31 : 0)
  130. menu_additem(menu, "FlashBang [4000$]", "1", g_bHasFlashbang[id] || !is_user_alive(id) ? 1<<31 : 0)
  131. menu_additem(menu, "SmokeNade [2000$]", "2", g_bHasFrostNade[id] || !is_user_alive(id) ? 1<<31 : 0)
  132. menu_additem(menu, "+40 HP [15000$]", "3", g_bHasHealth[id] || !is_user_alive(id) ? 1<<31 : 0)
  133. menu_additem(menu, "Respawn [10000$]", "4", is_user_alive(id) || g_bHasRespawn[id] ? 1<<31 : 0)
  134. menu_additem(menu, "Gravitacija [5000$]", "5", g_bHasGravity[id] || !is_user_alive(id) ? 1<<31 :0)
  135.  
  136. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  137. menu_display( id, menu, 0 )
  138. return PLUGIN_HANDLED
  139. }
  140.  
  141. public func_OpenTShop_handler(id, menu, item)
  142. {
  143. if( item == MENU_EXIT )
  144. {
  145. return PLUGIN_HANDLED;
  146. }
  147.  
  148. new money = cs_get_user_money(id)
  149.  
  150. switch(item)
  151. {
  152. case 0:
  153. {
  154. if(money >= 14000)
  155. {
  156. Reduce(id, 14000)
  157. func_giveitem_he(id)
  158. }
  159. else
  160. client_print(id, print_chat, "Nemas dovoljno para da kupis HE Grenade treba ti 14000$.")
  161. }
  162. case 1:
  163. {
  164. if(money >= 4000)
  165. {
  166. Reduce(id, 4000)
  167. func_giveitem_flash(id)
  168. }
  169. else
  170. client_print(id, print_chat, "Nemas dovoljno para da kupis FlashBang treba ti 4000$.")
  171. }
  172. case 2:
  173. {
  174. if(money >= 2000)
  175. {
  176. Reduce(id, 2000)
  177. func_giveitem_frost(id)
  178. }
  179. else
  180. client_print(id, print_chat, "Nemas dovoljno para da kupis SmokeNade treba ti 2000$.")
  181. }
  182. case 3:
  183. {
  184. if(money >= 15000)
  185. {
  186. Reduce(id, 15000)
  187. func_giveitem_health(id)
  188. }
  189. else
  190. client_print(id, print_chat, "Nemas dovoljno para da kupis +40 HP treba ti 15000$.")
  191. }
  192. case 4:
  193. {
  194. if(money >= 10000)
  195. {
  196. Reduce(id, 10000)
  197. func_giveitem_respawn(id)
  198. }
  199. else
  200. client_print(id, print_chat, "Nemas dovoljno para da kupis Resapwn treba ti 10000$.")
  201. }
  202. case 5:
  203. {
  204. if(money >= 5000)
  205. {
  206. Reduce(id, 5000)
  207. func_giveitem_gravity(id)
  208. }
  209. else
  210. client_print(id, print_chat, "Nemas dovoljno para da kupis Gravitaciju treba ti 5000$.")
  211. }
  212. }
  213. return PLUGIN_CONTINUE
  214. }
  215.  
  216. // ===============================================================================
  217. // func_OpenTShop - Opened when a CT opens the Shop
  218. // ===============================================================================
  219.  
  220. public func_OpenCTShop(id)
  221. {
  222. new szMenuTitle[64]
  223. formatex(szMenuTitle, charsmax(szMenuTitle), "[TriP KNIFE] - CT Shop")
  224.  
  225. new menu = menu_create(szMenuTitle, "func_OpenCTShop_handler")
  226.  
  227. menu_additem(menu, "HE Grenade [14000$]", "0", g_bHasGrenade[id] || !is_user_alive(id) ? 1<<31 : 0)
  228. menu_additem(menu, "+40 HP [15000$]", "1", g_bHasHealth[id] || !is_user_alive(id) ? 1<<31 : 0)
  229. menu_additem(menu, "Respawn [10000$]", "2", is_user_alive(id) || g_bHasRespawn[id] ? 1<<31 : 0)
  230. menu_additem(menu, "Anti-Flash [4000$]", "3", g_bHasNoFlash[id] || !is_user_alive(id) ? 1<<31 : 0)
  231. menu_additem(menu, "Anti-Smoke [2000$]", "4", g_bHasNoFrost[id] || !is_user_alive(id) ? 1<<31 : 0)
  232. menu_additem(menu, "Gravitacija [5000$]", "5", g_bHasGravity[id] || !is_user_alive(id) ? 1<<31 : 0)
  233.  
  234. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  235. menu_display( id, menu, 0 )
  236. return PLUGIN_HANDLED
  237. }
  238.  
  239. public func_OpenCTShop_handler(id, menu, item)
  240. {
  241. if( item == MENU_EXIT )
  242. {
  243. return PLUGIN_HANDLED;
  244. }
  245.  
  246. new money = cs_get_user_money(id)
  247.  
  248. switch(item)
  249. {
  250. case 0:
  251. {
  252. if(money >= 14000)
  253. {
  254. Reduce(id, 14000)
  255. func_giveitem_he(id)
  256. }
  257. else
  258. client_print(id, print_chat, "Nemas dovoljno para da kupis HE Grenade treba ti 14000$.")
  259. }
  260. case 1:
  261. {
  262. if(money >= 15000)
  263. {
  264. Reduce(id, 15000)
  265. func_giveitem_health(id)
  266. }
  267. else
  268. client_print(id, print_chat, "Nemas dovoljno para da kupis +40 HP treba ti 15000$.")
  269. }
  270. case 2:
  271. {
  272. if(money >= 10000)
  273. {
  274. Reduce(id, 10000)
  275. func_giveitem_respawn(id)
  276. }
  277. else
  278. client_print(id, print_chat, "Nemas dovoljno para da kupis Respawn treba ti 10000$.")
  279. }
  280. case 3:
  281. {
  282. if(money >= 4000)
  283. {
  284. Reduce(id, 4000)
  285. func_giveitem_aflash(id)
  286. }
  287. else
  288. client_print(id, print_chat, "Nemas dovoljno para da kupis Anti-Flash treba ti 4000$.")
  289. }
  290. case 4:
  291. {
  292. if(money >= 2000)
  293. {
  294. Reduce(id, 2000)
  295. func_giveitem_afrost(id)
  296. }
  297. else
  298. client_print(id, print_chat, "Nemas dovoljno para da kupis Anti-Smoke treba ti 2000$.")
  299. }
  300. case 5:
  301. {
  302. if(money >= 5000)
  303. {
  304. Reduce(id, 5000)
  305. func_giveitem_gravity(id)
  306. }
  307. else
  308. client_print(id, print_chat, "Nemas dovoljno para da kupis Gravitaciju treba ti 5000$.")
  309. }
  310. }
  311. return PLUGIN_CONTINUE
  312. }
  313.  
  314.  
  315.  
  316. // ===============================================================================
  317. // Item Handlers
  318. // ===============================================================================
  319.  
  320. public func_giveitem_he(id)
  321. {
  322. give_item(id, "weapon_hegrenade")
  323. g_bHasGrenade[id] = true
  324. }
  325.  
  326. public func_giveitem_flash(id)
  327. {
  328. give_item(id, "weapon_flashbang")
  329. g_bHasFlashbang[id] = true
  330. }
  331.  
  332. public func_giveitem_gravity(id)
  333. {
  334. set_user_gravity(id, 0.5)
  335. g_bHasGravity[id] = true
  336. }
  337.  
  338. public func_giveitem_frost(id)
  339. {
  340. give_item(id, "weapon_smokegrenade")
  341. g_bHasFrostNade[id] = true
  342. }
  343.  
  344. public func_giveitem_health(id)
  345. {
  346. set_user_health(id, get_user_health(id) + 40)
  347. g_bHasHealth[id] = true
  348. }
  349.  
  350. public func_giveitem_respawn(id)
  351. {
  352. ExecuteHamB(Ham_CS_RoundRespawn, id)
  353.  
  354. new szName[33]
  355. get_user_name(id, szName, charsmax(szName))
  356.  
  357. client_print(0, print_chat, "%s je kupio RESPAWN!", szName)
  358.  
  359. g_bHasRespawn[id] = true
  360. }
  361.  
  362. public func_giveitem_aflash(id)
  363. g_bHasNoFlash[id] = true
  364.  
  365. public func_giveitem_afrost(id)
  366. g_bHasNoFrost[id] = true
  367.  
  368.  
  369. // ===============================================================================
  370. // FrostNades
  371. // ===============================================================================
  372.  
  373. public frostnades_player_chilled( victim, attacker )
  374. {
  375. if(g_bHasNoFrost[victim])
  376. return PLUGIN_HANDLED
  377. return PLUGIN_CONTINUE
  378. }
  379.  
  380. public frostnades_player_frozen( victim, attacker )
  381. {
  382. if(g_bHasNoFrost[victim])
  383. return PLUGIN_HANDLED
  384. return PLUGIN_CONTINUE
  385. }
  386.  
  387. // ===============================================================================
  388. // Stocks
  389. // ===============================================================================
  390.  
  391. stock Reduce(id, amount)
  392. cs_set_user_money(id, cs_get_user_money(id) - amount)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement