Advertisement
Guest User

Shop error

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