Advertisement
iFenomenal

bazafurien editata.

Sep 1st, 2019
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.18 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <fakemeta_util>
  6. #include <hamsandwich>
  7. #include <fun>
  8.  
  9. #define PLUGIN "Baza furien "
  10. #define VERSION "2.1"
  11. #define AUTHOR "ma-ta"
  12.  
  13. #define DMG_HEGRENADE (1<<24)
  14.  
  15. #define FURIEN_GRAVITY 0.4
  16. #define FURIEN_SPEED 850.0
  17. #define TEAM_FURIEN 1
  18. #define TEAM_ANTIFURIEN 2
  19.  
  20. #define TASKID_CANPLANT 10001
  21. #define TASKID_C4COUNTDOWN 453
  22.  
  23. #if cellbits == 32
  24. #define OFFSET_BZ 235
  25. #else
  26. #define OFFSET_BZ 268
  27. #endif
  28.  
  29. //Shop
  30. new SuperKnifeModel_V[] = "models/v_ifenomenal_new.mdl"
  31. new bool: HaveSuperKnife[33]
  32.  
  33. //Settings
  34. new bool:MakeVisible[33], Float:Wallorigin[33][3]
  35.  
  36. //Parachute
  37. #define PARACHUTE_CLASS "Parachute"
  38. new ParaENT[33];
  39.  
  40. new Menu;
  41. new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info,
  42. MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health,
  43. bool:CanPlant, C4_CountDownDelay;
  44.  
  45.  
  46. public plugin_cfg() {
  47. server_cmd("amx_cvar mp_playerid 2")
  48. server_cmd("amx_cvar sv_maxspeed 999")
  49. server_cmd("amx_cvar sv_restart 5")
  50. }
  51.  
  52.  
  53. //===========================================================================================//
  54. //===============================[Weapons Settings]=========================================//
  55. //=========================================================================================//
  56. new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];
  57.  
  58. //---|| Primary
  59. #define M4A1_KEY 100
  60. #define AK47_KEY 101
  61. #define M3_KEY 102
  62. #define AUG_KEY 103
  63. #define FAMAS_KEY 104
  64. #define MP5_KEY 105
  65. #define XM1014_KEY 106
  66.  
  67. //---|| Secondary
  68. #define USP_KEY 107
  69. #define DEAGLE_KEY 108
  70. #define ELITE_KEY 109
  71. #define FIVESEVEN_KEY 110
  72.  
  73. public plugin_init() {
  74. register_plugin(PLUGIN, VERSION, AUTHOR)
  75.  
  76. cvar_gamedescription = register_cvar("furien_gamename", "Furien Classic")
  77. antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")
  78. furienspawnhp = register_cvar("furien_spawnhp", "100")
  79. superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.0")
  80. cvar_autojoin_team = register_cvar("furien_team", "5")
  81. cvar_autojoin_class = register_cvar("furien_class", "5")
  82. cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")
  83. MSGID_SayText = get_user_msgid("SayText")
  84. MSGID_StatusIcon = get_user_msgid("StatusIcon")
  85. MSGID_TextMsg = get_user_msgid("TextMsg")
  86. MSGID_SendAudio = get_user_msgid("SendAudio")
  87. MSGID_ShowMenu = get_user_msgid("ShowMenu")
  88. MSGID_VGUIMenu = get_user_msgid("VGUIMenu")
  89. register_clcmd("say shop", "CmdShopMenu")
  90. register_clcmd("shop", "CmdShopMenu")
  91. register_clcmd("say /shop", "CmdShopMenu")
  92. register_clcmd("say_team shop", "CmdShopMenu")
  93. register_clcmd("say_team /shop", "CmdShopMenu")
  94. //register_clcmd("say weapons", "CmdWeaponsMenu")
  95. //register_clcmd("say /weapons", "CmdWeaponsMenu")
  96. register_clcmd("jointeam", "CMD_BlockJoinTeam")
  97. register_clcmd("jointeam 1", "CMD_BlockJoinTeam")
  98. register_clcmd("jointeam 2", "CMD_BlockJoinTeam")
  99. register_clcmd("jointeam 3", "CMD_BlockJoinTeam")
  100. register_clcmd("chooseteam", "CMD_BlockChooseTeam")
  101. register_clcmd("say /rs", "CmdResetScore")
  102. register_clcmd("say_team /rs", "CmdResetScore")
  103. register_clcmd("say /resetscore", "CmdResetScore")
  104. register_clcmd("say_team /resetscore", "CmdResetScore")
  105.  
  106. RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
  107. RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")
  108. RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")
  109. RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")
  110. RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")
  111. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack");
  112.  
  113. register_forward(FM_PlayerPreThink, "Player_PreThink");
  114. register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);
  115. register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");
  116. register_forward(FM_GetGameDescription, "FWD_GameDescription")
  117.  
  118. register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")
  119. register_event("DeathMsg", "EVENT_Death", "a");
  120. register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");
  121. register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");
  122. register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")
  123. register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")
  124.  
  125.  
  126. register_message(MSGID_StatusIcon, "MSG_StatusIcon");
  127. register_message(MSGID_TextMsg, "MSG_TextMessage");
  128. register_message(MSGID_ShowMenu, "MSG_ShowMenu");
  129. register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");
  130. register_message(MSGID_SendAudio, "MSG_SendAudio");
  131. register_message(MSGID_Health, "MSG_Health")
  132. }
  133.  
  134.  
  135. public plugin_precache() {
  136. removebuyzone = register_cvar("furien_removebuyzone", "1")
  137.  
  138. if(get_pcvar_num(removebuyzone)) {
  139.  
  140. remove_entity_name("info_map_parameters");
  141. remove_entity_name("func_buyzone");
  142.  
  143. new Entity = create_entity("info_map_parameters");
  144.  
  145. DispatchKeyValue(Entity, "buying", "3");
  146. DispatchSpawn(Entity);
  147. }
  148. precache_model(SuperKnifeModel_V)
  149. }
  150.  
  151. public client_connect(id) {
  152. client_cmd(id, "cl_forwardspeed 999.0")
  153. client_cmd(id, "cl_sidespeed 999.0")
  154. client_cmd(id, "cl_backspeed 999.0")
  155. }
  156.  
  157. public client_putinserver(id) {
  158. client_cmd(id, "cl_forwardspeed 999.0")
  159. client_cmd(id, "cl_sidespeed 999.0")
  160. client_cmd(id, "cl_backspeed 999.0")
  161. PrimaryWeapon[id] = 0
  162. SecondaryWeapon[id] = 0
  163. }
  164.  
  165.  
  166. public Ham_Spawn_Post(id) {
  167. if(is_user_connected(id) && is_user_alive(id)) {
  168. strip_user_weapons(id)
  169. HavePrimaryWeapon[id] = false
  170. HaveSecondaryWeapon[id] = false
  171. switch(get_user_team(id)) {
  172. case TEAM_FURIEN: {
  173. fm_give_item(id, "weapon_hegrenade")
  174. fm_give_item(id, "weapon_knife")
  175. set_user_footsteps(id, 1)
  176. fm_set_user_health(id, get_pcvar_num(furienspawnhp))
  177. }
  178. case TEAM_ANTIFURIEN: {
  179. fm_give_item(id, "weapon_hegrenade")
  180. fm_give_item(id, "weapon_knife")
  181. set_user_footsteps(id, 0)
  182. fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))
  183. HaveSuperKnife[id] = false;
  184. Equipment(id)
  185. }
  186. }
  187. }
  188. }
  189.  
  190. public EVENT_NewRound() {
  191. CanPlant = false;
  192. new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0
  193. set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)
  194. remove_task(TASKID_C4COUNTDOWN)
  195. }
  196.  
  197. public EVENT_FireINTheHole()
  198. return PLUGIN_HANDLED
  199.  
  200. public HAM_Touch_Weapon(ent, id) {
  201. if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))
  202. return HAM_SUPERCEDE
  203.  
  204. return HAM_IGNORED
  205. }
  206.  
  207. public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {
  208. if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {
  209. if(get_user_weapon(Attacker) == CSW_KNIFE) {
  210. if(HaveSuperKnife[Attacker])
  211. SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))
  212. }
  213. }
  214. return HAM_IGNORED
  215. }
  216.  
  217. ///////////////////////////////////////////////////////////////////////////////////////////////
  218.  
  219. public C4_PrimaryAttack(Ent) {
  220. if(!CanPlant)
  221. return HAM_SUPERCEDE
  222.  
  223. return HAM_IGNORED
  224. }
  225.  
  226. public CmdResetScore(id) {
  227. if(get_user_frags(id) == 0 && get_user_deaths(id) == 0)
  228. ColorChat(id, "!gScorul tau este deja!t 0-0!g !")
  229. else {
  230. for(new i = 0; i < 2; i++) {
  231. cs_set_user_deaths(id, 0);
  232. set_user_frags(id, 0);
  233. }
  234. ColorChat(id, "!gTi-ai resetat scorul cu succes !")
  235. }
  236. }
  237.  
  238. public CmdShopMenu(id) {
  239. if(!is_user_alive(id))
  240. return PLUGIN_HANDLED
  241. switch(get_user_team(id)) {
  242. case TEAM_FURIEN: CmdFurienShop(id)
  243. case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)
  244. }
  245. return PLUGIN_HANDLED
  246. }
  247.  
  248. public CmdFurienShop(id) {
  249. if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {
  250. Menu = menu_create("Furien Shop", "CmdFurienHandler")
  251.  
  252. new SuperKnife[256];
  253. formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - 10000$")
  254. menu_additem(Menu, SuperKnife, "1", 0)
  255.  
  256. new Health[256];
  257. formatex(Health, sizeof(Health)-1, "50 HP - 3000$")
  258. menu_additem(Menu, Health, "2", 0)
  259.  
  260. new Armor[256];
  261. formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - 500$")
  262. menu_additem(Menu, Armor, "3", 0)
  263.  
  264. new Grenade[256];
  265. formatex(Grenade, sizeof(Grenade)-1, "He grenade - 4000$")
  266. menu_additem(Menu, Grenade, "4", 0)
  267.  
  268. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
  269. menu_display(id, Menu, 0);
  270. }
  271. }
  272.  
  273. public CmdAntiFurienShop(id) {
  274. if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
  275. Menu = menu_create("Anti-Furien Shop", "CmdAntiFurienHandler")
  276.  
  277. new Defuse[256];
  278. formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - 500$")
  279. menu_additem(Menu, Defuse, "1", 0)
  280.  
  281. new Health[256];
  282. formatex(Health, sizeof(Health)-1, "50 HP - 3000$")
  283. menu_additem(Menu, Health, "2", 0)
  284.  
  285. new Armor[256];
  286. formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - 500$")
  287. menu_additem(Menu, Armor, "3", 0)
  288.  
  289. new Grenade[256];
  290. formatex(Grenade, sizeof(Grenade)-1, "He grenade - 4000$")
  291. menu_additem(Menu, Grenade, "4", 0)
  292.  
  293. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
  294. menu_display(id, Menu, 0);
  295. }
  296. }
  297.  
  298. public CmdFurienHandler(id, menu, item) {
  299. if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
  300. menu_destroy(menu);
  301. return PLUGIN_HANDLED;
  302. }
  303. new Data[6], Name[64];
  304. new Access, CallBack;
  305. menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
  306. new Key = str_to_num(Data);
  307. switch(Key) {
  308. case 1: {
  309. if(HaveSuperKnife[id])
  310. client_print(id, print_center, "You already have SuperKnife!")
  311. else {
  312. new Money = cs_get_user_money(id) - 10000
  313. if(Money < 0)
  314. client_print(id, print_center, "You have insufficient founds!")
  315. else {
  316. HaveSuperKnife[id] = true;
  317. EVENT_CurWeapon(id)
  318. cs_set_user_money(id, Money)
  319. }
  320. }
  321. }
  322. case 2: {
  323. if(get_user_health(id) >= 250)
  324. client_print(id, print_center, "Ai deja 250Hp Praduitorule!")
  325. else {
  326. new Money = cs_get_user_money(id) - 3000
  327. if(Money < 0)
  328. client_print(id, print_center, "Nu ai banii necesari.!")
  329. else {
  330. if(get_user_health(id) + 50 > 250)
  331. fm_set_user_health(id, 250)
  332. else
  333. fm_set_user_health(id, get_user_health(id) + 50)
  334. cs_set_user_money(id, Money)
  335. }
  336. }
  337. }
  338. case 3: {
  339. if(get_user_armor(id) >= 250)
  340. client_print(id, print_center, "Ai deja 250Hp Praduitorule!")
  341. else {
  342. new Money = cs_get_user_money(id) - 500
  343. if(Money < 0)
  344. client_print(id, print_center, "Nu ai banii necesari!")
  345. else {
  346. if(get_user_armor(id) + 50 > 250)
  347. fm_set_user_armor(id, 250)
  348. else
  349. fm_set_user_armor(id, get_user_armor(id) + 50)
  350. cs_set_user_money(id, Money)
  351. }
  352. }
  353. }
  354. case 4: {
  355. if(user_has_weapon(id, CSW_HEGRENADE))
  356. client_print(id, print_center, "Aveti deja HeGrenade.!")
  357. else {
  358. new Money = cs_get_user_money(id) - 4000
  359. if(Money < 0)
  360. client_print(id, print_center, "Nu ai banii necesari!")
  361. else {
  362. fm_give_item(id, "weapon_hegrenade")
  363. cs_set_user_money(id, Money)
  364. }
  365. }
  366. }
  367. }
  368. menu_destroy(menu)
  369. return PLUGIN_HANDLED
  370. }
  371.  
  372. public CmdAntiFurienHandler(id, menu, item) {
  373. if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
  374. menu_destroy(menu);
  375. return PLUGIN_HANDLED;
  376. }
  377. new Data[6], Name[64];
  378. new Access, CallBack;
  379. menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
  380. new Key = str_to_num(Data);
  381. switch(Key) {
  382. case 1: {
  383. if(cs_get_user_defuse(id))
  384. client_print(id, print_center, "Ai deja DefuseKit!")
  385. else {
  386. new Money = cs_get_user_money(id) - 500
  387. if(Money < 0)
  388. client_print(id, print_center, "Nu ai banii necesari!")
  389. else {
  390. cs_set_user_defuse(id, 1)
  391. cs_set_user_money(id, Money)
  392. }
  393. }
  394. }
  395. case 2: {
  396. if(get_user_health(id) >= 250)
  397. client_print(id, print_center, "Ai deja 250HP Praduitorule!")
  398. else {
  399. new Money = cs_get_user_money(id) - 3000
  400. if(Money < 0)
  401. client_print(id, print_center, "Nu ai banii necesari!")
  402. else {
  403. if(get_user_health(id) + 50 > 250)
  404. fm_set_user_health(id, 250)
  405. else
  406. fm_set_user_health(id, get_user_health(id) + 50)
  407. cs_set_user_money(id, Money)
  408. }
  409. }
  410. }
  411. case 3: {
  412. if(get_user_armor(id) >= 250)
  413. client_print(id, print_center, "Ai deja 250AP Praduitorule!")
  414. else {
  415. new Money = cs_get_user_money(id) - 500
  416. if(Money < 0)
  417. client_print(id, print_center, "Nu ai banii necesari!")
  418. else {
  419. if(get_user_armor(id) + 50 > 250)
  420. fm_set_user_armor(id, 250)
  421. else
  422. fm_set_user_armor(id, get_user_armor(id) + 50)
  423. cs_set_user_money(id, Money)
  424. }
  425. }
  426. }
  427. case 4: {
  428. if(user_has_weapon(id, CSW_HEGRENADE))
  429. client_print(id, print_center, "You already have HE GRENADE!")
  430. else {
  431. new Money = cs_get_user_money(id) - 4000
  432. if(Money < 0)
  433. client_print(id, print_center, "Nu ai banii necesari!")
  434. else {
  435. fm_give_item(id, "weapon_hegrenade")
  436. cs_set_user_money(id, Money)
  437. }
  438. }
  439. }
  440. }
  441. menu_destroy(menu)
  442. return PLUGIN_HANDLED
  443. }
  444.  
  445. //=========================================================================//
  446. //=======================[Weapons Settings]===============================//
  447. //=======================================================================//
  448.  
  449. public Equipment(id) {
  450. if(is_user_alive(id) && get_user_team(id) == 2) {
  451. Menu = menu_create("Weapons Menu", "EquipmentCmd");
  452. menu_additem(Menu, "New Weapons", "1", 0);
  453. if(PrimaryWeapon[id] && SecondaryWeapon[id])
  454. menu_additem(Menu, "Previous Setup", "2", 0);
  455. else
  456. menu_additem(Menu, "Previous Setup", "2", 0);
  457. menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
  458. menu_display(id, Menu, 0);
  459. }
  460. }
  461.  
  462. public EquipmentCmd(id, menu, item) {
  463. if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
  464. menu_destroy(menu);
  465. return PLUGIN_HANDLED;
  466. }
  467. new Data[6], Name[64];
  468. new Access, CallBack;
  469. menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
  470. new Key = str_to_num(Data);
  471. switch(Key) {
  472. case 1: {
  473. if(!HavePrimaryWeapon[id])
  474. Primary(id)
  475. else if(!HaveSecondaryWeapon[id])
  476. Secondary(id)
  477. }
  478. case 2: {
  479. if(PrimaryWeapon[id] && SecondaryWeapon[id])
  480. GiveLastWeapons(id)
  481. else Equipment(id)
  482. }
  483. default: return PLUGIN_HANDLED;
  484. }
  485. menu_destroy(menu);
  486. return PLUGIN_HANDLED;
  487. }
  488.  
  489. public Primary(id) {
  490. if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
  491. Menu = menu_create("Anti-Furien Weapons^nPrimary:", "CmdWeaponsHandler")
  492.  
  493. menu_additem(Menu, "M4A1", "1", 0)
  494. menu_additem(Menu, "AK47", "2", 0)
  495. menu_additem(Menu, "M3", "3", 0)
  496. menu_additem(Menu, "Aug", "4", 0)
  497. menu_additem(Menu, "Famas", "5", 0)
  498. menu_additem(Menu, "MP5 Navy", "6", 0)
  499. menu_additem(Menu, "XM1014", "7", 0)
  500.  
  501. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
  502. menu_display(id, Menu, 0);
  503. }
  504. }
  505.  
  506. public CmdWeaponsHandler(id, menu, item) {
  507. if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
  508. menu_destroy(menu);
  509. return PLUGIN_HANDLED;
  510. }
  511. new Data[6], Name[64];
  512. new Access, CallBack;
  513. menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
  514. new Key = str_to_num(Data);
  515. switch(Key) {
  516. case 1: {
  517. fm_give_item(id, "weapon_m4a1")
  518. cs_set_user_bpammo(id, CSW_M4A1, 254)
  519. PrimaryWeapon[id] = M4A1_KEY
  520. HavePrimaryWeapon[id] = true;
  521. Secondary(id)
  522. }
  523. case 2: {
  524. fm_give_item(id, "weapon_ak47")
  525. cs_set_user_bpammo(id, CSW_AK47, 254)
  526. PrimaryWeapon[id] = AK47_KEY
  527. HavePrimaryWeapon[id] = true;
  528. Secondary(id)
  529. }
  530. case 3: {
  531. fm_give_item(id, "weapon_m3")
  532. cs_set_user_bpammo(id, CSW_M3, 254)
  533. PrimaryWeapon[id] = M3_KEY
  534. HavePrimaryWeapon[id] = true;
  535. Secondary(id)
  536. }
  537. case 4: {
  538. fm_give_item(id, "weapon_aug")
  539. cs_set_user_bpammo(id, CSW_AUG, 254)
  540. PrimaryWeapon[id] = AUG_KEY
  541. HavePrimaryWeapon[id] = true;
  542. Secondary(id)
  543. }
  544. case 5: {
  545. fm_give_item(id, "weapon_famas")
  546. cs_set_user_bpammo(id, CSW_FAMAS, 254)
  547. PrimaryWeapon[id] = FAMAS_KEY
  548. HavePrimaryWeapon[id] = true;
  549. Secondary(id)
  550. }
  551. case 6: {
  552. fm_give_item(id, "weapon_mp5navy")
  553. cs_set_user_bpammo(id, CSW_MP5NAVY, 254)
  554. PrimaryWeapon[id] = MP5_KEY
  555. HavePrimaryWeapon[id] = true;
  556. Secondary(id)
  557. }
  558. case 7: {
  559. fm_give_item(id, "weapon_xm1014")
  560. cs_set_user_bpammo(id, CSW_XM1014, 254)
  561. PrimaryWeapon[id] = XM1014_KEY
  562. HavePrimaryWeapon[id] = true;
  563. Secondary(id)
  564. }
  565. }
  566. menu_destroy(menu)
  567. return PLUGIN_HANDLED
  568. }
  569.  
  570. public Secondary(id) {
  571. if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
  572. Menu = menu_create("Anti-Furien Weapons^nSecondary:", "CmdSecondaryHandler")
  573.  
  574. menu_additem(Menu, "USP", "1", 0)
  575. menu_additem(Menu, "Deagle", "2", 0)
  576. menu_additem(Menu, "Elite", "3", 0)
  577. menu_additem(Menu, "Five Seven", "4", 0)
  578.  
  579. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
  580. menu_display(id, Menu, 0);
  581. }
  582. }
  583.  
  584. public CmdSecondaryHandler(id, menu, item) {
  585. if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
  586. menu_destroy(menu);
  587. return PLUGIN_HANDLED;
  588. }
  589. new Data[6], Name[64];
  590. new Access, CallBack;
  591. menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
  592. new Key = str_to_num(Data);
  593. switch(Key) {
  594. case 1: {
  595. fm_give_item(id, "weapon_usp")
  596. cs_set_user_bpammo(id, CSW_USP, 256)
  597. SecondaryWeapon[id] = USP_KEY
  598. HaveSecondaryWeapon[id] = true;
  599. }
  600. case 2: {
  601. fm_give_item(id, "weapon_deagle")
  602. cs_set_user_bpammo(id, CSW_DEAGLE, 256)
  603. SecondaryWeapon[id] = DEAGLE_KEY
  604. HaveSecondaryWeapon[id] = true;
  605. }
  606. case 3: {
  607. fm_give_item(id, "weapon_elite")
  608. cs_set_user_bpammo(id, CSW_ELITE, 256)
  609. SecondaryWeapon[id] = ELITE_KEY
  610. HaveSecondaryWeapon[id] = true;
  611. }
  612. case 4: {
  613. fm_give_item(id, "weapon_fiveseven")
  614. cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
  615. SecondaryWeapon[id] = FIVESEVEN_KEY
  616. HaveSecondaryWeapon[id] = true;
  617. }
  618. }
  619. menu_destroy(menu)
  620. return PLUGIN_HANDLED
  621. }
  622.  
  623. public GiveLastWeapons(id) {
  624. if(!HavePrimaryWeapon[id]) {
  625. switch(PrimaryWeapon[id]) {
  626. case M4A1_KEY: {
  627. fm_give_item(id, "weapon_m4a1")
  628. cs_set_user_bpammo(id, CSW_M4A1, 256)
  629. HavePrimaryWeapon[id] = true;
  630. }
  631. case AK47_KEY: {
  632. fm_give_item(id, "weapon_ak47")
  633. cs_set_user_bpammo(id, CSW_AK47, 256)
  634. HavePrimaryWeapon[id] = true;
  635. }
  636. case M3_KEY: {
  637. fm_give_item(id, "weapon_m3")
  638. cs_set_user_bpammo(id, CSW_M3, 256)
  639. HavePrimaryWeapon[id] = true;
  640. }
  641. case AUG_KEY: {
  642. fm_give_item(id, "weapon_aug")
  643. cs_set_user_bpammo(id, CSW_AUG, 256)
  644. HavePrimaryWeapon[id] = true;
  645. }
  646. case FAMAS_KEY: {
  647. fm_give_item(id, "weapon_famas")
  648. cs_set_user_bpammo(id, CSW_FAMAS, 256)
  649. HavePrimaryWeapon[id] = true;
  650. }
  651. case MP5_KEY: {
  652. fm_give_item(id, "weapon_mp5navy")
  653. cs_set_user_bpammo(id, CSW_MP5NAVY, 256)
  654. HavePrimaryWeapon[id] = true;
  655. }
  656. case XM1014_KEY: {
  657. fm_give_item(id, "weapon_xm1014")
  658. cs_set_user_bpammo(id, CSW_XM1014, 256)
  659. HavePrimaryWeapon[id] = true;
  660. }
  661. }
  662. }
  663. if(!HaveSecondaryWeapon[id]) {
  664. switch(SecondaryWeapon[id]) {
  665. case USP_KEY: {
  666. fm_give_item(id, "weapon_usp")
  667. cs_set_user_bpammo(id, CSW_USP, 256)
  668. HaveSecondaryWeapon[id] = true;
  669. }
  670. case DEAGLE_KEY: {
  671. fm_give_item(id, "weapon_deagle")
  672. cs_set_user_bpammo(id, CSW_DEAGLE, 256)
  673. HaveSecondaryWeapon[id] = true;
  674. }
  675. case ELITE_KEY: {
  676. fm_give_item(id, "weapon_elite")
  677. cs_set_user_bpammo(id, CSW_ELITE, 256)
  678. HaveSecondaryWeapon[id] = true;
  679. }
  680. case FIVESEVEN_KEY: {
  681. fm_give_item(id, "weapon_fiveseven")
  682. cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)
  683. HaveSecondaryWeapon[id] = true;
  684. }
  685. }
  686. }
  687. }
  688. public CMD_BlockJoinTeam(id) {
  689. console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***")
  690. return 1;
  691. }
  692.  
  693. public CMD_BlockChooseTeam(id) {
  694. console_print(id, "*** Nu ai voie sa foloseti ChooseTeam ! ***")
  695. return 1;
  696. }
  697.  
  698.  
  699.  
  700. /////////////////////////////////////////////////////////////////////////
  701.  
  702. public EVENT_CurWeapon(id) {
  703. if(is_user_connected(id)) {
  704. if(get_user_weapon(id) == CSW_KNIFE) {
  705. if(HaveSuperKnife[id])
  706. set_pev(id, pev_viewmodel2, SuperKnifeModel_V)
  707. }
  708. new PlayerHealth;
  709. PlayerHealth = get_user_health(id)
  710. if(PlayerHealth == 256)
  711. fm_set_user_health(id, 255)
  712. }
  713.  
  714. }
  715.  
  716. public EVENT_Death() {
  717. static Attacker, Victim;
  718. Attacker = read_data(1)
  719. Victim = read_data(2)
  720. HaveSuperKnife[Victim] = false;
  721. if(Victim == Attacker)
  722. return 1;
  723. }
  724.  
  725. public MSG_StatusIcon(msg_id, msg_dest, id) {
  726. static Attrib
  727. Attrib = get_msg_arg_int(2)
  728.  
  729. if(Attrib == (1<<1))
  730. set_msg_arg_int(2, ARG_BYTE, 0)
  731.  
  732. new Icon[8];
  733. get_msg_arg_string(2, Icon, 7);
  734. if(get_pcvar_num(removebuyzone)) {
  735. static const BuyZone[] = "buyzone";
  736.  
  737. if(equal(Icon, BuyZone)) {
  738. set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);
  739.  
  740. return PLUGIN_HANDLED;
  741. }
  742. }
  743. return PLUGIN_CONTINUE;
  744. }
  745.  
  746. public MSG_TextMessage() {
  747. static TextMsg[22];
  748. get_msg_arg_string(2, TextMsg, charsmax(TextMsg))
  749. if(equal(TextMsg, "#Terrorists_Win")) {
  750. client_print(0, print_center, "The Furiens have won this round!")
  751. return PLUGIN_HANDLED;
  752. }
  753. else if(equal(TextMsg, "#CTs_Win")) {
  754. client_print(0, print_center, "The Anti-Furiens have won this round!")
  755. return PLUGIN_HANDLED;
  756. }
  757. else if(equal(TextMsg, "#Bomb_Defused")) {
  758. client_print(0, print_center, "The Anti-Furiens have won this round!")
  759. return PLUGIN_HANDLED;
  760. }
  761. else if(equal(TextMsg, "#Target_Bombed")) {
  762. client_print(0, print_center, "The Furiens have won this round!")
  763. return PLUGIN_HANDLED;
  764. }
  765. else if(equal(TextMsg, "#Target_Saved")) {
  766. client_print(0, print_center, "The Anti-Furiens have won this round!")
  767. return PLUGIN_HANDLED;
  768. }
  769. else if(equal(TextMsg, "#Fire_in_the_hole"))
  770. return PLUGIN_HANDLED
  771. else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {
  772. if(!CanPlant)
  773. return PLUGIN_HANDLED
  774. }
  775. return PLUGIN_CONTINUE;
  776. }
  777.  
  778. public MSG_ShowMenu(msgid, dest, id) {
  779. if(!Should_AutoJoin(id))
  780. return PLUGIN_CONTINUE
  781.  
  782. static team_select[] = "#Team_Select"
  783. static menu_text_code[sizeof team_select]
  784. get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)
  785. if(!equal(menu_text_code, team_select))
  786. return PLUGIN_CONTINUE
  787.  
  788. JoinTeam_Task(id, msgid)
  789.  
  790. return PLUGIN_HANDLED
  791. }
  792.  
  793. public MSG_VGUIMenu(msgid, dest, id) {
  794. if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))
  795. return PLUGIN_CONTINUE
  796.  
  797. JoinTeam_Task(id, msgid)
  798.  
  799. return PLUGIN_HANDLED
  800. }
  801.  
  802. public MSG_SendAudio() {
  803. static Sound[17]
  804. get_msg_arg_string(2, Sound, sizeof Sound - 1)
  805.  
  806. if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))
  807. return PLUGIN_HANDLED;
  808.  
  809. return PLUGIN_CONTINUE;
  810. }
  811.  
  812. public MSG_Health(msgid, dest, id) {
  813. static Health;
  814. Health = get_msg_arg_int(1)
  815. if(Health > 255)
  816. set_msg_arg_int(1, ARG_BYTE, 255);
  817. else if(Health == 256)
  818. set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)
  819. }
  820.  
  821.  
  822.  
  823. bool:Should_AutoJoin(id) {
  824. return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))
  825. }
  826.  
  827. JoinTeam_Task(id, menu_msgid) {
  828. static param_menu_msgid[2]
  829. param_menu_msgid[0] = menu_msgid
  830.  
  831. set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)
  832. }
  833.  
  834. public Force_JoinTeam(menu_msgid[], id) {
  835. if(get_user_team(id))
  836. return
  837.  
  838. static team[2], class[2]
  839. get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)
  840. get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)
  841. Force_Team_Join(id, menu_msgid[0], team, class)
  842. }
  843.  
  844. stock Force_Team_Join(id, menu_msgid, team[] = "5", class[] = "0") {
  845. static jointeam[] = "jointeam"
  846. if(class[0] == '0') {
  847. engclient_cmd(id, jointeam, team)
  848. return
  849. }
  850.  
  851. static msg_block, joinclass[] = "joinclass"
  852. msg_block = get_msg_block(menu_msgid)
  853. set_msg_block(menu_msgid, BLOCK_SET)
  854. engclient_cmd(id, jointeam, team)
  855. engclient_cmd(id, joinclass, class)
  856. set_msg_block(menu_msgid, msg_block)
  857. }
  858.  
  859. public bomb_planted(planter) {
  860. C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1
  861. TASK_C4_CountDown();
  862. set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
  863. show_hudmessage(0, "Furienii au plantat bomba!")
  864. }
  865.  
  866. public EVENT_SwitchTeam() {
  867. new Players[32], PlayersNum, id;
  868. get_players(Players, PlayersNum)
  869. if(PlayersNum) {
  870. for(new i; i < PlayersNum; i++) {
  871. id = Players[i]
  872. BeginDelay(id)
  873. }
  874. }
  875. }
  876.  
  877. public BeginDelay(id) {
  878. if(is_user_connected(id)) {
  879. switch(id) {
  880. case 1..7: set_task(0.1, "BeginTeamSwap", id)
  881. case 8..15: set_task(0.2, "BeginTeamSwap", id)
  882. case 16..23: set_task(0.3, "BeginTeamSwap", id)
  883. case 24..32: set_task(0.4, "BeginTeamSwap", id)
  884. }
  885. }
  886. }
  887.  
  888. public BeginTeamSwap(id) {
  889. if(is_user_connected(id)) {
  890. switch(get_user_team(id)) {
  891. case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)
  892. case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)
  893. }
  894. }
  895. }
  896.  
  897. ///////////////////////////////////////////////////////////////////////////////////////////////
  898.  
  899. public Player_PreThink(id) {
  900. if(is_user_connected(id)) {
  901. if(get_user_team(id) == TEAM_FURIEN) {
  902. if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)
  903. set_pev(id, pev_gravity, FURIEN_GRAVITY)
  904.  
  905. if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {
  906. set_pev(id, pev_maxspeed, FURIEN_SPEED)
  907. set_user_footsteps(id, 1)
  908. }
  909. }
  910. if(get_pcvar_num(cvar_aim_info)) {
  911. new Target, Body;
  912. get_user_aiming(id, Target, Body);
  913. if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {
  914. new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;
  915. TargetTeam = get_user_team(Target)
  916. PlayerTeam = get_user_team(id)
  917. get_user_name(Target, TargetName, 31)
  918. TargetHealth = get_user_health(Target)
  919. TargetArmor = get_user_armor(Target)
  920. if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {
  921. formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
  922. RED = 20
  923. GREEN = 200
  924. BLUE = 50
  925. }
  926. else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {
  927. formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
  928. RED = 200
  929. GREEN = 20
  930. BLUE = 20
  931. }
  932. else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {
  933. formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)
  934. RED = 200
  935. GREEN = 20
  936. BLUE = 20
  937. }
  938. else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)
  939. return
  940. set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
  941. show_hudmessage(id, "%s", Message)
  942. }
  943. }
  944. }
  945. }
  946.  
  947. public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {
  948. if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {
  949. if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1
  950. || !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent
  951. || get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {
  952. set_es(es, ES_RenderFx, kRenderFxNone);
  953. set_es(es, ES_RenderMode, kRenderTransTexture);
  954. set_es(es, ES_RenderAmt, 255);
  955. }
  956. else if(get_user_team(ent) == 1) {
  957. set_es(es, ES_RenderFx, kRenderFxNone);
  958. set_es(es, ES_RenderMode, kRenderTransTexture);
  959. static Float:Origin[3]
  960. pev(ent, pev_origin, Origin)
  961.  
  962. if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])
  963. set_es(es, ES_RenderAmt, 0);
  964. else
  965. set_es(es, ES_RenderAmt, 255);
  966. }
  967. }
  968. }
  969.  
  970. public FWD_ParachutePreThink(id) {
  971. if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
  972. new Float:FallSpeed = -30.0;
  973. new Float:Frame;
  974.  
  975. new Button = pev(id, pev_button);
  976. new OldButton = pev(id, pev_oldbuttons);
  977. new Flags = pev(id, pev_flags);
  978.  
  979. if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {
  980.  
  981. if(pev(ParaENT[id],pev_sequence) != 2) {
  982. set_pev(ParaENT[id], pev_sequence, 2);
  983. set_pev(ParaENT[id], pev_gaitsequence, 1);
  984. set_pev(ParaENT[id], pev_frame, 0.0);
  985. set_pev(ParaENT[id], pev_fuser1, 0.0);
  986. set_pev(ParaENT[id], pev_animtime, 0.0);
  987. return;
  988. }
  989.  
  990. pev(ParaENT[id],pev_fuser1, Frame);
  991. Frame += 2.0;
  992. set_pev(ParaENT[id],pev_fuser1,Frame);
  993. set_pev(ParaENT[id],pev_frame,Frame);
  994.  
  995. if(Frame > 254.0) {
  996. engfunc(EngFunc_RemoveEntity, ParaENT[id]);
  997. ParaENT[id] = 0;
  998. }
  999. else {
  1000. engfunc(EngFunc_RemoveEntity, ParaENT[id]);
  1001. ParaENT[id] = 0;
  1002. }
  1003. return;
  1004. }
  1005.  
  1006. if(Button & IN_USE) {
  1007. new Float:Velocity[3];
  1008. pev(id, pev_velocity, Velocity);
  1009.  
  1010. if(Velocity[2] < 0.0) {
  1011. if(ParaENT[id] <= 0) {
  1012. ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
  1013.  
  1014. if(ParaENT[id] > 0) {
  1015. set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);
  1016. set_pev(ParaENT[id], pev_aiment, id);
  1017. set_pev(ParaENT[id], pev_owner, id);
  1018. set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);
  1019. set_pev(ParaENT[id], pev_sequence, 0);
  1020. set_pev(ParaENT[id], pev_gaitsequence, 1);
  1021. set_pev(ParaENT[id], pev_frame, 0.0);
  1022. set_pev(ParaENT[id], pev_fuser1, 0.0);
  1023. }
  1024. }
  1025. if(ParaENT[id] > 0) {
  1026. set_pev(id, pev_sequence, 3);
  1027. set_pev(id, pev_gaitsequence, 1);
  1028. set_pev(id, pev_frame, 1.0);
  1029. set_pev(id, pev_framerate, 1.0);
  1030.  
  1031. Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;
  1032. set_pev(id, pev_velocity, Velocity);
  1033.  
  1034. if(pev(ParaENT[id],pev_sequence) == 0) {
  1035. pev(ParaENT[id],pev_fuser1, Frame);
  1036. Frame += 1.0;
  1037. set_pev(ParaENT[id],pev_fuser1,Frame);
  1038. set_pev(ParaENT[id],pev_frame,Frame);
  1039.  
  1040. if(Frame > 100.0) {
  1041. set_pev(ParaENT[id], pev_animtime, 0.0);
  1042. set_pev(ParaENT[id], pev_framerate, 0.4);
  1043. set_pev(ParaENT[id], pev_sequence, 1);
  1044. set_pev(ParaENT[id], pev_gaitsequence, 1);
  1045. set_pev(ParaENT[id], pev_frame, 0.0);
  1046. set_pev(ParaENT[id], pev_fuser1, 0.0);
  1047. }
  1048. }
  1049. }
  1050. }
  1051.  
  1052. else if(ParaENT[id] > 0) {
  1053. engfunc(EngFunc_RemoveEntity, ParaENT[id]);
  1054. ParaENT[id] = 0;
  1055. }
  1056. }
  1057.  
  1058. else if((OldButton & IN_USE) && ParaENT[id] > 0) {
  1059. engfunc(EngFunc_RemoveEntity, ParaENT[id]);
  1060. ParaENT[id] = 0;
  1061. }
  1062. }
  1063. }
  1064.  
  1065. public FWD_GameDescription() {
  1066. static GameName[32]
  1067. get_pcvar_string(cvar_gamedescription, GameName, 31)
  1068.  
  1069. forward_return(FMV_STRING, GameName)
  1070.  
  1071. return FMRES_SUPERCEDE
  1072. }
  1073.  
  1074. public TASK_CanPlant() {
  1075. CanPlant = true;
  1076. set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)
  1077. show_hudmessage(0, "Furienii pot planta bomba!")
  1078. }
  1079.  
  1080. public TASK_C4_CountDown() {
  1081. new Red, Green, Blue
  1082. if(C4_CountDownDelay > 10)
  1083. Red = 0, Green = 255, Blue = 0;
  1084. else if(C4_CountDownDelay > 5)
  1085. Red = 255, Green = 200, Blue = 0;
  1086. else if(C4_CountDownDelay <= 5)
  1087. Red = 255, Green = 0, Blue = 0;
  1088.  
  1089. if(C4_CountDownDelay) {
  1090. new Message[256];
  1091. formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);
  1092.  
  1093. set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)
  1094. show_hudmessage(0, "%s", Message)
  1095. set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);
  1096. C4_CountDownDelay--;
  1097. }
  1098. else if(!C4_CountDownDelay)
  1099. C4_CountDownDelay = 0;
  1100. }
  1101.  
  1102. stock ColorChat(const id, const input[], any:...) {
  1103. new count = 1, players[32];
  1104. static msg[191];
  1105. vformat(msg, 190, input, 3);
  1106.  
  1107. replace_all(msg, 190, "!g", "^4");
  1108. replace_all(msg, 190, "!y", "^1");
  1109. replace_all(msg, 190, "!t", "^3");
  1110.  
  1111. if(id) players[0] = id;
  1112. else get_players(players, count, "ch"); {
  1113. for(new i = 0; i < count; i++) {
  1114. if(is_user_connected(players[i])) {
  1115. message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players[i]);
  1116. write_byte(players[i]);
  1117. write_string(msg);
  1118. message_end();
  1119. }
  1120. }
  1121. }
  1122. }
  1123. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  1124. *{ rtf1 ansi deff0{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard lang1048 f0 fs16 n par }
  1125. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement