Guest User

CF JailBreak

a guest
Oct 28th, 2012
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.42 KB | None | 0 0
  1. /*
  2. Cookie Force Jailbreak Plugin
  3.  
  4. Description:
  5.  
  6. This is a complete jailbreak plugin, including:
  7.  
  8. - Last request 8 games and 4 rebels
  9. - Beacon on lr
  10. - Weapon menu for CT
  11. - Shop
  12. - Days menu
  13. - much more
  14.  
  15. Cvars:
  16.  
  17. - jb_points_kill How many points a T gets for killing a ct
  18. - jb_shop_gunprice How many points a gun gamble costs
  19. - jb_shop_pillsprice How many points Pills cost
  20. - jb_shop_armorprice How many points armor costs
  21. - jb_shop_camoprice How many points camo costs
  22. - jb_show_players SHows a hud with players left on top of screen
  23. - jb_days Shows the days HUD
  24. - jb_shop Opens the shop
  25. - jb_points_headshot How many points T's get for killing a ct with a headshot
  26. - jb_shop_nadepack_price How many points the nade pack costs
  27. - jb_showrebels Show rebels when they kill someone or not
  28. - jb_blocktvoice Blocks Terrorist from voice chat
  29. - jb_enable_days Enables the days menu
  30. - jb_teleport Enables/ disables the teleports on LR
  31.  
  32. Changelog:
  33.  
  34. 1.0: Initial Release
  35. 1.1: Fixed lr bug
  36. 1.2: Added rebel system, fixed camo shop
  37. 1.3: Updated rebel system with glow and alarm
  38. 1.4: Added strip after LR win, optimalized lr
  39. 1.5: Fixed rebel weapon strip.
  40. 1.6: Fixed camo model.
  41. 1.7: Added t voice blocker by Exolent[jNr].
  42. 1.8: Fixed sounds(ac4570), index out of bounds error.
  43. 1.9: Fixed sounds for the last time
  44. 2.0: Added several days, fixed gun toss
  45. 2.1: Fixed little typo in LR
  46. 2.2: Fixed Daysmenu items not showing up
  47. 2.3: Fixed crash on music day
  48. 2.4: Added new Lr: Choose specialday next round, teleport on some1s_jailbreak, fixed gun_blocker
  49. 2.5: Added cvar for teleport
  50. 2.6: Fixed rebeling won't stop
  51. 2.7: Fixed player out of range errors
  52. 2.8: Added Countdown, Nightcrawler day, Spartan Day, new sounds.
  53. 2.9: Fixed Deathmatch day, nightcrawler day, stopped sound on round end
  54. 3.0: Fixed Crash of shark day, added only one day/ round
  55. 3.1: Added ColorChat option.
  56. 3.2: Fixed index out of bounds error.
  57.  
  58.  
  59. Credits:
  60.  
  61. Toast: For the base of the plugin
  62. All the guys that helped me solve bugs
  63. And everyone i forgot.
  64.  
  65.  
  66. Notes:
  67.  
  68. I never though i would ever make this public, but since i stopped my jailbreak, due to few players, i'm releasing it.
  69.  
  70. The shops points are cookies, because the clan i made this for it called Cookie Force, so it was funny to make it cookies.
  71.  
  72. To disable ColorChat, comment define USE_CC on line 83
  73.  
  74. */
  75. #include <amxmodx>
  76. #include <amxmisc>
  77. #include <fun>
  78. #include <cstrike>
  79. #include <hamsandwich>
  80. #include <fakemeta>
  81. #include <engine>
  82. #include <nvault>
  83.  
  84. #define USE_CC
  85.  
  86. #if defined USE_CC
  87. #include <colorchat>
  88. #endif
  89.  
  90. ///////////////
  91. // =Defines= //
  92. ///////////////
  93.  
  94. #define VERSION "3.2"
  95.  
  96. #define IsPlayer(%1) (1<=%1<=g_max_clients)
  97.  
  98. #define REQUIRED_ADMIN_LEVEL ADMIN_KICK
  99. #define ADMIN_VOICE ADMIN_MENU
  100.  
  101. #define OFFSET_PRIMARYWEAPON 116
  102.  
  103. /////////////////////////////////////////////////////////
  104.  
  105.  
  106. //////////////////
  107. // =New things= //
  108. //////////////////
  109. #if defined USE_CC
  110. new const PREFIX[] = "[AMXX]^x04:" // Prefix
  111. #else
  112. new const PREFIX[] = "[AMXX]:" // Normal prefix
  113. #endif
  114.  
  115. new g_max_clients //client check
  116.  
  117. // Cvars
  118. new cvar_killpoints // How many Cookies a terrorist gets for 1 ct kill
  119. new cvar_gunprice // How many Cookies a gun costs
  120. new cvar_pillsprice // How many Cookies pills costs
  121. new cvar_armorprice // How many Cookies armor costs
  122. new cvar_camoprice // How many Cookies camo costs
  123. new cvar_nadepackprice // How many Cookies nades cost
  124. new cvar_headshotpoints // How many extra points a t gets for killing a ct
  125. new cvar_days // Is days hud should be displayed or not
  126. new cvar_showplayers // Shows the players in a nice hud message
  127. new cvar_shop // Open or close the shop
  128. new cvar_showrebels // Show rebels in chat
  129. new cvar_tvoiceblock // Block T's from using voicechat
  130. new cvar_daysmenu // Enables the days menu
  131. new cvar_teleport // Enables/disables teleport on LR
  132.  
  133. // Points system
  134. new playerpoints[33] // Amount of Cookies a player has
  135. new g_vault // Open a new vault to store a players points.
  136.  
  137. // Other Stuff
  138. new days
  139.  
  140. new g_guards
  141. new g_prisoners
  142.  
  143. new beacon_sprite
  144.  
  145. new lrgame[33]
  146. enum
  147. {
  148. LR_NONE,
  149. LR_KNIFE,
  150. LR_S4S,
  151. LR_NADE,
  152. LR_SCOUT,
  153. LR_RACE,
  154. LR_SPRAY,
  155. LR_TOSS,
  156. LR_SHOTWAR,
  157. LR_SPECIAL,
  158. LR_REBEL
  159. }
  160.  
  161. new specialday[21]
  162. enum
  163. {
  164. DAY_NONE,
  165. DAY_MUSIC,
  166. DAY_GRAV,
  167. DAY_FREEDAY,
  168. DAY_ZOMBIE,
  169. DAY_LAVA,
  170. DAY_SHARK,
  171. DAY_CAGE,
  172. DAY_DM,
  173. DAY_NIGHT,
  174. DAY_SPARTAN
  175. }
  176.  
  177. // Sounds
  178. new musicday_song[] = "sound/music1.mp3"
  179. new musicday_song2[] = "sound/music3.mp3"
  180. new musicday_song3[] = "sound/misc/Cops-BadBoys.mp3"
  181. new alarm[] = "sound/misc/alarm.mp3"
  182. new race_go[] = "sound/jailbreak/race_go.mp3"
  183. new s4ssound[] = "sound/jailbreak/s4s.mp3"
  184. new spartansound[] = "sound/jailbreak/spartan_day.mp3"
  185. new zombiesound[] = "sound/jailbreak/zombie_day.mp3"
  186.  
  187. new timer
  188. new name[33]
  189.  
  190. ////////////////////////////////////////////////////////////////
  191.  
  192. ////////////////
  193. // =Booleans= //
  194. ////////////////
  195.  
  196. new bool: lr_started // Is last request?
  197. new bool: got_camo[33] // Does player got camo?
  198. new bool: gravityday // Is today a gravity day?
  199. new bool: spray_on // Is spray contest on?
  200. new bool: is_lr_s4s // Is lr shot 4 shot?
  201. new bool: shot_deagle[33] // Did he shoot his deagle?
  202. new bool: is_rebel[33] // Is the player a rebel?
  203. new bool: can_have_gun[33] // Can he have a gun?
  204. new bool: lr_next_special[33] // Specialday next round
  205. new bool: got_name = false // Got the players name on cd?
  206. new bool: countdown_on = false // Is counting down?
  207.  
  208. new bool:g_connected[33]
  209.  
  210.  
  211.  
  212. ///////////////////////////////////////////////////////////////
  213.  
  214. //////////////
  215. // =Stocks= //
  216. //////////////
  217.  
  218. stock check_user(index)
  219. {
  220. if(!is_user_connected(index) ||(is_user_bot(index)))
  221. {
  222. return PLUGIN_HANDLED
  223. }
  224. return PLUGIN_CONTINUE
  225. }
  226.  
  227. stock strip_weapons(index)
  228. {
  229.  
  230. strip_user_weapons(index)
  231. set_pdata_int(index, OFFSET_PRIMARYWEAPON, 0)
  232. give_item(index, "weapon_knife")
  233. }
  234.  
  235. //////////////////////////////////////////////////////////////
  236. //---------------PLUGIN INIT--------------------------------//
  237. //////////////////////////////////////////////////////////////
  238.  
  239. public plugin_init()
  240. {
  241. register_plugin("CF Jailbreak", VERSION, "Drekes")
  242.  
  243. //cvars
  244. cvar_killpoints = register_cvar("jb_points_kill", "2")
  245. cvar_gunprice = register_cvar("jb_shop_gunprice", "15")
  246. cvar_pillsprice = register_cvar("jb_shop_pillsprice", "7")
  247. cvar_armorprice = register_cvar("jb_shop_armorprice", "7")
  248. cvar_camoprice = register_cvar("jb_shop_camoprice", "20")
  249. cvar_showplayers = register_cvar("jb_show_players", "1")
  250. cvar_days = register_cvar("jb_days", "1")
  251. cvar_shop = register_cvar("jb_shop", "1")
  252. cvar_headshotpoints = register_cvar("jb_points_headshot", "2")
  253. cvar_nadepackprice = register_cvar("jb_shop_nadepack_price", "10")
  254. cvar_showrebels = register_cvar("jb_show_rebels", "1")
  255. cvar_tvoiceblock = register_cvar("jb_blocktvoice", "1")
  256. cvar_daysmenu = register_cvar("jb_enable_days", "1")
  257. cvar_teleport = register_cvar("jb_teleport", "0")
  258.  
  259. register_cvar("cfjail_version", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
  260.  
  261. RegisterHam(Ham_Spawn, "player", "Event_Playerspawn", 1)
  262. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle", "fw_primary_attack")
  263. RegisterHam(Ham_TakeDamage, "player", "Event_TakeDamage")
  264.  
  265. register_forward(FM_Voice_SetClientListening, "FwdSetVoice");
  266.  
  267. //Events
  268. register_event("DeathMsg", "Event_Deathmsg", "a")
  269. register_logevent("Event_Roundend", 2, "1=Round_End")
  270. register_logevent("Event_Roundstart", 2, "1=Round_Start")
  271. register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
  272.  
  273.  
  274. //client commands
  275. register_clcmd("say /lr", "lr_check")
  276. register_clcmd("say !lr", "lr_check")
  277. register_clcmd("say /rules", "showrules")
  278. register_clcmd("say_team /rules", "showrules")
  279. register_clcmd("say /shop", "cmd_shop")
  280. register_clcmd("say_team /shop", "cmd_shop")
  281. register_clcmd("say /daysmenu", "specialday_check")
  282. register_concmd("say /countdown", "cdmenu")
  283.  
  284. //Console (admin) Commands
  285. register_concmd("amx_take_points", "cmd_take_points", ADMIN_KICK, "<target> <amount>")
  286. register_concmd("amx_give_points", "cmd_give_points", ADMIN_KICK, "<target> <amount>")
  287.  
  288. //Other Things
  289. g_max_clients = get_maxplayers()
  290.  
  291. g_vault = nvault_open("jbpoints") // Open a vault for the points
  292.  
  293. set_task(1.0, "players_hud", 0, _, _, "b")
  294. }
  295.  
  296. ///////////////////////////////////////////////////
  297. //--------------PRECACHE-------------------------//
  298. ///////////////////////////////////////////////////
  299. public plugin_precache()
  300. {
  301. precache_generic(musicday_song)
  302. precache_generic(musicday_song2)
  303. precache_generic(musicday_song3)
  304. precache_generic(alarm)
  305. precache_generic(race_go)
  306. precache_generic(s4ssound)
  307. precache_generic(spartansound)
  308. precache_generic(zombiesound)
  309.  
  310. precache_sound("fvox/one.wav")
  311. precache_sound("fvox/two.wav")
  312. precache_sound("fvox/three.wav")
  313. precache_sound("fvox/four.wav")
  314. precache_sound("fvox/five.wav")
  315. precache_sound("fvox/six.wav")
  316. precache_sound("fvox/seven.wav")
  317. precache_sound("fvox/eight.wav")
  318. precache_sound("fvox/nine.wav")
  319. precache_sound("fvox/ten.wav")
  320. precache_sound("fvox/eleven.wav")
  321. precache_sound("fvox/twelve.wav")
  322. precache_sound("fvox/thirteen.wav")
  323. precache_sound("fvox/fourteen.wav")
  324. precache_sound("fvox/fifteen.wav")
  325. precache_sound("radio/com_go.wav")
  326.  
  327. precache_model("models/player/gign/gign.mdl")
  328.  
  329. beacon_sprite = precache_model("sprites/shockwave.spr")
  330. }
  331. ///////////////////////////////////////////////////
  332. //-------------PLAYER SPAWN----------------------//
  333. ///////////////////////////////////////////////////
  334. public Event_Playerspawn(id)
  335. {
  336. if(!IsPlayer(id))
  337. return PLUGIN_HANDLED
  338.  
  339. if(is_user_alive(id))
  340. {
  341. if(cs_get_user_team(id) == CS_TEAM_CT)
  342. {
  343. strip_weapons(id)
  344. gun_check(id)
  345. }
  346.  
  347. if(cs_get_user_team(id) == CS_TEAM_T)
  348. {
  349. if(got_camo[id])
  350. {
  351. cs_reset_user_model(id)
  352. got_camo[id] = false
  353. }
  354.  
  355. if(lr_next_special[id])
  356. {
  357. specialday_menu(id)
  358. lr_next_special[id] = false
  359. }
  360.  
  361. if(is_rebel[id])
  362. unrebel(id)
  363.  
  364. strip_weapons(id)
  365. lr_started = false
  366. is_rebel[id] = false
  367. lrgame[id] = LR_NONE
  368. }
  369. can_have_gun[id] = true
  370. set_user_rendering(id)
  371. }
  372. specialday[20] = DAY_NONE
  373. return PLUGIN_HANDLED
  374. }
  375.  
  376. //////////////////////////////////////////////////////////////////
  377. //--------------------PLAYER DEATH------------------------------//
  378. //////////////////////////////////////////////////////////////////
  379. public Event_Deathmsg()
  380. {
  381. new attacker = read_data(1)
  382. new victim = read_data(2)
  383. new headshot = read_data(3)
  384.  
  385. new AttackerName[32]
  386. new VictimName[32]
  387.  
  388. get_user_name(attacker, AttackerName, 31)
  389. get_user_name(victim, VictimName,31)
  390.  
  391. if(!IsPlayer(attacker))
  392. return PLUGIN_HANDLED
  393.  
  394. if(!IsPlayer(victim))
  395. return PLUGIN_HANDLED
  396.  
  397. if( cs_get_user_team(attacker) == CS_TEAM_CT && cs_get_user_team(victim) == CS_TEAM_T)
  398. {
  399. if(get_pcvar_num(cvar_showrebels) && !lr_started)
  400. {
  401. if(!is_rebel[victim])
  402. {
  403. #if defined USE_CC
  404. ColorChat(0, RED, "%s Guard^x03 %s^x04 killed prisoner^x03 %s!", PREFIX, AttackerName, VictimName)
  405. #else
  406. client_print(0, print_chat, "%s Guard %s killed prisoner %s!", PREFIX, AttackerName, VictimName)
  407. #endif
  408. }
  409.  
  410. else
  411. {
  412. #if defined USE_CC
  413. ColorChat(0, RED, "%s Guard^x03 %s^x04 killed rebel^x03 %s!", PREFIX, AttackerName, VictimName)
  414. #else
  415. client_print(0, print_chat, "%s Guard %s killed rebel %s", PREFIX, AttackerName, VictimName)
  416. #endif
  417. unrebel(victim)
  418. }
  419. }
  420. }
  421.  
  422. if( cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_CT)
  423. {
  424. playerpoints[attacker] += get_pcvar_num(cvar_killpoints)
  425.  
  426. if(headshot)
  427. playerpoints[attacker] += get_pcvar_num(cvar_headshotpoints);
  428.  
  429. if(lr_started)
  430. {
  431. if(is_lr_s4s)
  432. is_lr_s4s = false
  433.  
  434. if(lrgame[attacker] != LR_REBEL)
  435. strip_weapons(attacker)
  436.  
  437. lr_started = false
  438. lrgame[attacker] = LR_NONE
  439. }
  440. }
  441.  
  442. if(spray_on)
  443. {
  444. server_cmd("decalfrequency 20")
  445. spray_on = false
  446. }
  447.  
  448. if(task_exists(attacker))
  449. remove_task(attacker)
  450.  
  451. if(task_exists(victim))
  452. remove_task(victim)
  453.  
  454. SaveData(attacker)
  455.  
  456. return PLUGIN_HANDLED
  457. }
  458.  
  459. ////////////////////////////////////////////////////////////
  460. //-----------------ROUND END/ ROUND START-----------------//
  461. ////////////////////////////////////////////////////////////
  462. public Event_Roundend()
  463. {
  464. if(gravityday)
  465. {
  466. server_cmd("sv_gravity 800")
  467. gravityday = false
  468. }
  469.  
  470. if(specialday[20] == DAY_DM)
  471. server_cmd("mp_friendlyfire 0")
  472.  
  473. client_cmd(0, "mp3 stop")
  474. client_cmd(0, "stopsound")
  475. }
  476. public Event_Roundstart()
  477. {
  478. if(get_pcvar_num(cvar_days))
  479. {
  480. days ++
  481. }
  482. if(get_pcvar_num(cvar_showplayers))
  483. {
  484. g_guards = 0
  485. g_prisoners = 0
  486. }
  487. }
  488.  
  489. /////////////////////////////////////////////////////
  490. //-----------------TAKE DAMAGE---------------------//
  491. /////////////////////////////////////////////////////
  492. public Event_TakeDamage(victim, weapon, attacker, float: damage, damagebits)
  493. {
  494. if(IsPlayer(victim) && IsPlayer(attacker))
  495. {
  496. if(get_pcvar_num(cvar_showrebels) && !is_rebel[attacker] && !lr_started && IsPlayer(attacker) && IsPlayer(victim))
  497. {
  498. if(victim != attacker && attacker != 0)
  499. {
  500. if(cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_CT)
  501. {
  502. make_rebel(attacker, victim)
  503. }
  504. }
  505. }
  506. }
  507. }
  508.  
  509. /////////////////////////////////////////////////////
  510. //-----------------PLAYER DISCONNECTS--------------//
  511. /////////////////////////////////////////////////////
  512. public client_disconnect(id)
  513. {
  514. SaveData(id)
  515. g_connected[id] = false;
  516. }
  517.  
  518. //////////////////////////////////////////////////////
  519. //----------------CLIENT PUTINSERVER----------------//
  520. //////////////////////////////////////////////////////
  521. public client_putinserver(id)
  522. g_connected[id] = true;
  523. //////////////////////////////////////////////////////
  524. //-----------------SOMETHING ELSE-------------------//
  525. //////////////////////////////////////////////////////
  526. public Player_Jump(id)
  527. {
  528. if( is_user_alive(id) && entity_get_float(id, EV_FL_fuser2) > 0.0 )
  529. {
  530. entity_set_float(id, EV_FL_fuser2, 0.0)
  531. }
  532. }
  533.  
  534.  
  535. //////////////////////////////////////////////////////
  536. //-----------ON MAP CHANGE OR SERVER CRASH----------//
  537. //////////////////////////////////////////////////////
  538. public plugin_end()
  539. {
  540. nvault_close(g_vault)
  541. }
  542.  
  543. //////////////////////////////////////////////////////
  544. //---------------CT GUN MENU------------------------//
  545. //////////////////////////////////////////////////////
  546. public gun_check(id)
  547. {
  548. if(IsPlayer(id) && cs_get_user_team(id) == CS_TEAM_CT)
  549. {
  550. primgun_menu(id)
  551. }
  552. return PLUGIN_HANDLED
  553. }
  554.  
  555. //////////////////////////////////////////////////////
  556. //----------------MAKE REBEL------------------------//
  557. //////////////////////////////////////////////////////
  558. public make_rebel(attacker, victim)
  559. {
  560. new attackername[33], victimname[33]
  561. get_user_name(attacker, attackername, 32)
  562. get_user_name(victim, victimname, 32)
  563.  
  564. #if defined USE_CC
  565. ColorChat(0, RED, "%s^x03 %s^x04 attacked^x03 %s^x04 and is now a rebel", PREFIX, attackername, victimname)
  566. #else
  567. client_print(0, print_chat, "%s %s attacked %s and is now a rebel!", PREFIX, attackername, victimname)
  568. #endif
  569.  
  570. set_user_rendering(attacker, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16)
  571. client_cmd(0, "mp3 play ^"%s^"", alarm)
  572. is_rebel[attacker] = true
  573. }
  574.  
  575. /////////////////////////////////////////////////////
  576. //--------------UNDO REBEL-------------------------//
  577. /////////////////////////////////////////////////////
  578. public unrebel(id)
  579. {
  580. if(is_user_connected(id))
  581. {
  582. set_user_rendering(id, kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 255)
  583. is_rebel[id] = false
  584. }
  585. }
  586. /*========================PRIMARY WEAPON======================*/
  587.  
  588. public primgun_menu(id)
  589. {
  590. if(!IsPlayer(id))
  591. return PLUGIN_HANDLED
  592.  
  593. new primgunmenu = menu_create("\yChoose your weapon:", "sub_primgun_menu")
  594.  
  595. menu_additem(primgunmenu, "\wM4a1", "1", 0);
  596. menu_additem(primgunmenu, "\wAk 47", "2", 0);
  597. menu_additem(primgunmenu, "\wScout", "3", 0);
  598. menu_additem(primgunmenu, "\wAwp", "4", 0);
  599. menu_additem(primgunmenu, "\wMp5", "5", 0);
  600.  
  601. menu_setprop(primgunmenu, MPROP_EXIT, MEXIT_ALL);
  602. menu_display(id, primgunmenu, 0);
  603. return PLUGIN_HANDLED
  604. }
  605.  
  606. public sub_primgun_menu(id, primgunmenu, item)
  607. {
  608.  
  609. if (item == MENU_EXIT)
  610. {
  611. menu_destroy(primgunmenu);
  612. return PLUGIN_HANDLED;
  613. }
  614.  
  615. new Data[7], Name[64];
  616. new Access, Callback;
  617. menu_item_getinfo(primgunmenu, item, Access, Data,5, Name, 63, Callback);
  618.  
  619. new Key = str_to_num(Data);
  620.  
  621. switch (Key)
  622. {
  623. case 1:
  624. {
  625. primgun1(id)
  626. }
  627. case 2:
  628. {
  629. primgun2(id)
  630. }
  631. case 3:
  632. {
  633. primgun3(id)
  634. }
  635. case 4:
  636. {
  637. primgun4(id)
  638. }
  639. case 5:
  640. {
  641. primgun5(id)
  642. }
  643. }
  644.  
  645. menu_destroy(primgunmenu);
  646. return PLUGIN_HANDLED;
  647. }
  648.  
  649. public primgun1(id)
  650. {
  651. give_item(id, "weapon_m4a1")
  652. give_item(id, "weapon_usp")
  653. cs_set_user_bpammo(id, CSW_USP, 100)
  654. cs_set_user_bpammo(id, CSW_M4A1, 200)
  655. }
  656.  
  657. public primgun2(id)
  658. {
  659. give_item(id, "weapon_ak47")
  660. give_item(id, "weapon_usp")
  661. cs_set_user_bpammo(id, CSW_USP, 100)
  662. cs_set_user_bpammo(id, CSW_AK47, 200)
  663. }
  664.  
  665. public primgun3(id)
  666. {
  667. give_item(id, "weapon_scout")
  668. give_item(id, "weapon_usp")
  669. cs_set_user_bpammo(id, CSW_USP, 100)
  670. cs_set_user_bpammo(id, CSW_SCOUT, 200)
  671. }
  672.  
  673. public primgun4(id)
  674. {
  675. give_item(id, "weapon_awp")
  676. give_item(id, "weapon_usp")
  677. cs_set_user_bpammo(id, CSW_USP, 100)
  678. cs_set_user_bpammo(id, CSW_AWP, 200)
  679. }
  680.  
  681. public primgun5(id)
  682. {
  683. give_item(id, "weapon_mp5navy")
  684. give_item(id, "weapon_usp")
  685. cs_set_user_bpammo(id, CSW_USP, 100)
  686. cs_set_user_bpammo(id, CSW_MP5NAVY, 200)
  687. }
  688. ///////////////////////////////////////////////////////////////
  689. //--------------------RULES MOTD-----------------------------//
  690. ///////////////////////////////////////////////////////////////
  691. public showrules(id)
  692. {
  693. show_motd(id, "jailrules.txt", "Jailbreak Rules")
  694. }
  695.  
  696. //////////////////////////////////////////////////////////////////
  697. //----------------POINTS SAVE AND LOAD--------------------------//
  698. //////////////////////////////////////////////////////////////////
  699. public SaveData(id)
  700. {
  701. new authid[32];
  702. get_user_authid(id,authid,31);
  703.  
  704. new vaultkey[64], vaultdata[64];
  705.  
  706. //Save their points
  707. format(vaultkey,63,"jb-%s-points",authid);
  708. format(vaultdata,63,"%d",playerpoints[id]);
  709. set_vaultdata(vaultkey,vaultdata);
  710. }
  711.  
  712. public LoadData(id)
  713. {
  714. new authid[32];
  715. get_user_authid(id,authid,31);
  716.  
  717. new vaultkey[64], vaultdata[64];
  718. //Load their points
  719. format(vaultkey,63,"jb-%s-points",authid);
  720. get_vaultdata(vaultkey,vaultdata,63);
  721. playerpoints[id] = str_to_num(vaultdata);
  722. }
  723.  
  724. //////////////////////////////////////////////////////////////
  725. //----------------THE SHOP----------------------------------//
  726. //////////////////////////////////////////////////////////////
  727. public cmd_shop(id)
  728. {
  729. if(!get_pcvar_num(cvar_shop))
  730. {
  731. #if defined USE_CC
  732. ColorChat(id, RED, "%s We are currently working on the shop, it will be opened soon.", PREFIX)
  733. #else
  734. client_print(id, print_chat, "%s We are currently working on the shop, it will be opened soon.", PREFIX)
  735. #endif
  736.  
  737. return PLUGIN_HANDLED
  738. }
  739. if(cs_get_user_team(id) != CS_TEAM_T)
  740. {
  741. #if defined USE_CC
  742. ColorChat(id, RED, "%s Only^x03 prisoners^x04 can use the shop", PREFIX)
  743. #else
  744. client_print(id, print_chat, "%s Only prisoners can use the shop!", PREFIX)
  745. #endif
  746.  
  747. return PLUGIN_HANDLED;
  748. }
  749.  
  750. if(lr_started)
  751. {
  752. #if defined USE_CC
  753. ColorChat(id, RED, "%s You can use the shop while last request is activated", PREFIX)
  754. #else
  755. client_print(id, print_chat, "%s You can't use the shop while last request is activated!", PREFIX)
  756. #endif
  757.  
  758. return PLUGIN_CONTINUE
  759. }
  760.  
  761. if(is_rebel[id])
  762. {
  763. #if defined USE_CC
  764. ColorChat(id, RED, "%s Rebelse can't use the shop", PREFIX)
  765. #else
  766. client_print(id, print_chat, "%s Rebels can't use the shop!", PREFIX)
  767. #endif
  768.  
  769. return PLUGIN_HANDLED
  770. }
  771.  
  772. if(!is_user_alive(id))
  773. {
  774. #if defined USE_CC
  775. ColorChat(id, RED, "%s You must be^x03 alive^x04 to use the shop", PREFIX)
  776. #else
  777. client_print(id, print_chat, "%s You must be alive to use the shop!", PREFIX)
  778. #endif
  779.  
  780. return PLUGIN_HANDLED
  781. }
  782.  
  783. else if(cs_get_user_team(id) == CS_TEAM_T)
  784. {
  785. shopmenu(id)
  786. }
  787. return PLUGIN_HANDLED
  788. }
  789.  
  790. public shopmenu(id)
  791. {
  792. if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
  793. {
  794. new szText[555 char]
  795. new points = playerpoints[id]
  796.  
  797. formatex(szText, charsmax(szText), "Jailbreak Shop^nYour Cookies: %d", points)
  798. new shopmenu = menu_create(szText, "sub_shopmenu")
  799.  
  800. formatex(szText, charsmax(szText), "Gun Gamble: %d Cookies", get_pcvar_num(cvar_gunprice))
  801. menu_additem(shopmenu, szText, "1", 0)
  802.  
  803. formatex(szText, charsmax(szText), "Health Cookies %d Cookies", get_pcvar_num(cvar_pillsprice))
  804. menu_additem(shopmenu, szText, "2" , 0)
  805.  
  806. formatex(szText, charsmax(szText), "Armor: %d Cookies", get_pcvar_num(cvar_armorprice))
  807. menu_additem(shopmenu, szText, "3", 0)
  808.  
  809. formatex(szText, charsmax(szText), "Camouflage: %d Cookies", get_pcvar_num(cvar_camoprice))
  810. menu_additem(shopmenu, szText, "4", 0)
  811.  
  812. formatex(szText, charsmax(szText), "Nade pack: %d Cookies", get_pcvar_num(cvar_nadepackprice))
  813. menu_additem(shopmenu, szText, "5", 0)
  814.  
  815. menu_setprop(shopmenu, MPROP_EXIT , MEXIT_ALL);
  816. menu_display(id, shopmenu, 0);
  817. }
  818. return PLUGIN_HANDLED
  819. }
  820.  
  821. public sub_shopmenu(id, shopmenu, item)
  822. {
  823. if (item == MENU_EXIT)
  824. {
  825. menu_destroy(shopmenu);
  826. return PLUGIN_HANDLED;
  827. }
  828.  
  829. new Data[7], Name[64];
  830. new Access, Callback;
  831. menu_item_getinfo(shopmenu, item, Access, Data,5, Name, 63, Callback);
  832.  
  833. new Key = str_to_num(Data);
  834.  
  835. switch (Key)
  836. {
  837. case 1:
  838. {
  839. if(playerpoints[id] < get_pcvar_num(cvar_gunprice))
  840. {
  841. #if defined USE_CC
  842. ColorChat(id, RED, "%s You don't have enough^x03 Cookies^x04 to buy that item", PREFIX)
  843. #else
  844. client_print(id, print_chat, "%s You don't got enough Cookies to buy that item", PREFIX)
  845. #endif
  846.  
  847. return PLUGIN_HANDLED
  848. }
  849.  
  850. else
  851. {
  852. gun_gamble(id)
  853. }
  854. }
  855.  
  856. case 2:
  857. {
  858. if(playerpoints[id] < get_pcvar_num(cvar_pillsprice))
  859. {
  860. #if defined USE_CC
  861. ColorChat(id, RED, "%s You don't have enough^x03 Cookies^x04 to buy that item", PREFIX)
  862. #else
  863. client_print(id, print_chat, "%s You don't got enough Cookies to buy that item", PREFIX)
  864. #endif
  865.  
  866. return PLUGIN_HANDLED
  867. }
  868.  
  869. else
  870. {
  871. give_pills(id)
  872. }
  873. }
  874.  
  875. case 3:
  876. {
  877. if(playerpoints[id] < get_pcvar_num(cvar_armorprice))
  878. {
  879. #if defined USE_CC
  880. ColorChat(id, RED, "%s You don't have enough^x03 Cookies^x04 to buy that item", PREFIX)
  881. #else
  882. client_print(id, print_chat, "%s You don't got enough Cookies to buy that item", PREFIX)
  883. #endif
  884.  
  885. return PLUGIN_HANDLED
  886. }
  887.  
  888. else
  889. {
  890. give_armor(id)
  891. }
  892. }
  893.  
  894. case 4:
  895. {
  896. if(playerpoints[id] < get_pcvar_num(cvar_camoprice))
  897. {
  898. #if defined USE_CC
  899. ColorChat(id, RED, "%s You don't have enough^x03 Cookies^x04 to buy that item", PREFIX)
  900. #else
  901. client_print(id, print_chat, "%s You don't got enough Cookies to buy that item", PREFIX)
  902. #endif
  903.  
  904. return PLUGIN_HANDLED
  905. }
  906.  
  907. else
  908. {
  909. give_camo(id)
  910. }
  911. }
  912.  
  913. case 5:
  914. {
  915. if(playerpoints[id] < get_pcvar_num(cvar_nadepackprice))
  916. {
  917. #if defined USE_CC
  918. ColorChat(id, RED, "%s You don't have enough^x03 Cookies^x04 to buy that item", PREFIX)
  919. #else
  920. client_print(id, print_chat, "%s You don't got enough Cookies to buy that item", PREFIX)
  921. #endif
  922.  
  923. return PLUGIN_HANDLED
  924. }
  925.  
  926. else
  927. {
  928. give_nadepack(id)
  929. }
  930. }
  931. }
  932. menu_destroy(shopmenu);
  933. return PLUGIN_HANDLED;
  934. }
  935.  
  936. public gun_gamble(id)
  937. {
  938. if(random_num(1, 3) == 1)
  939. {
  940. #if defined USE_CC
  941. ColorChat(id, RED, "%s You gambled for a pistol and^x03 you got it!", PREFIX)
  942. #else
  943. client_print(id, print_chat, "%s You gambled for a pistol and you got it!", PREFIX)
  944. #endif
  945.  
  946. give_item(id, "weapon_deagle");
  947. }
  948.  
  949. else
  950. {
  951. user_kill(id)
  952.  
  953. #if defined USE_CC
  954. ColorChat(id, RED, "%s You gambled for a pistol and^x03 died", PREFIX)
  955. #else
  956. client_print(id, print_chat, "%s You gambled for a pistol and died.", PREFIX)
  957. #endif
  958. }
  959.  
  960. playerpoints[id] -= get_pcvar_num(cvar_gunprice)
  961.  
  962. return PLUGIN_HANDLED
  963. }
  964.  
  965. public give_pills(id)
  966. {
  967. new health = get_user_health(id) + 50
  968.  
  969. set_user_health(id, health)
  970.  
  971. #if defined USE_CC
  972. ColorChat(id, RED, "%s You bought^x03 pills.", PREFIX)
  973. #else
  974. client_print(id, print_chat, "%s You bought pills.", PREFIX)
  975. #endif
  976.  
  977. playerpoints[id] -= get_pcvar_num(cvar_pillsprice)
  978.  
  979. return PLUGIN_HANDLED
  980. }
  981.  
  982. public give_armor(id)
  983. {
  984. new armor = get_user_armor(id) + 50
  985.  
  986. set_user_armor(id, armor)
  987.  
  988. #if defined USE_CC
  989. ColorChat(id, RED, "%s You bought^x03 armor.", PREFIX)
  990. #else
  991. client_print(id, print_chat, "%s You bought armor.", PREFIX)
  992. #endif
  993.  
  994. playerpoints[id] -= get_pcvar_num(cvar_armorprice)
  995.  
  996. return PLUGIN_HANDLED
  997. }
  998.  
  999. public give_camo(id)
  1000. {
  1001. cs_set_user_model(id, "gign")
  1002. got_camo[id] = true
  1003.  
  1004. #if defined USE_CC
  1005. ColorChat(id, RED, "%s You bought^x03 camo.", PREFIX)
  1006. #else
  1007. client_print(id, print_chat, "%s You bought camo.", PREFIX)
  1008. #endif
  1009.  
  1010. playerpoints[id] -= get_pcvar_num(cvar_camoprice)
  1011.  
  1012. return PLUGIN_HANDLED
  1013. }
  1014.  
  1015. public give_nadepack(id)
  1016. {
  1017. give_item(id, "weapon_flashbang")
  1018. give_item(id, "weapon_hegrenade")
  1019. give_item(id, "weapon_smokegrenade")
  1020.  
  1021. #if defined USE_CC
  1022. ColorChat(id, RED, "%s You bought^x03 a nade pack", PREFIX)
  1023. #else
  1024. client_print(id, print_chat, "%s you bought a nade pack", PREFIX)
  1025. #endif
  1026.  
  1027. playerpoints[id] -= get_pcvar_num(cvar_nadepackprice)
  1028.  
  1029. return PLUGIN_HANDLED
  1030. }
  1031.  
  1032. ////////////////////////////////////////////////////////////////////
  1033. //--------------------GIVE/TAKE POINTS----------------------------//
  1034. ////////////////////////////////////////////////////////////////////
  1035. public cmd_give_points(id,level,cid)
  1036. {
  1037. if(!cmd_access(id,level,cid,3))
  1038. return PLUGIN_HANDLED;
  1039.  
  1040. new target[32], amount[21], reason[21];
  1041.  
  1042. read_argv(1, target, 31 );
  1043. read_argv(2, amount, 20 );
  1044. read_argv( 3, reason, 20 );
  1045.  
  1046. new player = cmd_target( id, target, 8 );
  1047.  
  1048. if( ! player )
  1049. return PLUGIN_HANDLED;
  1050.  
  1051. new admin_name[32], player_name[32];
  1052. get_user_name(id, admin_name, 31);
  1053. get_user_name(player, player_name, 31);
  1054.  
  1055. new pointnum = str_to_num(amount);
  1056.  
  1057. playerpoints[player] += pointnum;
  1058.  
  1059. switch(get_cvar_num ("amx_show_activity"))
  1060. {
  1061. case 1: client_print( 0, print_chat, "%s ADMIN: gave %i points for %s.",PREFIX, pointnum, player_name );
  1062. case 2: client_print( 0, print_chat, "%s ADMIN %s: gave %i points for %s.",PREFIX, admin_name, pointnum, player_name );
  1063. }
  1064.  
  1065. client_print(player, print_chat, "%s You received %i points.(Total: %d)",PREFIX, pointnum, playerpoints[player]);
  1066.  
  1067. SaveData( id )
  1068.  
  1069. return PLUGIN_CONTINUE;
  1070. }
  1071.  
  1072. public cmd_take_points(id,level,cid)
  1073. {
  1074. if(!cmd_access (id, level, cid, 3))
  1075. return PLUGIN_HANDLED;
  1076.  
  1077. new target[32], amount[21], reason[21];
  1078.  
  1079. read_argv( 1, target, 31 );
  1080. read_argv( 2, amount, 20 );
  1081. read_argv( 3, reason, 20 );
  1082.  
  1083. new player = cmd_target( id, target, 8 );
  1084.  
  1085. if(!player )
  1086. return PLUGIN_HANDLED;
  1087.  
  1088. new admin_name[32], player_name[32];
  1089. get_user_name( id, admin_name, 31 );
  1090. get_user_name( player, player_name, 31 );
  1091.  
  1092. new pointnum = str_to_num( amount );
  1093.  
  1094. playerpoints[player] -= pointnum;
  1095.  
  1096. switch(get_cvar_num("amx_show_activity"))
  1097. {
  1098. case 1: client_print( 0, print_chat, "%s ADMIN: took %i points from %s.",PREFIX, pointnum, player_name );
  1099. case 2: client_print( 0, print_chat, "%s ADMIN %s: took %i points from %s.",PREFIX, admin_name, pointnum, player_name );
  1100. }
  1101.  
  1102. client_print( player, print_chat, "You lost %i points. (Total: %d)", pointnum, playerpoints[player] );
  1103.  
  1104. SaveData( id )
  1105.  
  1106. return PLUGIN_CONTINUE;
  1107. }
  1108.  
  1109. /////////////////////////////////////////////////////////////
  1110. //--------------------COUNTDOWN STUFF----------------------//
  1111. /////////////////////////////////////////////////////////////
  1112. public cdmenu(id)
  1113. {
  1114. if(get_user_team(id) != 2)
  1115. {
  1116. #if defined USE_CC
  1117. ColorChat(id, RED, "Only^x03 Counter-terrorists^x04 can start a^x03 countdown", PREFIX)
  1118. #else
  1119. client_print(id, print_chat, "%s Only Counter-terrorist can start a countdown", PREFIX)
  1120. #endif
  1121.  
  1122. return PLUGIN_HANDLED
  1123. }
  1124.  
  1125. if(countdown_on)
  1126. {
  1127. #if defined USE_CC
  1128. ColorChat(id, RED, "%s There is already a^x03 countdown^x04 on", PREFIX)
  1129. #else
  1130. client_print(id, print_chat, "%s There is already a countdown on", PREFIX)
  1131. #endif
  1132.  
  1133. return PLUGIN_HANDLED
  1134. }
  1135.  
  1136. new menu = menu_create("\yCountDown Menu", "menu_handler")
  1137.  
  1138. menu_additem(menu, "\w5 Seconds", "1", 0)
  1139. menu_additem(menu, "\w10 Seconds", "2", 0)
  1140. menu_additem(menu, "\w15 Seconds", "3", 0)
  1141.  
  1142. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  1143. menu_display(id, menu, 0)
  1144.  
  1145. return PLUGIN_HANDLED
  1146. }
  1147.  
  1148. public menu_handler(id, menu, item)
  1149. {
  1150. if(item == MENU_EXIT)
  1151. {
  1152. menu_destroy(menu)
  1153. return PLUGIN_HANDLED
  1154. }
  1155.  
  1156. new Data[7], Name[64]
  1157. new Access, Callback
  1158. menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
  1159.  
  1160. new Key = str_to_num(Data)
  1161.  
  1162. switch(Key)
  1163. {
  1164. case 1:
  1165. {
  1166. timer = 5
  1167. }
  1168.  
  1169. case 2:
  1170. {
  1171. timer = 10
  1172. }
  1173.  
  1174. case 3:
  1175. {
  1176. timer = 15
  1177. }
  1178. }
  1179. countdown_on = true
  1180. got_name = false
  1181. countdown(id)
  1182. menu_destroy(menu)
  1183. return PLUGIN_HANDLED
  1184. }
  1185.  
  1186. public countdown(id)
  1187. {
  1188. if(!got_name)
  1189. get_user_name(id, name, 32)
  1190.  
  1191. switch(timer)
  1192. {
  1193. case 0:
  1194. {
  1195. set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 3.0)
  1196. show_hudmessage(0, "Go go go")
  1197. client_cmd(0, "spk ^"sound/radio/com_go.wav^"")
  1198. countdown_on = false
  1199. }
  1200.  
  1201. case 1:
  1202. {
  1203. client_cmd(0, "spk ^"fvox/one.wav^"")
  1204. set_task(1.0, "countdown", 0)
  1205. }
  1206.  
  1207. case 2:
  1208. {
  1209. client_cmd(0, "spk ^"fvox/two.wav^"")
  1210. set_task(1.0, "countdown", 0)
  1211. }
  1212.  
  1213. case 3:
  1214. {
  1215. client_cmd(0, "spk ^"fvox/three.wav^"")
  1216. set_task(1.0, "countdown", 0)
  1217. }
  1218.  
  1219. case 4:
  1220. {
  1221. client_cmd(0, "spk ^"fvox/four.wav^"")
  1222. set_task(1.0, "countdown", 0)
  1223. }
  1224.  
  1225. case 5:
  1226. {
  1227. client_cmd(0, "spk ^"fvox/five.wav^"")
  1228. set_task(1.0, "countdown", 0)
  1229. }
  1230.  
  1231. case 6:
  1232. {
  1233. client_cmd(0, "spk ^"fvox/six.wav^"")
  1234. set_task(1.0, "countdown", 0)
  1235. }
  1236. case 7:
  1237. {
  1238. client_cmd(0, "spk ^"fvox/seven.wav^"")
  1239. set_task(1.0, "countdown", 0)
  1240. }
  1241.  
  1242. case 8:
  1243. {
  1244. client_cmd(0, "spk ^"fvox/eight.wav^"")
  1245. set_task(1.0, "countdown", 0)
  1246. }
  1247.  
  1248. case 9:
  1249. {
  1250. client_cmd(0, "spk ^"fvox/nine.wav^"")
  1251. set_task(1.0, "countdown", 0)
  1252. }
  1253.  
  1254. case 10:
  1255. {
  1256. client_cmd(0, "spk ^"fvox/ten.wav^"")
  1257. set_task(1.0, "countdown", 0)
  1258. }
  1259.  
  1260. case 11:
  1261. {
  1262. client_cmd(0, "spk ^"fvox/eleven.wav^"")
  1263. set_task(1.0, "countdown", 0)
  1264. }
  1265.  
  1266. case 12:
  1267. {
  1268. client_cmd(0, "spk ^"fvox/twelve.wav^"")
  1269. set_task(1.0, "countdown", 0)
  1270. }
  1271.  
  1272. case 13:
  1273. {
  1274. client_cmd(0, "spk ^"fvox/thirteen.wav^"")
  1275. set_task(1.0, "countdown", 0)
  1276. }
  1277.  
  1278. case 14:
  1279. {
  1280. client_cmd(0, "spk ^"fvox/fourteen.wav^"")
  1281. set_task(1.0, "countdown", 0)
  1282. }
  1283.  
  1284. case 15:
  1285. {
  1286. client_cmd(0, "spk ^"fvox/fifteen.wav^"")
  1287. set_task(1.0, "countdown", 0)
  1288. }
  1289. }
  1290.  
  1291. if(timer != 0)
  1292. {
  1293. set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 3.0)
  1294. show_hudmessage(0, "%s started countdown: %i", name, timer)
  1295. timer--
  1296. }
  1297. got_name = true
  1298. }
  1299.  
  1300. /////////////////////////////////////////////////////////////
  1301. //-----------------THE DAYS MENU---------------------------//
  1302. /////////////////////////////////////////////////////////////
  1303. public specialday_check(id)
  1304. {
  1305. if(!get_pcvar_num(cvar_daysmenu))
  1306. {
  1307. #if defined USE_CC
  1308. ColorChat(id, RED, "%s Days are^x03 disabled", PREFIX)
  1309. #else
  1310. client_print(id, print_chat, "%s Days are disabled", PREFIX)
  1311. #endif
  1312.  
  1313. return PLUGIN_HANDLED
  1314. }
  1315.  
  1316. if(get_user_team(id) != 2)
  1317. {
  1318. #if defined USE_CC
  1319. ColorChat(id, RED, "%s Only^x03 CT's^x04 can start a^x03 special day", PREFIX)
  1320. #else
  1321. client_print(id, print_chat, "%s Only CT's can start a special day", PREFIX)
  1322. #endif
  1323.  
  1324. return PLUGIN_HANDLED
  1325. }
  1326.  
  1327. if(!is_user_alive(id))
  1328. {
  1329. #if defined USE_CC
  1330. ColorChat(id, RED, "%s You have to be^x03 alive^x04 to start a^x03 special day", PREFIX)
  1331. #else
  1332. client_print(id, print_chat, "%s You have to be alive to start a special day", PREFIX)
  1333. #endif
  1334.  
  1335. return PLUGIN_HANDLED
  1336. }
  1337.  
  1338. if(specialday[20] != DAY_NONE)
  1339. {
  1340. #if defined USE_CC
  1341. ColorChat(id, RED, "%s There is already a day chosen", PREFIX)
  1342. #else
  1343. client_print(id, print_chat, "%s There is already a day chosen", PREFIX)
  1344. #endif
  1345.  
  1346. return PLUGIN_HANDLED
  1347. }
  1348.  
  1349. specialday_menu(id)
  1350. return PLUGIN_HANDLED
  1351. }
  1352.  
  1353. public specialday_menu(id)
  1354. {
  1355. new specialdaymenu = menu_create("\ySpecial Days:", "specialday_submenu")
  1356.  
  1357. menu_additem(specialdaymenu, "\wMusic Day", "1", 0);
  1358. menu_additem(specialdaymenu, "\wGravity Day", "2", 0);
  1359. menu_additem(specialdaymenu, "\wFreeday", "3", 0);
  1360. menu_additem(specialdaymenu, "\wZombie Day", "4", 0);
  1361. menu_additem(specialdaymenu, "\wLava Day", "5", 0);
  1362. menu_additem(specialdaymenu, "\wShark Day", "6", 0);
  1363. menu_additem(specialdaymenu, "\wCage Day", "7", 0);
  1364. menu_additem(specialdaymenu, "\wDeathMatch Day", "8", 0);
  1365. menu_additem(specialdaymenu, "\wNight Crawler Day", "9", 0)
  1366. menu_additem(specialdaymenu, "\wSpartan Day", "10", 0)
  1367.  
  1368. menu_setprop(specialdaymenu, MPROP_EXIT, MEXIT_ALL);
  1369. menu_display(id, specialdaymenu, 0);
  1370. }
  1371.  
  1372. public specialday_submenu(id, specialdaymenu, item)
  1373. {
  1374.  
  1375. if (item == MENU_EXIT)
  1376. {
  1377. menu_destroy(specialdaymenu);
  1378. return PLUGIN_HANDLED;
  1379. }
  1380.  
  1381. new Data[7], Name[64];
  1382. new Access, Callback;
  1383. menu_item_getinfo(specialdaymenu, item, Access, Data,5, Name, 63, Callback);
  1384.  
  1385. new Key = str_to_num(Data);
  1386.  
  1387. switch (Key)
  1388. {
  1389. case 1:
  1390. specialday[20] = DAY_MUSIC
  1391.  
  1392. case 2:
  1393. specialday[20] = DAY_GRAV
  1394.  
  1395. case 3:
  1396. specialday[20] = DAY_FREEDAY
  1397.  
  1398. case 4:
  1399. specialday[20] = DAY_ZOMBIE
  1400.  
  1401. case 5:
  1402. specialday[20] = DAY_LAVA
  1403.  
  1404. case 6:
  1405. specialday[20] = DAY_SHARK
  1406.  
  1407. case 7:
  1408. specialday[20] = DAY_CAGE
  1409.  
  1410. case 8:
  1411. specialday[20] = DAY_DM
  1412.  
  1413. case 9:
  1414. specialday[20] = DAY_NIGHT
  1415.  
  1416. case 10:
  1417. specialday[20] = DAY_SPARTAN
  1418.  
  1419. }
  1420.  
  1421. if(IsPlayer(id) && is_user_alive(id))
  1422. do_specialday(id)
  1423.  
  1424. menu_destroy(specialdaymenu);
  1425. return PLUGIN_HANDLED
  1426. }
  1427.  
  1428. public do_specialday(id)
  1429. {
  1430. for(new i = 0; i < g_max_clients; i++)
  1431. {
  1432. switch(specialday[20])
  1433. {
  1434. case DAY_MUSIC:
  1435. {
  1436. new musicmenu = menu_create("\yMusic Choice", "musicday_submenu")
  1437.  
  1438. menu_additem(musicmenu, "\wPlay Music", "1", 0)
  1439. menu_additem(musicmenu, "\wStop Music", "2", 0)
  1440.  
  1441. menu_setprop(musicmenu,MPROP_EXIT, MEXIT_ALL)
  1442. menu_display(id, musicmenu, 0)
  1443. }
  1444.  
  1445. case DAY_GRAV:
  1446. {
  1447. server_cmd("sv_gravity 200")
  1448.  
  1449. #if defined USE_CC
  1450. ColorChat(0, RED, "%s Today is^x03 Gravity day", PREFIX)
  1451. #else
  1452. client_print(0, print_chat, "%s Today is Gravity day", PREFIX)
  1453. #endif
  1454.  
  1455. gravityday = true
  1456. }
  1457.  
  1458. case DAY_FREEDAY:
  1459. {
  1460. if(IsPlayer(id) && is_user_alive(id))
  1461. {
  1462. if(cs_get_user_team(i) == CS_TEAM_T)
  1463. set_user_rendering(i, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16)
  1464. }
  1465.  
  1466. #if defined USE_CC
  1467. ColorChat(0, RED, "%s Today is^x03 Freeday", PREFIX)
  1468. #else
  1469. client_print(0, print_chat, "%s Today is Freeday", PREFIX)
  1470. #endif
  1471. }
  1472.  
  1473. case DAY_ZOMBIE:
  1474. {
  1475. if(IsPlayer(i) && is_user_alive(i))
  1476. {
  1477. switch(cs_get_user_team(i))
  1478. {
  1479. case CS_TEAM_T:
  1480. {
  1481. set_user_health(i, 150)
  1482.  
  1483. give_item(i, "weapon_ak47")
  1484. give_item(i, "weapon_m4a1")
  1485.  
  1486. cs_set_user_bpammo(i, CSW_AK47, 90)
  1487. cs_set_user_bpammo(i, CSW_M4A1, 90)
  1488. }
  1489.  
  1490. case CS_TEAM_CT:
  1491. {
  1492. if(is_user_alive(i))
  1493. {
  1494. set_user_health(i, 500)
  1495. can_have_gun[i] = false
  1496. }
  1497. }
  1498. }
  1499. }
  1500.  
  1501. client_cmd(0, "mp3 play ^"%s^"", zombiesound)
  1502.  
  1503. #if defined USE_CC
  1504. ColorChat(0, RED, "%s Today is^x03 Zombie Day", PREFIX)
  1505. #else
  1506. client_print(0, print_chat, "%s Today is Zombie day", PREFIX)
  1507. #endif
  1508. }
  1509.  
  1510. case DAY_LAVA:
  1511. {
  1512. #if defined USE_CC
  1513. ColorChat(0, RED, "%s Today is^x03 Lava Day,^x03 Stand on a^x03 spray at all times", PREFIX)
  1514. #else
  1515. client_print(0, print_chat, "%s Today is Lava day, Stand on a spray at all times", PREFIX)
  1516. #endif
  1517. }
  1518.  
  1519. case DAY_SHARK:
  1520. {
  1521. if(IsPlayer(i) && is_user_alive(i))
  1522. {
  1523. switch(cs_get_user_team(i))
  1524. {
  1525. case CS_TEAM_T:
  1526. {
  1527. set_user_health(i, 200)
  1528.  
  1529. give_item(i, "weapon_ak47")
  1530. give_item(i, "weapon_m4a1")
  1531.  
  1532. cs_set_user_bpammo(i, CSW_AK47, 90)
  1533. cs_set_user_bpammo(i, CSW_M4A1, 90)
  1534. }
  1535.  
  1536. case CS_TEAM_CT:
  1537. {
  1538. if(is_user_alive(i))
  1539. {
  1540. set_user_noclip(i, 1)
  1541. set_user_health(i, 300)
  1542. }
  1543. }
  1544. }
  1545.  
  1546. #if defined USE_CC
  1547. ColorChat(0, RED, "%s Today is^x03 Shark Day", PREFIX)
  1548. #else
  1549. client_print(0, print_chat, "%s Today is Shark day", PREFIX)
  1550. #endif
  1551. }
  1552. }
  1553.  
  1554. case DAY_CAGE:
  1555. {
  1556. #if defined USE_CC
  1557. ColorChat(0, RED, "%s Today is cage day", PREFIX)
  1558. #else
  1559. client_print(0, print_chat, "%s Today is a cage day", PREFIX)
  1560. #endif
  1561. }
  1562.  
  1563. case DAY_DM:
  1564. {
  1565. server_cmd("mp_friendlyfire 1")
  1566.  
  1567. #if defined USE_CC
  1568. ColorChat(0, RED, "%s Today is^x03 Deathmatch Day,^x04 Last survivor chooses lr", PREFIX)
  1569. #else
  1570. client_print(0, print_chat, "%s Today is Deathmatch Day, Last survivor chooses lr", PREFIX)
  1571. #endif
  1572. }
  1573.  
  1574. case DAY_NIGHT:
  1575. {
  1576. if(IsPlayer(i) && is_user_alive(i))
  1577. {
  1578. switch(cs_get_user_team(i))
  1579. {
  1580. case CS_TEAM_T:
  1581. {
  1582. give_item(i, "weapon_m4a1")
  1583. give_item(i, "weapon_deagle")
  1584.  
  1585. cs_set_user_bpammo(i, CSW_M4A1, 90)
  1586. cs_set_user_bpammo(i, CSW_DEAGLE, 35)
  1587. }
  1588.  
  1589. case CS_TEAM_CT:
  1590. {
  1591. strip_weapons(i)
  1592.  
  1593. set_user_rendering(i, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
  1594. can_have_gun[i] = false
  1595. }
  1596. }
  1597. }
  1598.  
  1599. #if defined USE_CC
  1600. ColorChat(0, RED, "%s Today is a^x03 NightCrawler Day", PREFIX)
  1601. #else
  1602. client_print(0, print_chat, "%s Today is a NightCrawler Day", PREFIX)
  1603. #endif
  1604. }
  1605.  
  1606. case DAY_SPARTAN:
  1607. {
  1608. if(IsPlayer(i) && is_user_alive(i))
  1609. {
  1610. switch(cs_get_user_team(i))
  1611. {
  1612. case CS_TEAM_T:
  1613. {
  1614. give_item(i, "weapon_shield")
  1615. give_item(i, "weapon_deagle")
  1616.  
  1617. cs_set_user_bpammo(i, CSW_DEAGLE, 35)
  1618. }
  1619.  
  1620. case CS_TEAM_CT:
  1621. {
  1622. give_item(i, "weapon_deagle")
  1623. give_item(i, "weapon_m4a1")
  1624.  
  1625. cs_set_user_bpammo(i, CSW_DEAGLE, 35)
  1626. cs_set_user_bpammo(i, CSW_M4A1, 90)
  1627. }
  1628. }
  1629. }
  1630.  
  1631. #if defined USE_CC
  1632. ColorChat(0, RED, "%s Today is^x03 Spartan Day", PREFIX)
  1633. #else
  1634. client_print(0, print_chat, "%s Today is Spartan Day", PREFIX)
  1635. #endif
  1636. }
  1637. }
  1638. }
  1639. }
  1640.  
  1641. public musicday_submenu(id, musicmenu, item)
  1642. {
  1643. if(item == MENU_EXIT)
  1644. {
  1645. menu_destroy(musicmenu)
  1646. return PLUGIN_HANDLED
  1647. }
  1648.  
  1649. new Data[7], Name[64]
  1650. new Access, Callback
  1651. menu_item_getinfo(musicmenu, item, Access, Data, 5, Name, 63, Callback)
  1652.  
  1653. new key = str_to_num(Data)
  1654.  
  1655. switch(key)
  1656. {
  1657. case 1:
  1658. {
  1659. switch(random_num(1, 3))
  1660. {
  1661. case 1:
  1662. {
  1663. client_cmd(0, "mp3 play ^"%s^"", musicday_song)
  1664. }
  1665.  
  1666. case 2:
  1667. {
  1668. client_cmd(0, "mp3 play ^"%s^"", musicday_song2)
  1669. }
  1670. case 3:
  1671. {
  1672. client_cmd(0, "mp3 play ^"%s^"", musicday_song3)
  1673. }
  1674. }
  1675. }
  1676.  
  1677. case 2:
  1678. {
  1679. client_cmd(0, "mp3 stop")
  1680. }
  1681. }
  1682. menu_display(id, musicmenu, 0)
  1683. return PLUGIN_CONTINUE
  1684. }
  1685. ////////////////////////////////////////////////////////
  1686. //-------------SHOW THE REMAINING PLAYERS-------------//
  1687. ////////////////////////////////////////////////////////
  1688. public players_hud()
  1689. {
  1690. if(get_pcvar_num(cvar_showplayers))
  1691. {
  1692. g_prisoners = 0;
  1693. g_guards = 0;
  1694.  
  1695. for(new i = 0; i < g_max_clients; i++)
  1696. {
  1697. new id = i;
  1698.  
  1699. if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
  1700. {
  1701. g_guards++;
  1702. }
  1703. else if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
  1704. {
  1705. g_prisoners++;
  1706. }
  1707. }
  1708. set_hudmessage(0, 255, 0, -1.0, 0.01)
  1709. show_hudmessage(0,"Prisoners: %i^nGuards: %i", g_prisoners, g_guards)
  1710. }
  1711. }
  1712. /*=====================================================================
  1713. LAST REQUEST MAIN MENU
  1714. =====================================================================*/
  1715.  
  1716. public lr_check(id)
  1717. {
  1718. if (get_user_team(id) != 1)
  1719. {
  1720. return PLUGIN_HANDLED
  1721. }
  1722.  
  1723. if(!is_user_alive(id))
  1724. {
  1725. return PLUGIN_HANDLED
  1726. }
  1727. if(lr_started)
  1728. {
  1729. return PLUGIN_HANDLED
  1730. }
  1731.  
  1732. new ctCount, trCount
  1733. new players[32] = 0
  1734. new pnum
  1735. get_players(players, pnum, "a");
  1736. for (new i = 0; i < g_max_clients; i++)
  1737. {
  1738. if (!is_user_alive(i))
  1739. {
  1740. continue;
  1741. }
  1742.  
  1743. switch (cs_get_user_team(i))
  1744. {
  1745. case CS_TEAM_CT:
  1746. {
  1747. ctCount++;
  1748. }
  1749.  
  1750. case CS_TEAM_T:
  1751. {
  1752. trCount++;
  1753. }
  1754. }
  1755. }
  1756.  
  1757. if (trCount > 1)
  1758. {
  1759. #if defined USE_CC
  1760. ColorChat(id, RED, "%s There are^x03 to many prisoners left.", PREFIX)
  1761. #else
  1762. client_print(id, print_chat, "%s There are to many prisoners left.", PREFIX)
  1763. #endif
  1764.  
  1765. return PLUGIN_HANDLED;
  1766. }
  1767.  
  1768. if (ctCount == 0)
  1769. {
  1770. #if defined USE_CC
  1771. ColorChat(id, RED, "%s There are^x03 no opponents", PREFIX)
  1772. #else
  1773. client_print(id, print_chat, "%s There are no opponents", PREFIX)
  1774. #endif
  1775.  
  1776. return PLUGIN_HANDLED;
  1777. }
  1778. if(cs_get_user_team(id) == CS_TEAM_T)
  1779. {
  1780. lr_menu(id)
  1781. }
  1782. return PLUGIN_HANDLED
  1783. }
  1784.  
  1785. public lr_menu(id)
  1786. {
  1787. new lrmenu = menu_create("\yLast Request:", "sub_lr_menu")
  1788.  
  1789. menu_additem(lrmenu, "\wGames", "1", 0);
  1790. menu_additem(lrmenu, "\wRebel options", "2", 0);
  1791.  
  1792. menu_setprop(lrmenu, MPROP_EXIT, MEXIT_ALL);
  1793. menu_display(id, lrmenu, 0);
  1794.  
  1795. return PLUGIN_HANDLED;
  1796. }
  1797.  
  1798. public sub_lr_menu(id, lrmenu, item)
  1799. {
  1800.  
  1801. if (item == MENU_EXIT)
  1802. {
  1803. menu_destroy(lrmenu);
  1804. return PLUGIN_HANDLED;
  1805. }
  1806.  
  1807. new Data[7], Name[64];
  1808. new Access, Callback;
  1809. menu_item_getinfo(lrmenu, item, Access, Data,5, Name, 63, Callback);
  1810.  
  1811. new Key = str_to_num(Data);
  1812.  
  1813. switch (Key)
  1814. {
  1815. case 1:
  1816. {
  1817. gameslrmenu(id)
  1818. }
  1819. case 2:
  1820. {
  1821. rebelmenu(id)
  1822. }
  1823. }
  1824.  
  1825. menu_destroy(lrmenu);
  1826.  
  1827. return PLUGIN_HANDLED;
  1828. }
  1829.  
  1830.  
  1831. /*==================================================================
  1832. LR GAMES MENU
  1833. ==================================================================*/
  1834.  
  1835. public gameslrmenu(id)
  1836. {
  1837. {
  1838. new gamelrmenu = menu_create("\yLr Games:", "sub_gameslr_menu")
  1839.  
  1840. menu_additem(gamelrmenu, "\wKnife Fight", "1", 0);
  1841. menu_additem(gamelrmenu, "\wShot 4 Shot", "2", 0);
  1842. menu_additem(gamelrmenu, "\wGrenade Duel", "3", 0);
  1843. menu_additem(gamelrmenu, "\wScout Duel", "4", 0);
  1844. menu_additem(gamelrmenu, "\wRace", "5", 0);
  1845. menu_additem(gamelrmenu, "\wSpray Contest", "6", 0);
  1846. menu_additem(gamelrmenu, "\wGun Toss", "7", 0);
  1847. menu_additem(gamelrmenu, "\wShotty War", "8", 0);
  1848. menu_additem(gamelrmenu, "\wSpecialday next round", "9", 0);
  1849.  
  1850. menu_setprop(gamelrmenu, MPROP_EXIT, MEXIT_ALL);
  1851. menu_display(id, gamelrmenu, 0);
  1852. }
  1853. return PLUGIN_HANDLED
  1854. }
  1855.  
  1856. public sub_gameslr_menu(id, gamelrmenu, item)
  1857. {
  1858.  
  1859. if (item == MENU_EXIT)
  1860. {
  1861. menu_destroy(gamelrmenu);
  1862. return PLUGIN_HANDLED;
  1863. }
  1864.  
  1865. new Data[7], Name[64];
  1866. new Access, Callback;
  1867. menu_item_getinfo(gamelrmenu, item, Access, Data,5, Name, 63, Callback);
  1868.  
  1869. new Key = str_to_num(Data);
  1870.  
  1871. switch (Key)
  1872. {
  1873. case 1:
  1874. lrgame[id] = LR_KNIFE
  1875.  
  1876. case 2:
  1877. lrgame[id] = LR_S4S
  1878.  
  1879. case 3:
  1880. lrgame[id] = LR_NADE
  1881.  
  1882. case 4:
  1883. lrgame[id] = LR_SCOUT
  1884.  
  1885. case 5:
  1886. lrgame[id] = LR_RACE
  1887.  
  1888. case 6:
  1889. lrgame[id] = LR_SPRAY
  1890.  
  1891. case 7:
  1892. lrgame[id] = LR_TOSS
  1893.  
  1894. case 8:
  1895. lrgame[id] = LR_SHOTWAR
  1896.  
  1897. case 9:
  1898. lrgame[id] = LR_SPECIAL
  1899. }
  1900. menu_destroy(gamelrmenu)
  1901. playermenu(id)
  1902.  
  1903. return PLUGIN_HANDLED;
  1904. }
  1905.  
  1906. /*=====================PLAYERMENU===========================*/
  1907. public playermenu(id)
  1908. {
  1909.  
  1910. new menu = menu_create("\yChoose your opponent:", "submenu");
  1911.  
  1912. new players[32], pnum, tempid;
  1913. new szName[32], szTempid[10];
  1914.  
  1915. get_players(players, pnum, "a");
  1916. for(new i; i < pnum; i++)
  1917. {
  1918. tempid = players[i]
  1919.  
  1920. if (cs_get_user_team(tempid) != CS_TEAM_CT)
  1921. {
  1922. continue;
  1923. }
  1924.  
  1925. get_user_name(tempid, szName, 31);
  1926. num_to_str(tempid, szTempid, 9);
  1927. menu_additem(menu, szName, szTempid, 0);
  1928. }
  1929.  
  1930. menu_display(id, menu);
  1931. return PLUGIN_HANDLED;
  1932. }
  1933.  
  1934. public submenu(id, menu, item)
  1935. {
  1936. if( item == MENU_EXIT )
  1937. {
  1938. menu_destroy(menu);
  1939. return PLUGIN_HANDLED;
  1940. }
  1941.  
  1942. new data[6], iName[64];
  1943. new access, callback;
  1944. menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  1945.  
  1946. new tempid = str_to_num(data);
  1947.  
  1948. new mapname[33]
  1949. get_mapname(mapname, 32)
  1950.  
  1951. new ct_origin[3], te_origin[3]
  1952.  
  1953. switch(lrgame[id])
  1954. {
  1955. case LR_KNIFE:
  1956. {
  1957. strip_user_weapons(tempid);
  1958. give_item(tempid, "weapon_knife");
  1959.  
  1960. strip_user_weapons(id);
  1961. set_user_health(id, 100);
  1962. give_item(id, "weapon_knife");
  1963.  
  1964. new szName[32], szName2[32];
  1965. get_user_name(id, szName, 31);
  1966. get_user_name(tempid, szName2, 31);
  1967.  
  1968. client_print(0, print_center, "%s vs %s^n Knife Fight", szName, szName2);
  1969.  
  1970.  
  1971. if( is_user_alive(tempid) )
  1972. set_user_health(tempid, 100);
  1973.  
  1974. if(get_pcvar_num(cvar_teleport) && equali(mapname,"some1s_jailbreak"))
  1975. {
  1976. ct_origin[0] = -759, ct_origin[1] = 1047, ct_origin[2] = 100
  1977. te_origin[0] = -585, te_origin[1] = 867, te_origin[2] = 100
  1978. set_user_origin(id,te_origin)
  1979. set_user_origin(tempid,ct_origin)
  1980.  
  1981. }
  1982. set_task(0.1, "beacon", id)
  1983. set_task(0.1, "beacon", tempid)
  1984. }
  1985.  
  1986. case LR_S4S:
  1987. {
  1988. strip_user_weapons(tempid)
  1989. new iWep = give_item(tempid, "weapon_deagle")
  1990. cs_set_weapon_ammo(iWep, 0)
  1991. cs_set_user_bpammo(tempid, CSW_DEAGLE,0)
  1992.  
  1993. strip_user_weapons(id)
  1994. set_user_health(id, 100)
  1995. new iWep2 = give_item(id, "weapon_deagle")
  1996. cs_set_weapon_ammo(iWep2, 1)
  1997. cs_set_user_bpammo(id, CSW_DEAGLE, 0)
  1998.  
  1999. new szName[32], szName2[32]
  2000. get_user_name(id, szName, 31)
  2001. get_user_name(tempid, szName2, 31)
  2002.  
  2003. client_print(0, print_center, "%s vs %s^n Shot for Shot",szName, szName2)
  2004.  
  2005. if( is_user_alive(tempid))
  2006. set_user_health(tempid, 100);
  2007.  
  2008. if(get_pcvar_num(cvar_teleport) && equali(mapname, "some1s_jailbreak"))
  2009. {
  2010. ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38
  2011. te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38
  2012.  
  2013. set_user_origin(id,te_origin)
  2014. set_user_origin(tempid,ct_origin)
  2015. }
  2016.  
  2017. set_task(0.1, "beacon", id)
  2018. set_task(0.1, "beacon", tempid)
  2019.  
  2020. client_cmd(0, "mp3 play ^"%s^"", s4ssound)
  2021. is_lr_s4s = true
  2022. }
  2023.  
  2024. case LR_NADE:
  2025. {
  2026. strip_user_weapons(tempid);
  2027. give_item(tempid, "weapon_knife")
  2028. give_item(tempid, "weapon_hegrenade");
  2029. cs_set_user_bpammo(tempid,CSW_HEGRENADE,50)
  2030.  
  2031. strip_user_weapons(id)
  2032. set_user_health(id, 100)
  2033. give_item(id, "weapon_knife")
  2034. give_item(id, "weapon_hegrenade")
  2035. cs_set_user_bpammo(id,CSW_HEGRENADE,50)
  2036.  
  2037.  
  2038. new szName[32], szName2[32]
  2039. get_user_name(id, szName, 31);
  2040. get_user_name(tempid, szName2, 31);
  2041. client_print(0, print_center, "%s vs %s^n Grenade Duel",szName, szName2)
  2042.  
  2043. if( is_user_alive(tempid) )
  2044. set_user_health(tempid, 100);
  2045.  
  2046. if(get_pcvar_num(cvar_teleport) && equali(mapname,"some1s_jailbreak"))
  2047. {
  2048. ct_origin[0] = -1756, ct_origin[1] = -2526, ct_origin[2] = 36
  2049. te_origin[0] = -3020, te_origin[1] = -2529, te_origin[2] = 36
  2050. set_user_origin(id,te_origin)
  2051. set_user_origin(tempid,ct_origin)
  2052. }
  2053.  
  2054. set_task(0.1, "beacon", id)
  2055. set_task(0.1, "beacon", tempid)
  2056.  
  2057. }
  2058.  
  2059. case LR_SCOUT:
  2060. {
  2061. strip_user_weapons(tempid);
  2062. give_item(tempid, "weapon_scout");
  2063. give_item(tempid, "weapon_knife")
  2064. cs_set_user_bpammo(tempid,CSW_SCOUT,10)
  2065.  
  2066. strip_user_weapons(id)
  2067. set_user_health(id, 100)
  2068. give_item(id, "weapon_knife")
  2069. give_item(id, "weapon_scout")
  2070. cs_set_user_bpammo(id,CSW_SCOUT,10)
  2071.  
  2072. new szName[32], szName2[32]
  2073. get_user_name(id, szName, 31);
  2074. get_user_name(tempid, szName2, 31);
  2075. client_print(0, print_center, "%s vs %s^n Scout Duel",szName, szName2)
  2076.  
  2077. if( is_user_alive(tempid) )
  2078. set_user_health(tempid, 100);
  2079.  
  2080.  
  2081. if(get_pcvar_num(cvar_teleport) && equali(mapname,"some1s_jailbreak"))
  2082. {
  2083. ct_origin[0] = -2898, ct_origin[1] = -2040, ct_origin[2] = 37
  2084. te_origin[0] = -2908, te_origin[1] = 905, te_origin[2] = 37
  2085. set_user_origin(id,te_origin)
  2086. set_user_origin(tempid,ct_origin)
  2087. }
  2088. set_task(0.1, "beacon", id)
  2089. set_task(0.1, "beacon", tempid)
  2090.  
  2091. }
  2092.  
  2093. case LR_RACE:
  2094. {
  2095. strip_user_weapons(tempid);
  2096. give_item(tempid, "weapon_knife");
  2097.  
  2098. strip_user_weapons(id);
  2099. set_user_health(id, 100);
  2100. give_item(id, "weapon_knife");
  2101.  
  2102. new szName[32], szName2[32];
  2103. get_user_name(id, szName, 31);
  2104. get_user_name(tempid, szName2, 31);
  2105. client_print(0, print_center, "%s vs %s^n Race", szName, szName2);
  2106.  
  2107. if( is_user_alive(tempid) )
  2108. set_user_health(tempid, 100);
  2109.  
  2110. set_task(0.1, "beacon", id)
  2111. set_task(0.1, "beacon", tempid)
  2112.  
  2113. client_cmd(0, "mp3 play ^"%s^"", race_go)
  2114. }
  2115.  
  2116. case LR_SPRAY:
  2117. {
  2118. strip_user_weapons(tempid);
  2119. give_item(tempid, "weapon_knife");
  2120.  
  2121. strip_user_weapons(id);
  2122. set_user_health(id, 100);
  2123. give_item(id, "weapon_knife");
  2124.  
  2125. new szName[32], szName2[32];
  2126. get_user_name(id, szName, 31);
  2127. get_user_name(tempid, szName2, 31);
  2128. client_print(0, print_center, "%s vs %s^n Spray Contest", szName, szName2);
  2129.  
  2130. server_cmd("decalfrequency 0")
  2131. spray_on = true
  2132. if( is_user_alive(tempid) )
  2133. set_user_health(tempid, 100);
  2134.  
  2135. set_task(0.1, "beacon", id)
  2136. set_task(0.1, "beacon", tempid)
  2137.  
  2138. }
  2139.  
  2140. case LR_TOSS:
  2141. {
  2142. strip_user_weapons(tempid);
  2143. new weapon = give_item(tempid, "weapon_deagle")
  2144. give_item(tempid, "weapon_knife")
  2145. cs_set_weapon_ammo(weapon, 0)
  2146. cs_set_user_bpammo(tempid,CSW_DEAGLE, 0)
  2147.  
  2148. strip_user_weapons(id);
  2149. new weapon2 = give_item(id, "weapon_deagle")
  2150. give_item(id, "weapon_knife")
  2151. cs_set_weapon_ammo(weapon2, 0)
  2152. cs_set_user_bpammo(id,CSW_DEAGLE, 0)
  2153.  
  2154. new szName[32], szName2[32]
  2155. get_user_name(id, szName, 31);
  2156. get_user_name(tempid, szName2, 31);
  2157. client_print(0, print_center, "%s vs %s^n Gun toss",szName, szName2)
  2158.  
  2159. if( is_user_alive(tempid) )
  2160. set_user_health(tempid, 100);
  2161.  
  2162. set_task(0.1, "beacon", id)
  2163. set_task(0.1, "beacon", tempid)
  2164. }
  2165.  
  2166. case LR_SHOTWAR:
  2167. {
  2168. strip_user_weapons(tempid);
  2169. give_item(tempid, "weapon_m3");
  2170. give_item(tempid, "weapon_knife")
  2171. cs_set_user_bpammo(tempid,CSW_M3,100)
  2172.  
  2173. strip_user_weapons(id)
  2174. set_user_health(id, 255)
  2175. give_item(id, "weapon_m3")
  2176. give_item(id, "weapon_knife")
  2177. cs_set_user_bpammo(id,CSW_M3,10)
  2178.  
  2179. new szName[32], szName2[32]
  2180. get_user_name(id, szName, 31);
  2181. get_user_name(tempid, szName2, 31);
  2182. client_print(0, print_center, "%s vs %s^n Shotty War",szName, szName2)
  2183.  
  2184. if( is_user_alive(tempid) )
  2185. set_user_health(tempid, 255);
  2186.  
  2187. set_task(0.1, "beacon", id)
  2188. set_task(0.1, "beacon", tempid)
  2189. }
  2190.  
  2191. case LR_SPECIAL:
  2192. {
  2193. new szName[32]
  2194. get_user_name(id, szName, 31)
  2195.  
  2196. client_print(0, print_center, "%s %s want to choose a special day next round", PREFIX, szName)
  2197.  
  2198. lr_next_special[id] = true
  2199. }
  2200. }
  2201. menu_destroy(menu)
  2202. lr_started = true
  2203. return PLUGIN_HANDLED
  2204. }
  2205. /*================================================================
  2206. LR REBELMENU
  2207. ================================================================*/
  2208. public rebelmenu(id)
  2209. {
  2210. {
  2211. new rebelingmenu = menu_create("\yRebel Options:", "sub_rebelmenu")
  2212.  
  2213. menu_additem(rebelingmenu, "\wRambo", "1", 0);
  2214. menu_additem(rebelingmenu, "\wDeagle Dude", "2", 0);
  2215. menu_additem(rebelingmenu, "\wCrazy guy", "3", 0);
  2216. menu_additem(rebelingmenu, "\wUber Glocker", "4", 0);
  2217.  
  2218. menu_setprop(rebelingmenu, MPROP_EXIT, MEXIT_ALL);
  2219. menu_display(id, rebelingmenu, 0);
  2220. }
  2221.  
  2222. return PLUGIN_HANDLED;
  2223. }
  2224.  
  2225. public sub_rebelmenu(id, rebelingmenu, item)
  2226. {
  2227.  
  2228. if (item == MENU_EXIT)
  2229. {
  2230. menu_destroy(rebelingmenu);
  2231. return PLUGIN_HANDLED;
  2232. }
  2233.  
  2234. new Data[7], Name[64];
  2235. new Access, Callback;
  2236. menu_item_getinfo(rebelingmenu, item, Access, Data,5, Name, 63, Callback);
  2237.  
  2238. new Key = str_to_num(Data);
  2239.  
  2240. switch (Key)
  2241. {
  2242. case 1:
  2243. {
  2244. strip_user_weapons(id)
  2245. set_user_health(id, 250)
  2246. give_item(id, "weapon_knife")
  2247. give_item( id, "weapon_m249" );
  2248. cs_set_user_bpammo(id,CSW_M249,300)
  2249.  
  2250. set_hudmessage(random_num(1,255), random_num(1,255), random_num(1,255), -1.0, -1.0, 0, 6.0, 12.0)
  2251. show_hudmessage(0, "= RAMBO IS HERE =")
  2252. lr_started = true
  2253. }
  2254.  
  2255. case 2:
  2256. {
  2257. strip_user_weapons(id)
  2258. set_user_health(id, 500)
  2259. give_item(id, "weapon_knife")
  2260. give_item( id, "weapon_deagle")
  2261. cs_set_user_bpammo(id,CSW_DEAGLE,35)
  2262.  
  2263. set_hudmessage(random_num(1,255), random_num(1,255), random_num(1,255), -1.0, -1.0, 0, 6.0, 12.0)
  2264. show_hudmessage(0, "= DEAGLE DUDE IS HERE =")
  2265. lr_started = true
  2266. }
  2267.  
  2268. case 3:
  2269. {
  2270. strip_user_weapons(id)
  2271. set_user_health(id, 1)
  2272. give_item( id, "weapon_ak47")
  2273. give_item(id, "weapon_knife")
  2274. cs_set_user_bpammo(id,CSW_AK47,200)
  2275. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 15)
  2276.  
  2277. set_hudmessage(random_num(1,255), random_num(1,255), random_num(1,255), -1.0, -1.0, 0, 6.0, 12.0)
  2278. show_hudmessage(0, "= CRAZY GUY IS HERE =")
  2279. lr_started = true
  2280. }
  2281.  
  2282. case 4:
  2283. {
  2284. strip_user_weapons(id)
  2285. set_user_health(id, 500)
  2286. give_item( id, "weapon_glock18")
  2287. give_item(id, "weapon_knife")
  2288. cs_set_user_bpammo(id,CSW_GLOCK18,200)
  2289. set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderTransAlpha, 255)
  2290.  
  2291. set_hudmessage(random_num(1,255), random_num(1,255), random_num(1,255), -1.0, -1.0, 0, 6.0, 12.0)
  2292. show_hudmessage(0, "= UBER GLOCKER IS HERE =")
  2293. lr_started = true
  2294. }
  2295. }
  2296.  
  2297. menu_destroy(rebelingmenu);
  2298. lrgame[id] = LR_REBEL
  2299. return PLUGIN_HANDLED;
  2300. }
  2301.  
  2302. /*========================SHOT 4 SHOT BULLET==========================*/
  2303. public fw_primary_attack(ent)
  2304. {
  2305. if(!is_lr_s4s)
  2306. return HAM_IGNORED
  2307.  
  2308. //Get owner of entity
  2309.  
  2310. new id = pev(ent,pev_owner)
  2311.  
  2312. //if he's not alive
  2313. if(!is_user_alive(id))
  2314. {
  2315. return HAM_IGNORED
  2316. }
  2317.  
  2318. //If player is in lr and can shoot deagle
  2319. if(lr_started)
  2320. {
  2321. //Search enemy
  2322. new players[32], pnum, tempid
  2323. get_players(players, pnum, "a")
  2324. for(new i; i < pnum; i++)
  2325. {
  2326. tempid = players[i]
  2327. //if he's in lr and can't shoot deagle and is alive
  2328.  
  2329. if(is_user_alive(tempid) && (id !=tempid))
  2330. {
  2331. gun_switch(id, tempid)
  2332. }
  2333. }
  2334. return HAM_HANDLED
  2335. }
  2336. return HAM_IGNORED
  2337. }
  2338.  
  2339. public gun_switch(id, tempid)
  2340. {
  2341. if(!is_lr_s4s || !is_user_alive(id))
  2342. {
  2343. return PLUGIN_HANDLED
  2344. }
  2345.  
  2346. if(lr_started)
  2347. {
  2348.  
  2349. if(is_user_alive(tempid) && (id !=tempid) && !shot_deagle[id])
  2350. {
  2351. strip_user_weapons(tempid)
  2352. new deagle = give_item(tempid, "weapon_deagle")
  2353. cs_set_weapon_ammo(deagle, 1)
  2354. cs_set_user_bpammo(tempid, CSW_DEAGLE, 0)
  2355.  
  2356. shot_deagle[id] = true
  2357. shot_deagle[tempid] = false
  2358. }
  2359. }
  2360. return PLUGIN_HANDLED
  2361. }
  2362.  
  2363. ///////////////////////////////////////////////
  2364. //----------BEACON---------------------------//
  2365. ///////////////////////////////////////////////
  2366.  
  2367. public beacon(id)
  2368. {
  2369. if(/*!is_user_connected(id) || */!is_user_alive(id))
  2370. return PLUGIN_HANDLED
  2371.  
  2372. if(cs_get_user_team(id) == CS_TEAM_CT)
  2373. {
  2374. static origin[3]
  2375. get_user_origin(id, origin)
  2376. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  2377. write_byte(TE_BEAMCYLINDER) // TE id
  2378. write_coord(origin[0]) // x
  2379. write_coord(origin[1]) // y
  2380. write_coord(origin[2]-20) // z
  2381. write_coord(origin[0]) // x axis
  2382. write_coord(origin[1]) // y axis
  2383. write_coord(origin[2]+200) // z axis
  2384. write_short(beacon_sprite) // sprite
  2385. write_byte(0) // startframe
  2386. write_byte(1) // framerate
  2387. write_byte(6) // life
  2388. write_byte(2) // width
  2389. write_byte(1) // noise
  2390. write_byte(0) // red
  2391. write_byte(0) // green
  2392. write_byte(250) // blue
  2393. write_byte(200) // brightness
  2394. write_byte(0) // speed
  2395. message_end()
  2396. }
  2397.  
  2398. else if(cs_get_user_team(id) == CS_TEAM_T)
  2399. {
  2400. static origin[3]
  2401. get_user_origin(id, origin)
  2402. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  2403. write_byte(TE_BEAMCYLINDER) // TE id
  2404. write_coord(origin[0]) // x
  2405. write_coord(origin[1]) // y
  2406. write_coord(origin[2]-20) // z
  2407. write_coord(origin[0]) // x axis
  2408. write_coord(origin[1]) // y axis
  2409. write_coord(origin[2]+200) // z axis
  2410. write_short(beacon_sprite) // sprite
  2411. write_byte(0) // startframe
  2412. write_byte(1) // framerate
  2413. write_byte(6) // life
  2414. write_byte(2) // width
  2415. write_byte(1) // noise
  2416. write_byte(250) // red
  2417. write_byte(0) // green
  2418. write_byte(0) // blue
  2419. write_byte(200) // brightness
  2420. write_byte(0) // speed
  2421. message_end()
  2422. }
  2423. set_task(1.0, "beacon", id)
  2424.  
  2425. return PLUGIN_HANDLED
  2426. }
  2427.  
  2428. ///////////////////////////////////////////////
  2429. //----------T GAG BY Exolent[jNr]------------//
  2430. ///////////////////////////////////////////////
  2431. public FwdSetVoice(receiver, sender, bool:listen)
  2432. {
  2433. if(!get_pcvar_num(cvar_tvoiceblock))
  2434. return PLUGIN_HANDLED
  2435.  
  2436. if( !(1 <= receiver <= g_max_clients)
  2437. || !g_connected[receiver]
  2438. || !(1 <= sender <= g_max_clients)
  2439. || !g_connected[sender] ) return FMRES_IGNORED;
  2440.  
  2441. new CsTeams:team = cs_get_user_team(sender);
  2442. if( (team == CS_TEAM_T || team == CS_TEAM_CT && !is_user_alive(sender)) && !access(sender, ADMIN_VOICE) )
  2443. {
  2444. engfunc(EngFunc_SetClientListening, receiver, sender, 0);
  2445. return FMRES_SUPERCEDE;
  2446. }
  2447.  
  2448. return FMRES_IGNORED;
  2449. }
  2450.  
  2451. //////////////////////////////////////////////
  2452. //------------WEAPON BLOCKER----------------//
  2453. //////////////////////////////////////////////
  2454. public Event_CurWeapon(id)
  2455. {
  2456. new weaponID = read_data(2)
  2457.  
  2458. if(can_have_gun[id])
  2459. return PLUGIN_CONTINUE
  2460.  
  2461. if(weaponID != CSW_KNIFE)
  2462. client_cmd(id, "weapon_knife")
  2463.  
  2464. return PLUGIN_CONTINUE
  2465. }
Add Comment
Please, Sign In to add comment