Advertisement
ISRaiyaN

Amxx-Cmd - Edited By ISRaiyaN

Feb 22nd, 2019
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 38.11 KB | None | 0 0
  1. #include < amxmodx >
  2. #include < fakemeta >
  3. #include < colorchat >
  4. #include < cstrike >
  5.  
  6. new Prefix[] = "AMXX";
  7.  
  8. new Author[] = "ImNativus ^1and Edited By ^3ISRaiyaN ^4:)";
  9.  
  10. #pragma semicolon 1
  11.  
  12. #define MAX_COLORS 11
  13.  
  14. #define TASKID_RESTART 1000
  15.  
  16. // Drug ...
  17.  
  18. #define XO_PLAYER      5
  19. #define m_iFOV      363
  20.  
  21. enum _:Teams
  22. {
  23. FM_TEAM_UNASSIGNED,
  24. FM_TEAM_T,
  25. FM_TEAM_CT,
  26. FM_TEAM_SPECTATOR
  27. };
  28.  
  29. enum _:Weapons
  30. {
  31. WEAPON_USP,
  32. WEAPON_GLOCK18,
  33. WEAPON_DEAGLE,
  34. WEAPON_P228,
  35. WEAPON_ELITE,
  36. WEAPON_FIVESEVEN,
  37. WEAPON_M3,
  38. WEAPON_XM1014,
  39. WEAPON_TMP,
  40. WEAPON_MAC10,
  41. WEAPON_MP5NAVY,
  42. WEAPON_P90,
  43. WEAPON_UMP45,
  44. WEAPON_FAMAS,
  45. WEAPON_GALIL,
  46. WEAPON_AK47,
  47. WEAPON_M4A1,
  48. WEAPON_SG552,
  49. WEAPON_AUG,
  50. WEAPON_SCOUT,
  51. WEAPON_SG550,
  52. WEAPON_AWP,
  53. WEAPON_G3SG1,
  54. WEAPON_M249,
  55. WEAPON_HEGRENADE,
  56. WEAPON_SMOKEGRENADE,
  57. WEAPON_FLASHBANG,
  58. WEAPON_SHIELD,
  59. WEAPON_C4,
  60. WEAPON_KNIFE,
  61. ITEM_KEVLAR,
  62. ITEM_ASSAULTSUIT,
  63. ITEM_THIGHPACK
  64. }
  65.  
  66. enum _:Commands
  67. {
  68. RESTART_ROUND,
  69. T_TRANSFER,
  70. CT_TRANSFER,
  71. SPEC_TRANSFER,
  72. TEAM_TRANSFER,
  73. ROUND_TIME,
  74. FREEZE_TIME,
  75. REVIVE,
  76. AIR_ACCELERATE,
  77. BURY,
  78. UNBURY,
  79. GRAVITY,
  80. PASSWORD,
  81. NO_PASSWORD,
  82. SLAY,
  83. SLAP,
  84. GLOW,
  85. FRIENDLY_FIRE,
  86. NOCLIP,
  87. GODMODE,
  88. HEAL,
  89. WEAPON,
  90. ALLTALK,
  91. BUY_TIME,
  92. MONEY,
  93. KICK,
  94. BAN,
  95. AMXX_MENU,
  96. MAP_MENU,
  97. KICK_MENU,
  98. BAN_MENU,
  99. SLAP_MENU,
  100. TEAM_MENU,
  101. MAP_CHANGE,
  102. MULTI_CVAR,
  103. START_MONEY,
  104. PAUSE,
  105. RESTART,
  106. TELEPORT,
  107. VOTEMAP,
  108. SPEED,
  109. UBERSLAP,
  110. DRUG,
  111. FLASH,
  112. ROCKET,
  113. FIRE,
  114. GAG,
  115. UNGAG,
  116. GAGMENU,
  117. STRIP
  118. };
  119.  
  120. new const CommandsName[ Commands ] [ ] =
  121. {
  122. "Has ^3''^4Restarted^3'' ^1The Round.",
  123. "Used ^3''^4Terrorist Transfer^3'' ^1Command.",
  124. "Used ^3''^4Counter Terrorist Transfer^3'' ^1Command.",
  125. "Used ^3''^4Spectator Transfer^3'' ^1Command.",
  126. "Used ^3''^4Team Transfer^3'' ^1Command.",
  127. "Used ^3''^4Round Time^3'' ^1Command.",
  128. "Used ^3''^4Freeze Time^3'' ^1Command.",
  129. "Used ^3''^4Revive^3'' ^1Command.",
  130. "Changed The ^3''^4Air Accelerate^3''^1.",
  131. "Used ^3''^4Bury^3'' ^1Command.",
  132. "Used ^3''^4Un Bury^3'' ^1Command.",
  133. "Changed The ^3''^4Gravity^3''^1.",
  134. "Added ^3''^4Password^3'' ^1To The Server.",
  135. "Used ^3''^4No Password ^1Command.",
  136. "Used ^3''^4Slay^3'' ^1Command.",
  137. "Used ^3''^4Slap^3'' ^1Command.",
  138. "Used ^3''^4Glow^3'' ^1Command.",
  139. "Used ^3''^4Friendly Fire^3'' ^1Command.",
  140. "Used ^3''^4Noclip^3'' ^1Command.",
  141. "Used ^3''^4Godmode^3'' ^1Command.",
  142. "Used ^3''^4Heal^3'' ^1Command.",
  143. "Used ^3''^4Weapon^3'' ^1Command.",
  144. "Used ^3''^4Alltalk^3'' ^1Command.",
  145. "Used ^3''^4Buy Time^3'' ^1Command.",
  146. "Changed The ^3''^4Start Money^3''^1.",
  147. "Used ^3''^4Kick^3'' ^1Command.",
  148. "Used ^3''^4Ban^3'' ^1Command.",
  149. "Opened The ^3''^4AMXX^3'' ^1Menu.",
  150. "Opened The ^3''^4Map^3'' ^1Menu.",
  151. "Opened The ^3''^4Kick^3'' ^1Menu.",
  152. "Opened The ^3''^4Ban^3'' ^1Menu.",
  153. "Opened The ^3''^4Slap^3'' ^1Menu.",
  154. "Opened The ^3''^4Team^3'' ^1Menu.",
  155. "Used ^3''^4Change Map^3''^1.",
  156. "Used ^3''^4Multi Cvar^3'' ^1Command.",
  157. "Changed The ^3''^4Start Money^3''^1.",
  158. "Has ^3''^4Paused^3'' ^1The Server.",
  159. "Has ^3''^4Restarted^3'' ^1The Server.",
  160. "Used ^3''^4Teleport^3'' ^1Command.",
  161. "Used ^3''^4Votemap^3'' ^1Command.",
  162. "Used ^3''^4Speed^3'' ^1Command.",
  163. "Used ^3''^4Uberslap^3'' ^1Command.",
  164. "Used ^3''^4Drug^3'' ^1Command.",
  165. "Used ^3''^4Flash^3'' ^1Command.",
  166. "Used ^3''^4Rocket^3'' ^1Command.",
  167. "Used ^3''^4Fire^3'' ^1Command.",
  168. "Used ^3''^4Gag^3'' ^1Command.",
  169. "Used ^3''^4UnGag^3'' ^1Command.",
  170. "Opened The ^3''^4Gag^3'' ^1Menu.",
  171. "Used ^3''^4Strip^3'' ^1Command."
  172. };
  173.  
  174. new const CommandsInChat[ Commands ] [ ] =
  175. {
  176. "rr",
  177. "t",
  178. "ct",
  179. "spec",
  180. "team",
  181. "rt",
  182. "ft",
  183. "revive",
  184. "aa",
  185. "bury",
  186. "unbury",
  187. "gravity",
  188. "pass",
  189. "nopass",
  190. "slay",
  191. "slap",
  192. "glow",
  193. "ff",
  194. "noclip",
  195. "godmode",
  196. "heal",
  197. "weapon",
  198. "alltalk",
  199. "buytime",
  200. "money",
  201. "kick",
  202. "ban",
  203. "amxx",
  204. "mmenu",
  205. "kmenu",
  206. "bmenu",
  207. "smenu",
  208. "tmenu",
  209. "map",
  210. "cvar",
  211. "startmoney",
  212. "pause",
  213. "rs",
  214. "teleport",
  215. "votemap",
  216. "speed",
  217. "uberslap",
  218. "drug",
  219. "flash",
  220. "rocket",
  221. "fire",
  222. "gag",
  223. "ungag",
  224. "gmenu",
  225. "strip"
  226. };
  227.  
  228. new const CommandsLevel[ Commands ] =
  229. {
  230. ADMIN_CVAR, // rr
  231. ADMIN_LEVEL_D, // t
  232. ADMIN_LEVEL_D, // ct
  233. ADMIN_LEVEL_D, // spec
  234. ADMIN_LEVEL_D, // team
  235. ADMIN_CVAR, // rt
  236. ADMIN_CVAR, // ft
  237. ADMIN_LEVEL_D, // revive
  238. ADMIN_CVAR, // aa
  239. ADMIN_LEVEL_B, // bury
  240. ADMIN_LEVEL_B, // unbury
  241. ADMIN_CVAR, // gravity
  242. ADMIN_PASSWORD, // pass
  243. ADMIN_PASSWORD, // nopass
  244. ADMIN_SLAY, // slay
  245. ADMIN_SLAY, // slap
  246. ADMIN_LEVEL_A, // glow
  247. ADMIN_CVAR, // ff
  248. ADMIN_LEVEL_E, // noclip
  249. ADMIN_LEVEL_E, // godmode
  250. ADMIN_LEVEL_A, // heal
  251. ADMIN_LEVEL_C, // weapon
  252. ADMIN_CVAR, // alltalk
  253. ADMIN_CVAR, // buytime
  254. ADMIN_LEVEL_A, // money
  255. ADMIN_KICK, // kick
  256. ADMIN_BAN, // ban
  257. ADMIN_MENU, // amxx
  258. ADMIN_MAP, // map menu
  259. ADMIN_KICK, // kick menu
  260. ADMIN_BAN, // ban menu
  261. ADMIN_SLAY, // slay/slap menu
  262. ADMIN_LEVEL_D, // team menu
  263. ADMIN_MAP, // map
  264. ADMIN_CVAR, // cvar
  265. ADMIN_CVAR, // start money
  266. ADMIN_CFG, // pause
  267. ADMIN_CFG, // restart server
  268. ADMIN_LEVEL_C, // teleport
  269. ADMIN_VOTE, // votemap
  270. ADMIN_LEVEL_B, // speed
  271. ADMIN_LEVEL_B, // uberslap
  272. ADMIN_LEVEL_B, // drug
  273. ADMIN_LEVEL_B, // flash
  274. ADMIN_LEVEL_B, // rocket
  275. ADMIN_LEVEL_B, // fire
  276. ADMIN_KICK, // gag
  277. ADMIN_KICK, // ungag
  278. ADMIN_KICK, // gag menu
  279. ADMIN_LEVEL_C // strip weapon
  280. };
  281.  
  282. new const GlowColorNames[ MAX_COLORS ] [ ] =
  283. {
  284. "Blue",
  285. "Green",
  286. "Red",
  287. "White",
  288. "Yellow",
  289. "Aqua",
  290. "Purple",
  291. "Pink",
  292. "Silver",
  293. "Gold",
  294. "Off"
  295. };
  296.  
  297. new const GlowInChat[ MAX_COLORS ] [ ] =
  298. {
  299. "blue",
  300. "green",
  301. "red",
  302. "white",
  303. "yellow",
  304. "aqua",
  305. "purple",
  306. "pink",
  307. "silver",
  308. "gold",
  309. "off"
  310. };
  311.  
  312. new const GlowColors[ MAX_COLORS ] [ 3 ] =
  313. {
  314. { 0, 0, 255 },
  315. { 0, 255, 0 },
  316. { 255, 0, 0 },
  317. { 255, 255, 255 },
  318. { 255, 255, 0 },
  319. { 0, 150, 255 },
  320. { 255, 0, 255 },
  321. { 255, 190, 190 },
  322. { 192, 192, 192 },
  323. { 220, 220, 0 },
  324. { 0, 0, 0 }
  325. };
  326.  
  327. new const weapons[ Weapons ][ ] = {
  328. "weapon_usp",
  329. "weapon_glock18",
  330. "weapon_deagle",
  331. "weapon_p228",
  332. "weapon_elite",
  333. "weapon_fiveseven",
  334. "weapon_m3",
  335. "weapon_xm1014",
  336. "weapon_tmp",
  337. "weapon_mac10",
  338. "weapon_mp5navy",
  339. "weapon_p90",
  340. "weapon_ump45",
  341. "weapon_famas",
  342. "weapon_galil",
  343. "weapon_ak47",
  344. "weapon_m4a1",
  345. "weapon_sg552",
  346. "weapon_aug",
  347. "weapon_scout",
  348. "weapon_sg550",
  349. "weapon_awp",
  350. "weapon_g3sg1",
  351. "weapon_m249",
  352. "weapon_hegrenade",
  353. "weapon_smokegrenade",
  354. "weapon_flashbang",
  355. "weapon_shield",
  356. "weapon_c4",
  357. "weapon_knife",
  358. "item_kevlar",
  359. "item_assaultsuit",
  360. "item_thighpack"
  361. };
  362.  
  363. new CvarOnOff;
  364. new CvarHelp;
  365. new CvarFireIginite;
  366.  
  367. new bool:g_freezetime = true;
  368.  
  369. new g_speed[ 33 ];
  370. new rocket_z[ 33 ];
  371. new bool:onfire[ 33 ];
  372.  
  373. new msgid_SetFOV;
  374. new msgid_ScreenFade;
  375. new msgid_Damage;
  376.  
  377. new mflash;
  378. new smoke;
  379. new blueflare2;
  380. new white;
  381.  
  382. public plugin_precache( )
  383. {
  384. /* Flash */
  385.  
  386. precache_sound( "weapons/flashbang-2.wav" );
  387.  
  388. /* Rocket */
  389.  
  390. precache_sound( "weapons/rocketfire1.wav" );
  391. precache_sound( "weapons/rocket1.wav" );
  392.  
  393. /* Fire */
  394.  
  395. precache_sound( "ambience/flameburst1.wav" );
  396. precache_sound( "scientist/scream21.wav" );
  397. precache_sound( "scientist/scream07.wav" );
  398.  
  399. /* Effects */
  400.  
  401. mflash = precache_model( "sprites/muzzleflash.spr" );
  402. smoke = precache_model( "sprites/steam1.spr" );
  403. blueflare2 = precache_model( "sprites/blueflare2.spr" );
  404. white = precache_model( "sprites/white.spr" );
  405. }
  406.  
  407. public plugin_init( )
  408. {
  409. register_plugin( "Amxx Cmd Advanced", "1.4", "ImNativus | Edited By ISRaiyaN" );
  410.  
  411. register_clcmd( "say", "HandleSay" );
  412. register_clcmd( "say_team", "HandleSay" );
  413.  
  414. register_event( "CurWeapon", "EventCurWeapon", "be", "1=1" );
  415. register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" );
  416.  
  417. register_logevent( "LogEventNewRound", 2, "1=Round_Start" );
  418.  
  419. msgid_SetFOV = get_user_msgid( "SetFOV" );
  420. msgid_ScreenFade = get_user_msgid( "ScreenFade" );
  421. msgid_Damage = get_user_msgid("Damage");
  422.  
  423. CvarOnOff = register_cvar( "amxx_cmd", "1" );
  424. CvarHelp = register_cvar( "amxx_help", "1" );
  425. CvarFireIginite = register_cvar( "amxx_fireignite", "0" );
  426.  
  427. set_task( 300.0, "TaskHelpMessage", _, _, _, "b" );
  428. }
  429.  
  430. public TaskHelpMessage( )
  431. {
  432. ColorChat(0, RED, "^4[ ^1%s ^4] ^1This Plugin built by: ^3%s", Prefix, Author );
  433.  
  434. if ( !get_pcvar_num( CvarHelp ) )
  435. return;
  436.  
  437. new message[ 192 ];
  438.  
  439. formatex( message, sizeof( message ) - 1, "^4[ ^1%s ^4] ^1Need Help ?^1 Type:^4 ", Prefix );
  440.  
  441. for (  new i = 0; i < Commands; i += 20 )
  442. {
  443. add( message, sizeof( message ) - 1, "!help" );
  444.  
  445. if ( i != 0 )
  446. {
  447. new number[ 3 ];
  448. formatex( number, sizeof( number ) - 1, "%d ", i / 20 + 1 );
  449.  
  450. add( message, sizeof( message ) - 1, number );
  451. }
  452.  
  453. else
  454. {
  455. add( message, sizeof( message ) - 1, " " );
  456. }
  457. }
  458. ColorChat( 0, NORMAL, "%s", message );
  459. }
  460.  
  461. public HandleSay( client )
  462. {
  463. new message[ 192 ], arg[ 64 ], cmd[ 64 ];
  464.  
  465. read_argv( 1, message, sizeof( message ) - 1 );
  466.  
  467. parse( message, arg, sizeof( arg ) - 1 );
  468.  
  469. new num = str_to_num( arg[ strlen( arg ) - 1 ] ) < 0 ? 0 : str_to_num( arg[ strlen( arg ) - 1 ] );
  470.  
  471. if ( get_user_flags( client ) & ADMIN_CVAR )
  472. {
  473. if ( equali( message, "!toggle" ) )
  474. {
  475. set_pcvar_num( CvarOnOff, get_pcvar_num( CvarOnOff ) == 0 ? 1 : 0 );
  476.  
  477. ColorChat( client, RED, "^4[ ^1%s ^4] ^1The Plugin is now:^3 %s", Prefix, get_pcvar_num( CvarOnOff ) == 1 ? "On" : "Off" );
  478.  
  479. return PLUGIN_HANDLED;
  480. }
  481. }
  482. /*
  483. if ( get_pcvar_num( CvarHelp ) && containi( message, "!help" ) != -1 )
  484. {
  485. ShowMOTD( client, ( ( num * 2 ) * 10 ) - 20 > 0 ? ( ( num * 2 ) * 10 ) - 20 : 0, ( ( num * 2 ) * 10 ) > Commands ? Commands : num * 10 + 20 );
  486. }
  487. */
  488. else
  489. {
  490. for ( new i = 0; i < Commands; i++ )
  491. {
  492. formatex( cmd, sizeof( cmd ) - 1, "!%s", CommandsInChat[ i ] );
  493.  
  494. if ( equali( arg, cmd ) )
  495. {
  496. if ( get_pcvar_num( CvarOnOff ) )
  497. {
  498. if ( get_user_flags( client ) & CommandsLevel[ i ] )
  499. {
  500. HandleCommands( client, message, i );
  501.  
  502. return PLUGIN_HANDLED;
  503. }
  504.  
  505. else
  506. {
  507. console_print( client, "You have no access to this command." );
  508.  
  509. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You have ^3No Access^1 to this ^4Command^1.", Prefix );
  510. }
  511. }
  512.  
  513. else
  514. {
  515. ColorChat( client, RED, "^4[ ^1%s ^4] ^1The plugin is off. Activate it before using it^3 [ !toggle ]", Prefix );
  516. }
  517. }
  518. }
  519. }
  520.  
  521.  
  522. return PLUGIN_CONTINUE;
  523. }
  524.  
  525. public HandleCommands( client, const message[ 192 ], command )
  526. {
  527. new cmd[ 64 ], arg[ 64 ], arg1[ 64 ], arg2[ 64 ], arg3[ 64 ], NameSz[ 32 ], player;
  528.  
  529. parse( message, cmd, 63, arg, 63, arg1, 63, arg2, 63, arg3, 63 );
  530.  
  531. get_user_name( client, NameSz, sizeof( NameSz ) );
  532.  
  533. ColorChat( 0, RED, "^4[ ^1%s ^4] ^1ADMIN:^3 %s^1 %s", Prefix, NameSz, CommandsName[ command ] );
  534.  
  535. player = command != MULTI_CVAR && command != VOTEMAP ? cmd_target( client, arg, arg1, command ) : 0;
  536.  
  537. switch( command )
  538. {
  539. case RESTART_ROUND:
  540. {
  541. set_cvar_num( "sv_restart", str_to_num( arg ) > 0 ? str_to_num( arg ) : 1 );
  542. }
  543.  
  544. case T_TRANSFER:
  545. {
  546. fm_set_user_team( player, FM_TEAM_T );
  547.  
  548. fm_DispatchSpawn( player );
  549. }
  550.  
  551. case CT_TRANSFER:
  552. {
  553. fm_set_user_team( player, FM_TEAM_CT );
  554.  
  555. fm_DispatchSpawn( player );
  556. }
  557.  
  558. case SPEC_TRANSFER:
  559. {
  560. user_silentkill( player );
  561.  
  562. fm_set_user_team( player, FM_TEAM_SPECTATOR );
  563. }
  564.  
  565. case TEAM_TRANSFER:
  566. {
  567. if ( equali( arg1, "t" ) )
  568. {
  569. fm_set_user_team( player, FM_TEAM_T );
  570.  
  571. fm_set_user_model( player, "guerilla" );
  572. }
  573.  
  574. else if ( equali( arg1, "ct" ) )
  575. {
  576. fm_set_user_team( player, FM_TEAM_CT );
  577.  
  578. fm_set_user_model( player, "gign" );
  579. }
  580.  
  581. else if ( equali( arg1, "spec" ) )
  582. {
  583. fm_set_user_team( player, FM_TEAM_SPECTATOR );
  584.  
  585. fm_set_user_model( player, "gign" );
  586. }
  587.  
  588. else
  589. {
  590. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: Invalid Team", Prefix );
  591. }
  592. }
  593.  
  594. case ROUND_TIME:
  595. {
  596. if ( str_to_float( arg ) >= 0.0 )
  597. {
  598. set_cvar_float( "mp_roundtime", str_to_float( arg ) );
  599.  
  600. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Round Time^1 to: %.2f", Prefix, str_to_float( arg ) );
  601. }
  602. }
  603.  
  604. case FREEZE_TIME:
  605. {
  606. if ( str_to_float( arg ) >= 0.0 )
  607. {
  608. set_cvar_float( "mp_freezetime", str_to_float( arg ) );
  609.  
  610. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Freeze Time^1 to: %.2f", Prefix, str_to_float( arg ) );
  611. }
  612. }
  613.  
  614. case REVIVE:
  615. {
  616. if ( is_user_alive( player ) )
  617. {
  618. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: This action could not perform on^4 live client", Prefix );
  619. }
  620.  
  621. else
  622. {
  623. fm_DispatchSpawn( player );
  624. }
  625. }
  626.  
  627. case AIR_ACCELERATE:
  628. {
  629. if ( str_to_num( arg ) >= 10 )
  630. {
  631. set_cvar_num( "sv_airaccelerate", str_to_num( arg ) );
  632.  
  633. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Air Accelerate^1 to: %d", Prefix, str_to_num( arg ) );
  634. }
  635.  
  636. else
  637. {
  638. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: Wrong Number or Under Limit( 10 )", Prefix );
  639. }
  640. }
  641.  
  642. case BURY, UNBURY:
  643. {
  644. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  645. {
  646. new Origin[3], Float:FOrigin[3];
  647. get_user_origin( player, Origin );
  648.  
  649. Origin[2] = command == BURY ? ( Origin[2] - 35 ) : ( Origin[2] + 35 );
  650.  
  651. IVecFVec( Origin, FOrigin );
  652.  
  653. set_pev( player, pev_origin, FOrigin );
  654. }
  655. }
  656.  
  657. case GRAVITY:
  658. {
  659. if ( str_to_num( arg ) )
  660. {
  661. set_cvar_num( "sv_gravity", str_to_num( arg ) );
  662.  
  663. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Gravity^1 to: %d", Prefix, str_to_num( arg ) );
  664. }
  665. }
  666.  
  667. case PASSWORD:
  668. {
  669. set_cvar_string( "sv_password", arg );
  670.  
  671. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Password^1 to: %s", Prefix, arg );
  672. }
  673.  
  674. case NO_PASSWORD:
  675. {
  676. set_cvar_string( "sv_password", "" );
  677. }
  678.  
  679. case SLAY:
  680. {
  681. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  682. {
  683. user_kill( player );
  684. }
  685. }
  686.  
  687. case SLAP:
  688. {
  689. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  690. {
  691. user_slap( player, 0 );
  692.  
  693. fm_set_user_health( player, get_user_health( player ) - ( equal( arg1, "" ) ? 0 : str_to_num( arg1 ) ) );
  694. }
  695. }
  696.  
  697. case GLOW:
  698. {
  699. for ( new i = 0; i < MAX_COLORS; i++ )
  700. {
  701. if ( equal( arg1, GlowInChat[ i ] ) )
  702. {
  703. fm_set_user_rendering( player,
  704. kRenderFxGlowShell,
  705. GlowColors[ i ][ 0 ],
  706. GlowColors[ i ][ 1 ],
  707. GlowColors[ i ][ 2 ],
  708. kRenderNormal,
  709. equal( arg2, "" ) ? 100 : str_to_num( arg2 )
  710. );
  711.  
  712. ColorChat( player, RED, "^4[ ^1%s ^4] ^1ADMIN:^4 %s^1 put^3 %s Glow^1 on you", Prefix, NameSz, GlowColorNames[ i ] );
  713. }
  714. }
  715. }
  716.  
  717. case FRIENDLY_FIRE:
  718. {
  719. set_cvar_num( "mp_friendlyfire", str_to_num( arg ) > 0 ? 1 : 0 );
  720.  
  721. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Friendly Fire^1 to:^3 %d", Prefix, get_cvar_num( "mp_friendlyfire" ) );
  722. }
  723.  
  724. case NOCLIP:
  725. {
  726. if ( player )
  727. {
  728. if ( is_user_alive( player ) )
  729. {
  730. fm_set_user_noclip( player, str_to_num( arg1 ) );
  731.  
  732. ColorChat( player, RED, "^4[ ^1%s ^4] ^1Your Noclip is now:^3 %s", Prefix, str_to_num( arg1 ) == 1 ? "On" : "Off" );
  733. }
  734.  
  735. else
  736. {
  737. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: This action could not perform on^4 dead client", Prefix );
  738. }
  739. }
  740. }
  741.  
  742. case GODMODE:
  743. {
  744. if ( player )
  745. {
  746. if ( is_user_alive( player ) )
  747. {
  748. fm_set_user_godmode( player, str_to_num( arg1 ) );
  749.  
  750. ColorChat( player, RED, "^4[ ^1%s ^4] ^1Your Godmode is now:^3 %s", Prefix, str_to_num( arg1 ) == 1 ? "On" : "Off" );
  751. }
  752.  
  753. else
  754. {
  755. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: This action could not perform on^4 Dead Client", Prefix );
  756. }
  757. }
  758. }
  759.  
  760. case HEAL:
  761. {
  762. new Health = str_to_num( arg1 );
  763.  
  764. if ( player )
  765. {
  766. if ( Health <= 0 )
  767. {
  768. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: Invalid amount of Health", Prefix );
  769. }
  770.  
  771. else
  772. {
  773. fm_set_user_health( player, get_user_health( player ) + str_to_num( arg1 ) );
  774. }
  775. }
  776. }
  777.  
  778.  
  779. case WEAPON:
  780. {
  781. new weapon = str_to_num( arg1 );
  782.  
  783. if ( player )
  784. {
  785. if ( weapon <= 0 )
  786. {
  787. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: Invalid Weapon", Prefix );
  788. }
  789.  
  790. else
  791. {
  792. give_weapon( player, weapon );
  793. }
  794. }
  795. }
  796.  
  797. case ALLTALK:
  798. {
  799. set_cvar_num( "sv_alltalk", str_to_num( arg ) > 0 ? 1 : 0 );
  800.  
  801. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 All Talk^1 to:^3 %d", Prefix, get_cvar_num( "sv_alltalk" ) );
  802. }
  803.  
  804. case BUY_TIME:
  805. {
  806. set_cvar_float( "mp_buytime", str_to_float( arg ) > 0.0 ? str_to_float( arg ) : 0.0 );
  807.  
  808. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Buy Time^1 to:^3 %.2f", Prefix, get_cvar_float( "mp_buytime" ) );
  809. }
  810.  
  811. case MONEY:
  812. {
  813. new Money = str_to_num( arg1 );
  814.  
  815. if ( player )
  816. {
  817. if ( Money <= 0 )
  818. {
  819. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: Invalid amount of Money", Prefix );
  820. }
  821.  
  822. else
  823. {
  824. fm_set_user_money( player, Money );
  825. }
  826. }
  827. }
  828.  
  829. case KICK:
  830. {
  831. client_cmd( client, "amx_kick %s", arg );
  832. }
  833.  
  834. case BAN:
  835. {
  836. client_cmd( client, "amx_ban %s %s %s", arg, arg1, arg2 );
  837. }
  838.  
  839. case AMXX_MENU:
  840. {
  841. client_cmd( client, "amxmodmenu" );
  842. }
  843.  
  844. case MAP_MENU:
  845. {
  846. client_cmd( client, "amx_mapmenu" );
  847. }
  848. case KICK_MENU:
  849. {
  850. client_cmd( client, "amx_kickmenu" );
  851. }
  852. case BAN_MENU:
  853. {
  854. client_cmd( client, "amx_banmenu" );
  855. }
  856. case SLAP_MENU:
  857. {
  858. client_cmd( client, "amx_slapmenu" );
  859. }
  860. case TEAM_MENU:
  861. {
  862. client_cmd( client, "amx_teammenu" );
  863. }
  864. case MAP_CHANGE:
  865. {
  866. client_cmd( client, "amx_map %s", arg );
  867. }
  868.  
  869. case MULTI_CVAR:
  870. {
  871. new multicvar[ 168 ];
  872.  
  873. for ( new i = strlen( cmd ); i < strlen( message ); i++ )
  874. {
  875. new num = i - strlen( cmd ) - 1 > 0 ? i - strlen( cmd ) - 1 : 0;
  876.  
  877. multicvar[ num ] = message[ i ];
  878. }
  879.  
  880. new cvar[ 32 ];
  881.  
  882. parse( multicvar, cvar, 31 );
  883.  
  884. if ( cvar_exists( cvar ) )
  885. {
  886. client_cmd( client, "amx_cvar %s", multicvar );
  887. }
  888.  
  889. else
  890. {
  891. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: Invalid Cvar.", Prefix );
  892. }
  893. }
  894.  
  895. case START_MONEY:
  896. {
  897. if ( str_to_num( arg ) >= 0 )
  898. {
  899. set_cvar_num( "mp_startmoney", str_to_num( arg ) );
  900.  
  901. ColorChat( client, RED, "^4[ ^1%s ^4] ^1You changed the^4 Start Money^1 to:^3 %d", Prefix, str_to_num( arg ) );
  902. }
  903. }
  904.  
  905. case PAUSE:
  906. {
  907. client_cmd( client, "amx_pause" );
  908. }
  909.  
  910. case RESTART:
  911. {
  912. if ( !task_exists( TASKID_RESTART ) )
  913. set_task( 0.5, "RestartSvr", TASKID_RESTART );
  914. }
  915.  
  916. case TELEPORT:
  917. {
  918.  
  919. {
  920. new Float:origin[ 3 ];
  921.  
  922. origin[ 0 ] = str_to_float( arg1 );
  923. origin[ 1 ] = str_to_float( arg2 );
  924. origin[ 2 ] = str_to_float( arg3 );
  925.  
  926. set_pev( player, pev_origin, origin );
  927. }
  928. }
  929.  
  930. case VOTEMAP:
  931. {
  932. client_cmd( client, "amx_votemap %s %s %s %s", arg, arg1, arg2, arg3 );
  933. }
  934.  
  935. case SPEED:
  936. {
  937. g_speed[ player ] = str_to_num( arg1 ) > 0 ? true : false;
  938.  
  939. EventCurWeapon( player );
  940. }
  941.  
  942. case UBERSLAP:
  943. {
  944. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  945. {
  946. new ids[ 2 ];
  947. ids[ 0 ] = player;
  948.  
  949. set_task( 0.1, "TaskSlap", 0, ids, 1, "a", 100 );
  950. }
  951. }
  952.  
  953. case DRUG:
  954. {
  955. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  956. {
  957. if ( is_user_alive( player ) )
  958. {
  959. if ( command == DRUG )
  960. {
  961. ColorChat( player, RED, "^4[ ^1%s ^4] ^1%d", Prefix, pev( player, pev_fov ) );
  962.  
  963. message_begin( MSG_ONE_UNRELIABLE, msgid_SetFOV, { 0, 0, 0 }, player ) ;
  964. write_byte( 180 );
  965. message_end( );
  966. }
  967. }
  968. }
  969. }
  970.  
  971. case FLASH:
  972. {  
  973. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  974. {
  975. if ( is_user_alive( player ) )
  976. {
  977. message_begin( MSG_ONE_UNRELIABLE, msgid_ScreenFade, { 0, 0, 0 }, player ) ;
  978. write_short( 1<<15 );
  979. write_short( 1<<10 );
  980. write_short( 1<<12 );
  981. write_byte( 255 );
  982. write_byte( 255 );
  983. write_byte( 255 );
  984. write_byte( 255 );
  985. message_end( );
  986.  
  987. emit_sound( player, CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH );
  988. }
  989. }
  990. }
  991.  
  992. case ROCKET:
  993. {
  994. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  995. {
  996. if ( is_user_alive( player ) )
  997. {
  998. emit_sound( player, CHAN_WEAPON, "weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM );
  999.  
  1000. engfunc( EngFunc_SetClientMaxspeed, player, 0.01 );
  1001. set_pev( player, pev_maxspeed, 0.01 );
  1002.  
  1003. set_task( 1.2, "rocket_liftoff", player );
  1004. }
  1005. }
  1006. }
  1007.  
  1008. case FIRE:
  1009. {
  1010. if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  1011. {
  1012. if ( is_user_alive( player ) )
  1013. {
  1014. new Index[ 2 ];
  1015. Index[0] = player;
  1016.  
  1017. onfire[ player ] = true;
  1018.  
  1019. ignite_effects( Index );
  1020. ignite_player( Index );
  1021. }
  1022. }
  1023. }
  1024. case GAG:
  1025. {
  1026.     client_cmd(client, "amx_gag %s %s %s", arg, arg1, arg2);
  1027. }
  1028. case UNGAG:
  1029. {
  1030.     client_cmd(client, "amx_ungag %s", arg);
  1031. }
  1032. case GAGMENU:
  1033. {
  1034.     client_cmd(client, "amx_gagmenu");
  1035. }
  1036. case STRIP:
  1037. {
  1038.     if ( !( get_user_flags( player ) & ADMIN_IMMUNITY ) || player == client )
  1039.     {
  1040.         if ( is_user_alive( player ) )
  1041.         {
  1042.             Strip_Weapons( player );
  1043.         }
  1044.     }
  1045. }
  1046. }
  1047.  
  1048. log_amx( "Admin %s Used %s Command [ !%s %s %s %s %s ]",
  1049. NameSz,
  1050. CommandsName[ command ],
  1051. CommandsInChat[ command ],
  1052. arg,
  1053. arg1,
  1054. arg2,
  1055. arg3
  1056. );
  1057. }
  1058.  
  1059. /* Rocket */
  1060.  
  1061. public rocket_liftoff( victim )
  1062. {
  1063. if ( !is_user_alive( victim ) )
  1064. return;
  1065.  
  1066. set_pev( victim, pev_gravity, -0.50 );
  1067.  
  1068. client_cmd( victim,"+jump;wait;wait;-jump" );
  1069.  
  1070. emit_sound( victim, CHAN_VOICE, "weapons/rocket1.wav", 1.0, 0.5, 0, PITCH_NORM );
  1071.  
  1072. rocket_effects( victim );
  1073. }
  1074.  
  1075. public rocket_effects( victim )
  1076. {
  1077. if ( !is_user_alive( victim ) )
  1078. return;
  1079.  
  1080. new vorigin[ 3 ];
  1081. get_user_origin( victim, vorigin );
  1082.  
  1083. message_begin( MSG_ONE, msgid_Damage, { 0, 0, 0 }, victim );
  1084. write_byte( 30 );
  1085. write_byte( 30 );
  1086. write_long( 1 << 16 );
  1087. write_coord( vorigin[ 0 ] );
  1088. write_coord( vorigin[ 1 ] );
  1089. write_coord( vorigin[ 2 ] );
  1090. message_end( );
  1091.  
  1092. if ( rocket_z[ victim ] == vorigin[ 2 ] )
  1093. {
  1094. rocket_explode( victim );
  1095. }
  1096.  
  1097. rocket_z[ victim ] = vorigin[ 2 ];
  1098.  
  1099. message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
  1100. write_byte( 15 );
  1101. write_coord( vorigin[ 0 ] );
  1102. write_coord( vorigin[ 1 ] );
  1103. write_coord( vorigin[ 2 ] );
  1104. write_coord( vorigin[ 0 ] );
  1105. write_coord( vorigin[ 1 ] );
  1106. write_coord( vorigin[ 2 ] - 30 );
  1107. write_short( blueflare2 );
  1108. write_byte( 5 );
  1109. write_byte( 1 );
  1110. write_byte( 1 );
  1111. write_byte( 10 );
  1112. write_byte( 5 );
  1113. message_end( );
  1114.  
  1115. message_begin( MSG_BROADCAST,SVC_TEMPENTITY);
  1116. write_byte( 17 );
  1117. write_coord(vorigin[0]);
  1118. write_coord(vorigin[1]);
  1119. write_coord(vorigin[2] - 30);
  1120. write_short( mflash );
  1121. write_byte( 15 );
  1122. write_byte( 255 );
  1123. message_end( );
  1124.  
  1125. set_task( 0.2, "rocket_effects", victim );
  1126. }
  1127.  
  1128. public rocket_explode( victim )
  1129. {
  1130. if ( is_user_alive( victim ) )
  1131. {
  1132. new vec1[ 3 ];
  1133. get_user_origin( victim, vec1 );
  1134.  
  1135. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, vec1);
  1136. write_byte( 21 );
  1137. write_coord( vec1[ 0 ] );
  1138. write_coord( vec1[ 1 ] );
  1139. write_coord( vec1[ 2 ] - 10 );
  1140. write_coord( vec1[ 0 ] );
  1141. write_coord( vec1[ 1 ] );
  1142. write_coord( vec1[ 2 ] + 1910 );
  1143. write_short( white );
  1144. write_byte( 0 );
  1145. write_byte( 0 );
  1146. write_byte( 2 );
  1147. write_byte( 16 );
  1148. write_byte( 0 );
  1149. write_byte( 188 );
  1150. write_byte( 220 );
  1151. write_byte( 255 );
  1152. write_byte( 255 );
  1153. write_byte( 0 );
  1154. message_end( );
  1155.  
  1156. message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
  1157. write_byte( 12 );
  1158. write_coord( vec1[ 0 ] );
  1159. write_coord( vec1[ 1 ] );
  1160. write_coord( vec1[ 2 ] );
  1161. write_byte( 188 );
  1162. write_byte( 10 );
  1163. message_end( );
  1164.  
  1165. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, vec1 );
  1166. write_byte( 5 );
  1167. write_coord( vec1[ 0 ] );
  1168. write_coord( vec1[ 1 ] );
  1169. write_coord( vec1[ 2 ] );
  1170. write_short( smoke );
  1171. write_byte( 2 );
  1172. write_byte( 10 );
  1173. message_end( );
  1174.  
  1175. user_kill( victim, 1 );
  1176. }
  1177.  
  1178. emit_sound( victim, CHAN_VOICE, "weapons/rocket1.wav", 0.0, 0.0, (1<<5), PITCH_NORM );
  1179.  
  1180. engfunc( EngFunc_SetClientMaxspeed, victim, 1.00 );
  1181.  
  1182. set_pev( victim, pev_maxspeed, 1.00 );
  1183. set_pev( victim, pev_gravity, 1.00 );
  1184. }
  1185.  
  1186. /* Fire */
  1187.  
  1188. public ignite_effects( skIndex[ ] )
  1189. {
  1190. new kIndex = skIndex[ 0 ];
  1191.  
  1192. if ( !( pev( kIndex, pev_flags ) & FL_INWATER ) )
  1193. {
  1194. if ( is_user_alive( kIndex ) && onfire[ kIndex ] )
  1195. {
  1196. new korigin[ 3 ];
  1197. get_user_origin( kIndex, korigin );
  1198.  
  1199. message_begin( MSG_BROADCAST, SVC_TEMPENTITY);
  1200. write_byte( 17 );
  1201. write_coord( korigin[ 0 ] );
  1202. write_coord( korigin[ 1 ] );
  1203. write_coord( korigin[ 2 ] );
  1204. write_short( mflash );
  1205. write_byte( 20 );
  1206. write_byte( 200 );
  1207. message_end( );
  1208.  
  1209. message_begin( MSG_BROADCAST, SVC_TEMPENTITY, korigin );
  1210. write_byte( 5 );
  1211. write_coord( korigin[ 0 ] );
  1212. write_coord( korigin[ 1 ] );
  1213. write_coord( korigin[ 2 ] );
  1214. write_short( smoke );
  1215. write_byte( 20 );
  1216. write_byte( 15 );
  1217. message_end( );
  1218.  
  1219. set_task( 0.2, "ignite_effects" , 0 , skIndex, 2 );
  1220. }
  1221.  
  1222. else
  1223. {
  1224. if( onfire[ kIndex ] )
  1225. {
  1226. emit_sound( kIndex, CHAN_AUTO, "scientist/scream21.wav", 0.6, ATTN_NORM, 0, PITCH_HIGH );
  1227.  
  1228. onfire[ kIndex ] = false;
  1229. }
  1230. }
  1231. }
  1232.  
  1233. else
  1234. {
  1235. onfire[ kIndex ] = false;
  1236. }
  1237.  
  1238. return PLUGIN_CONTINUE;
  1239. }
  1240.  
  1241. public ignite_player( skIndex[ ] )
  1242. {
  1243. new kIndex = skIndex[ 0 ];
  1244.  
  1245. if (is_user_alive(kIndex) && onfire[kIndex] )
  1246. {
  1247. new korigin[ 3 ];
  1248. new players[ 32 ], inum = 0;
  1249. new pOrigin[ 3 ];
  1250.  
  1251. new kHeath = get_user_health( kIndex );
  1252.  
  1253. get_user_origin( kIndex, korigin );
  1254.  
  1255. fm_set_user_health( kIndex, kHeath - 10 );
  1256.  
  1257. message_begin( MSG_ONE, msgid_Damage, { 0, 0, 0 }, kIndex );
  1258. write_byte( 30 );
  1259. write_byte( 30 );
  1260. write_long( 1 << 21 );
  1261. write_coord( korigin[ 0 ] );
  1262. write_coord( korigin[ 1 ] );
  1263. write_coord( korigin[ 2 ] );
  1264. message_end( );
  1265.  
  1266. emit_sound( kIndex, CHAN_ITEM, "ambience/flameburst1.wav", 0.6, ATTN_NORM, 0, PITCH_NORM );
  1267.  
  1268. if ( get_pcvar_num( CvarFireIginite ) )
  1269. {      
  1270. get_players( players, inum,"a" );
  1271.  
  1272. for( new i = 0 ; i < inum; ++i )
  1273. {                            
  1274. get_user_origin( players[ i ], pOrigin );
  1275.  
  1276. if( get_distance( korigin, pOrigin ) < 100 )
  1277. {
  1278. if( !onfire[ players[ i ] ] )
  1279. {
  1280. new spIndex[ 2 ] ;
  1281.  
  1282. spIndex[ 0 ] = players[ i ] ;
  1283.  
  1284. emit_sound( players[ i ], CHAN_WEAPON, "scientist/scream07.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH );
  1285.  
  1286. onfire[ players[ i ] ] = true;
  1287.  
  1288. ignite_player( spIndex );
  1289. ignite_effects( spIndex );
  1290. }                
  1291. }
  1292. }    
  1293.  
  1294. players[ 0 ] = 0;
  1295. pOrigin[ 0 ] = 0;              
  1296. korigin[ 0 ] = 0;    
  1297. }
  1298.  
  1299. set_task( 2.0, "ignite_player" , 0 , skIndex, 2 );
  1300. }    
  1301.  
  1302. return PLUGIN_CONTINUE;
  1303. }
  1304.  
  1305. /* Restart Server */
  1306.  
  1307. public RestartSvr( taskid )
  1308. {
  1309. server_cmd( "restart" );
  1310. }
  1311.  
  1312. /* UberSlap */
  1313. public TaskSlap( ids[ ] )
  1314. {
  1315. new client = ids[ 0 ];
  1316.  
  1317. user_slap( client, get_user_health( client ) > 1 ? 1 : 0 );
  1318. }
  1319.  
  1320. /* Events */
  1321.  
  1322. public EventCurWeapon( client )
  1323. {
  1324. if ( !is_user_connected( client ) || !is_user_alive( client ) )
  1325. return;
  1326.  
  1327. new Float:maxspeed;
  1328. pev( client, pev_maxspeed, maxspeed );
  1329.  
  1330. if( maxspeed != 1.0 )
  1331. {
  1332. if( g_speed[ client ] )
  1333. {
  1334. maxspeed *= 3.0;
  1335. }
  1336.  
  1337. else if( !g_freezetime )
  1338. {
  1339. switch( read_data( 2 ) )
  1340. {
  1341. case CSW_SCOUT:                 maxspeed = 260.0;
  1342. case CSW_P90:                   maxspeed = 245.0;
  1343. case CSW_XM1014,CSW_AUG,CSW_GALIL,CSW_FAMAS:    maxspeed = 240.0;
  1344. case CSW_SG552 :                maxspeed = 235.0;
  1345. case CSW_M3,CSW_M4A1 :              maxspeed = 230.0;
  1346. case CSW_AK47 :                 maxspeed = 221.0;
  1347. case CSW_M249 :                     maxspeed = 220.0;
  1348. case CSW_AWP,CSW_SG550,CSW_G3SG1 :      maxspeed = 210.0;
  1349. default :                   maxspeed = 250.0;
  1350. }
  1351. }
  1352.  
  1353. set_pev( client, pev_maxspeed, maxspeed );
  1354. }
  1355. }
  1356.  
  1357. public EventNewRound( )
  1358. {
  1359. g_freezetime = true;
  1360. }
  1361.  
  1362. public LogEventNewRound( )
  1363. {
  1364. g_freezetime = false;
  1365. }
  1366.  
  1367. /* Help MOTD */
  1368. /*
  1369. public ShowMOTD( client, first, last )
  1370. {
  1371. new buffer[ 1536  ];
  1372.  
  1373. new len = formatex(buffer, sizeof( buffer ) - 1, "<body bgcolor=#FFFFFF><table width=100%% cellpadding=2 cellspacing=0>");
  1374. len += formatex(buffer[len], sizeof( buffer ) - 1 - len, "<tr  align=center bgcolor=#52697B><th width=5%%> # <th width=20%%> Command <th width=20%%> Discription");
  1375.  
  1376. for (new i = first; i < last; i++ )
  1377. {      
  1378. len += formatex( buffer[ len ], sizeof( buffer ) - 1 - len, "<tr align=center%s><td> %d <td> !%s <td> %s", ( ( i % 2 ) == 0 ) ? "" : " bgcolor=#A4BED6", i + 1, CommandsInChat[ i ], CommandsName[ i ] );
  1379. }
  1380.  
  1381. new info[ 21 ];
  1382.  
  1383. formatex( info, 20, "Amxx Cmd Advanced" );
  1384.  
  1385. show_motd( client, buffer, info );
  1386. }
  1387. */
  1388. /* Stocks */
  1389.  
  1390. stock fm_set_user_team(client, team)
  1391. {
  1392. set_pdata_int( client, 114, team );
  1393.  
  1394. static const TeamInfo[ Teams ][] =
  1395. {
  1396. "UNASSIGNED",
  1397. "TERRORIST",
  1398. "CT",
  1399. "SPECTATOR"
  1400. };
  1401.  
  1402. message_begin( MSG_ALL, get_user_msgid( "TeamInfo" ) ) ;
  1403. write_byte( client );
  1404. write_string( TeamInfo[ team ] );
  1405. message_end( );
  1406. }
  1407.  
  1408. stock fm_get_user_team( client )
  1409. {
  1410. return get_pdata_int( client, 114 );
  1411. }
  1412.  
  1413. stock fm_DispatchSpawn( client ) /* Fixed One */
  1414. {
  1415. if ( !is_user_connected( client ) || !pev_valid( client )
  1416. || fm_get_user_team( client ) == FM_TEAM_UNASSIGNED )
  1417. {
  1418. return 0;
  1419. }
  1420.  
  1421. user_silentkill( client );
  1422.  
  1423. set_pev( client, pev_deadflag, DEAD_RESPAWNABLE );
  1424. dllfunc( DLLFunc_Think, client );
  1425.  
  1426. dllfunc( DLLFunc_Spawn, client );
  1427.  
  1428. return 1;
  1429. }
  1430.  
  1431. stock fm_set_user_health( client, health)
  1432. {
  1433. health > 0 ? set_pev( client, pev_health, float( health ) ) : dllfunc( DLLFunc_ClientKill, client );
  1434.  
  1435. return 1;
  1436. }
  1437.  
  1438. stock fm_set_user_rendering( client, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 )
  1439. {
  1440. new Float:RenderColor[ 3 ];
  1441.  
  1442. RenderColor[ 0 ] = float( r );
  1443. RenderColor[ 1 ] = float( g );
  1444. RenderColor[ 2 ] = float( b );
  1445.  
  1446. set_pev( client, pev_renderfx, fx );
  1447. set_pev( client, pev_rendercolor, RenderColor );
  1448. set_pev( client, pev_rendermode, render );
  1449. set_pev( client, pev_renderamt, float( amount ) );
  1450.  
  1451. return 1;
  1452. }
  1453.  
  1454. stock fm_set_user_noclip( client, noclip = 0 )
  1455. {
  1456. set_pev( client, pev_movetype, noclip == 1 ? MOVETYPE_NOCLIP : MOVETYPE_WALK );
  1457.  
  1458. return 1;
  1459. }
  1460.  
  1461. stock fm_set_user_godmode( client, godmode = 0 )
  1462. {
  1463. set_pev( client, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM );
  1464.  
  1465. return 1;
  1466. }
  1467.  
  1468. stock give_weapon( id, weapon )
  1469. {
  1470. switch ( weapon )
  1471. {
  1472. case 1:
  1473. {
  1474. fm_give_item(id,weapons[WEAPON_KNIFE]);
  1475. }
  1476.  
  1477. case 11:
  1478. {
  1479. fm_give_item(id,weapons[WEAPON_GLOCK18]);
  1480. fm_give_item_x(id,"ammo_9mm",8);
  1481. }
  1482.  
  1483. case 12:
  1484. {
  1485. fm_give_item(id,weapons[WEAPON_USP]);
  1486. fm_give_item_x(id,"ammo_45acp",9);
  1487. }
  1488.  
  1489. case 13:
  1490. {
  1491. fm_give_item(id,weapons[WEAPON_P228]);
  1492. fm_give_item_x(id,"ammo_357sig",6);
  1493. }
  1494.  
  1495. case 14:
  1496. {
  1497. fm_give_item(id,weapons[WEAPON_DEAGLE]);
  1498. fm_give_item_x(id,"ammo_50ae",7);
  1499. }
  1500.  
  1501. case 15:
  1502. {
  1503. fm_give_item(id,weapons[WEAPON_FIVESEVEN]);
  1504. fm_give_item_x(id,"ammo_57mm",4);
  1505. }
  1506.  
  1507. case 16:
  1508. {
  1509. fm_give_item(id,weapons[WEAPON_ELITE]);
  1510. fm_give_item_x(id,"ammo_9mm",8);
  1511. }
  1512.  
  1513. case 17:
  1514. {
  1515. give_weapon(id,11);
  1516. give_weapon(id,12);
  1517. give_weapon(id,13);
  1518. give_weapon(id,14);
  1519. give_weapon(id,15);
  1520. give_weapon(id,16);
  1521. }
  1522.  
  1523. case 21:
  1524. {
  1525. fm_give_item(id,weapons[WEAPON_M3]);
  1526. fm_give_item_x(id,"ammo_buckshot",4);
  1527. }
  1528.  
  1529. case 22:
  1530. {
  1531. fm_give_item(id,weapons[WEAPON_XM1014]);
  1532. fm_give_item_x(id,"ammo_buckshot",4);
  1533. }
  1534.  
  1535. case 31:
  1536. {
  1537. fm_give_item(id,weapons[WEAPON_TMP]);
  1538. fm_give_item_x(id,"ammo_9mm",8);
  1539. }
  1540.  
  1541. case 32:
  1542. {
  1543. fm_give_item(id,weapons[WEAPON_MAC10]);
  1544. fm_give_item_x(id,"ammo_45acp",9);
  1545. }
  1546.  
  1547. case 33:
  1548. {
  1549. fm_give_item(id,weapons[WEAPON_MP5NAVY]);
  1550. fm_give_item_x(id,"ammo_9mm",8);
  1551. }
  1552.  
  1553. case 34:
  1554. {
  1555. fm_give_item(id,weapons[WEAPON_P90]);
  1556. fm_give_item_x(id,"ammo_57mm",4);
  1557. }
  1558.  
  1559. case 35:
  1560. {
  1561. fm_give_item(id,weapons[WEAPON_UMP45]);
  1562. fm_give_item_x(id,"ammo_45acp",9);
  1563. }
  1564.  
  1565. case 40:
  1566. {
  1567. fm_give_item(id,weapons[WEAPON_FAMAS]);
  1568. fm_give_item_x(id,"ammo_556nato",3);
  1569. }
  1570.  
  1571. case 41:
  1572. {
  1573. fm_give_item(id,weapons[WEAPON_GALIL]);
  1574. fm_give_item_x(id,"ammo_556nato",3);
  1575. }
  1576.  
  1577. case 42:
  1578. {
  1579. fm_give_item(id,weapons[WEAPON_AK47]);
  1580. fm_give_item_x(id,"ammo_762nato",3);
  1581. }
  1582.  
  1583. case 43:
  1584. {
  1585. fm_give_item(id,weapons[WEAPON_M4A1]);
  1586. fm_give_item_x(id,"ammo_556nato",3);
  1587. }
  1588.  
  1589. case 44:
  1590. {
  1591. fm_give_item(id,weapons[WEAPON_SG552]);
  1592. fm_give_item_x(id,"ammo_556nato",3);
  1593. }
  1594.  
  1595. case 45:
  1596. {
  1597. fm_give_item(id,weapons[WEAPON_AUG]);
  1598. fm_give_item_x(id,"ammo_556nato",3);
  1599. }
  1600.  
  1601. case 46:
  1602. {
  1603. fm_give_item(id,weapons[WEAPON_SCOUT]);
  1604. fm_give_item_x(id,"ammo_762nato",3);
  1605. }
  1606.  
  1607. case 47:
  1608. {
  1609. fm_give_item(id,weapons[WEAPON_SG550]);
  1610. fm_give_item_x(id,"ammo_556nato",3);
  1611. }
  1612.  
  1613. case 48:
  1614. {
  1615. fm_give_item(id,weapons[WEAPON_AWP]);
  1616. fm_give_item_x(id,"ammo_338magnum",3);
  1617. }
  1618.  
  1619. case 49:
  1620. {
  1621. fm_give_item(id,weapons[WEAPON_G3SG1]);
  1622. fm_give_item_x(id,"ammo_762nato",3);
  1623. }
  1624.  
  1625. case 51:
  1626. {
  1627. fm_give_item(id,weapons[WEAPON_M249]) ;
  1628. fm_give_item_x(id,"ammo_556natobox",7);
  1629. }
  1630.  
  1631. case 60:
  1632. {
  1633. fm_give_item(id,weapons[WEAPON_SHIELD]);
  1634. fm_give_item(id,weapons[WEAPON_GLOCK18]);
  1635. fm_give_item_x(id,"ammo_9mm",8);
  1636. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1637. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1638. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1639. fm_give_item(id,weapons[ITEM_ASSAULTSUIT]);
  1640. }
  1641.  
  1642. case 61:
  1643. {
  1644. fm_give_item(id,weapons[WEAPON_SHIELD]);
  1645. fm_give_item(id,weapons[WEAPON_USP]);
  1646. fm_give_item_x(id,"ammo_45acp",9);
  1647. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1648. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1649. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1650. fm_give_item(id,weapons[ITEM_ASSAULTSUIT]);
  1651. }
  1652.  
  1653. case 62:
  1654. {
  1655. fm_give_item(id,weapons[WEAPON_SHIELD]);
  1656. fm_give_item(id,weapons[WEAPON_P228]);
  1657. fm_give_item_x(id,"ammo_357sig",6);
  1658. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1659. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1660. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1661. fm_give_item(id,weapons[ITEM_ASSAULTSUIT]);
  1662. }
  1663.  
  1664. case 63:
  1665. {
  1666. fm_give_item(id,weapons[WEAPON_SHIELD]);
  1667. fm_give_item(id,weapons[WEAPON_DEAGLE]);
  1668. fm_give_item_x(id,"ammo_50ae",7);
  1669. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1670. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1671. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1672. fm_give_item(id,weapons[ITEM_ASSAULTSUIT]);
  1673. }
  1674.  
  1675. case 64:
  1676. {
  1677. fm_give_item(id,weapons[WEAPON_SHIELD]);
  1678. fm_give_item(id,weapons[WEAPON_FIVESEVEN]);
  1679. fm_give_item_x(id,"ammo_57mm",4);
  1680. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1681. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1682. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1683. fm_give_item(id,weapons[ITEM_ASSAULTSUIT]);
  1684. }
  1685.  
  1686. case 81:
  1687. {
  1688. fm_give_item(id,weapons[ITEM_KEVLAR]);
  1689. }
  1690.  
  1691. case 82:
  1692. {
  1693. fm_give_item(id,weapons[ITEM_ASSAULTSUIT]);
  1694. }
  1695.  
  1696. case 83:
  1697. {
  1698. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1699. }
  1700.  
  1701. case 84:
  1702. {
  1703. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1704. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1705. }
  1706.  
  1707. case 85:
  1708. {
  1709. fm_give_item(id,weapons[WEAPON_SMOKEGRENADE]);
  1710. }
  1711.  
  1712. case 86:
  1713. {
  1714. fm_give_item(id,weapons[ITEM_THIGHPACK]);
  1715. }
  1716.  
  1717. case 87:
  1718. {
  1719. fm_give_item(id,weapons[WEAPON_SHIELD]);
  1720. }
  1721.  
  1722. case 88:
  1723. {
  1724. fm_give_item_x(id,"ammo_45acp",9);
  1725. fm_give_item_x(id,"ammo_357sig",6);
  1726. fm_give_item_x(id,"ammo_9mm",8);
  1727. fm_give_item_x(id,"ammo_50ae",7);
  1728. fm_give_item_x(id,"ammo_57mm",4);
  1729. fm_give_item_x(id,"ammo_buckshot",4);
  1730. fm_give_item_x(id,"ammo_556nato",3);
  1731. fm_give_item_x(id,"ammo_762nato",3);
  1732. fm_give_item_x(id,"ammo_338magnum",3);
  1733. fm_give_item_x(id,"ammo_556natobox",7);
  1734. }
  1735.  
  1736. case 89:
  1737. {
  1738. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1739. fm_give_item(id,weapons[WEAPON_SMOKEGRENADE]);
  1740. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1741. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1742. }
  1743.  
  1744. case 91:
  1745. {
  1746. fm_give_item(id,weapons[WEAPON_C4]);
  1747. }
  1748.  
  1749. case 100:
  1750. {
  1751. fm_give_item(id,weapons[WEAPON_AWP]);
  1752. fm_give_item(id,weapons[WEAPON_DEAGLE]);
  1753. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1754. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1755. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1756. fm_give_item(id,weapons[WEAPON_SMOKEGRENADE]);
  1757. fm_give_item_x(id,"ammo_338magnum",3);
  1758. fm_give_item_x(id,"ammo_50ae",7);
  1759. fm_give_item(id,weapons[ITEM_ASSAULTSUIT]);
  1760. }
  1761.  
  1762. case 200:
  1763. {
  1764. fm_give_item(id,weapons[WEAPON_USP]);
  1765. fm_give_item(id,weapons[WEAPON_GLOCK18]);
  1766. fm_give_item(id,weapons[WEAPON_DEAGLE]);
  1767. fm_give_item(id,weapons[WEAPON_P228]);
  1768. fm_give_item(id,weapons[WEAPON_ELITE]);
  1769. fm_give_item(id,weapons[WEAPON_FIVESEVEN]);
  1770. fm_give_item(id,weapons[WEAPON_M3]);
  1771. fm_give_item(id,weapons[WEAPON_XM1014]);
  1772. fm_give_item(id,weapons[WEAPON_TMP]);
  1773. fm_give_item(id,weapons[WEAPON_MAC10]);
  1774. fm_give_item(id,weapons[WEAPON_MP5NAVY]);
  1775. fm_give_item(id,weapons[WEAPON_P90]);
  1776. fm_give_item(id,weapons[WEAPON_UMP45]);
  1777. fm_give_item(id,weapons[WEAPON_FAMAS]);
  1778. fm_give_item(id,weapons[WEAPON_GALIL]);
  1779. fm_give_item(id,weapons[WEAPON_AK47]);
  1780. fm_give_item(id,weapons[WEAPON_M4A1]);
  1781. fm_give_item(id,weapons[WEAPON_SG552]);
  1782. fm_give_item(id,weapons[WEAPON_AUG]);
  1783. fm_give_item(id,weapons[WEAPON_SCOUT]);
  1784. fm_give_item(id,weapons[WEAPON_SG550]);
  1785. fm_give_item(id,weapons[WEAPON_AWP]);
  1786. fm_give_item(id,weapons[WEAPON_G3SG1]);
  1787. fm_give_item(id,weapons[WEAPON_M249]);
  1788. fm_give_item_x(id,"ammo_45acp",9);
  1789. fm_give_item_x(id,"ammo_357sig",6);
  1790. fm_give_item_x(id,"ammo_9mm",8);
  1791. fm_give_item_x(id,"ammo_50ae",7);
  1792. fm_give_item_x(id,"ammo_57mm",4);
  1793. fm_give_item_x(id,"ammo_buckshot",4);
  1794. fm_give_item_x(id,"ammo_556nato",3);
  1795. fm_give_item_x(id,"ammo_762nato",3);
  1796. fm_give_item_x(id,"ammo_338magnum",3);
  1797. fm_give_item_x(id,"ammo_556natobox",7);
  1798. fm_give_item(id,weapons[WEAPON_HEGRENADE]);
  1799. fm_give_item(id,weapons[WEAPON_SMOKEGRENADE]);
  1800. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1801. fm_give_item(id,weapons[WEAPON_FLASHBANG]);
  1802. }
  1803.  
  1804. default:
  1805. {
  1806. return false;
  1807. }
  1808. }
  1809.  
  1810. return true;
  1811. }
  1812.  
  1813. stock fm_give_item_x( client, const item[], x )
  1814. {
  1815. for ( new i = 0; i <= x; i++ )
  1816. {
  1817. fm_give_item( client, item );
  1818. }
  1819. }
  1820.  
  1821. stock fm_give_item( client, const item[] )
  1822. {
  1823. if ( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 )
  1824. && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) )
  1825. return 0;
  1826.  
  1827. new ent = fm_create_entity( item );
  1828.  
  1829. if ( !pev_valid( ent ) )
  1830. return 0;
  1831.  
  1832. new Float:origin[3];
  1833.  
  1834. pev( client, pev_origin, origin );
  1835.  
  1836. set_pev( ent, pev_origin, origin );
  1837. set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN );
  1838.  
  1839. dllfunc( DLLFunc_Spawn, ent );
  1840.  
  1841. new save = pev( ent, pev_solid );
  1842.  
  1843. dllfunc( DLLFunc_Touch, ent, client );
  1844.  
  1845. if ( pev( ent, pev_solid ) != save )
  1846. return ent;
  1847.  
  1848. engfunc( EngFunc_RemoveEntity, ent );
  1849.  
  1850. return -1;
  1851. }
  1852.  
  1853. stock fm_create_entity( const classname[] )
  1854. {
  1855. return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) );
  1856. }
  1857.  
  1858. stock cmd_target( client, const arg[], const arg1[], command )
  1859. {
  1860. if ( !equal( arg1, "" )
  1861. || command == T_TRANSFER
  1862. || command == CT_TRANSFER
  1863. || command == SPEC_TRANSFER
  1864. || command == REVIVE
  1865. || command == BURY
  1866. || command == UNBURY
  1867. || command == SLAY
  1868. || command == SLAP
  1869. || command == UBERSLAP
  1870. || command == DRUG
  1871. || command == FLASH
  1872. || command == ROCKET
  1873. || command == FIRE
  1874. || command == STRIP
  1875. )
  1876. {
  1877. new player = find_player( "bl",arg );
  1878.  
  1879. if ( player )
  1880. {
  1881. if ( player != find_player( "blj",arg ) )
  1882. {
  1883. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: There are more than^4 1 ^1Player with that name", Prefix );
  1884.  
  1885. return 0;
  1886. }
  1887. }
  1888.  
  1889. else if ( ( player = find_player( "c",arg ) ) ==0 && arg[ 0 ] == '#' && arg[ 1 ] )
  1890. {
  1891. player = find_player( "k",str_to_num( arg[ 1 ] ) );
  1892. }
  1893.  
  1894. if ( !player )
  1895. {
  1896. ColorChat( client, RED, "^4[ ^1%s ^4] ^3Error^1: There is no such a player", Prefix );
  1897.  
  1898. return 0;
  1899. }
  1900.  
  1901. return player;
  1902. }
  1903. return 0;
  1904. }
  1905.  
  1906. stock Strip_Weapons( index )
  1907. {
  1908.     new ent = fm_create_entity( "player_weaponstrip ");
  1909.     if ( !pev_valid( ent ))
  1910.         return 0;
  1911.  
  1912.     dllfunc( DLLFunc_Spawn, ent );
  1913.     dllfunc( DLLFunc_Use, ent, index );
  1914.     engfunc( EngFunc_RemoveEntity, ent );
  1915.  
  1916.     return 1;
  1917. }
  1918.  
  1919. stock fm_set_user_money( client, money, flash = 0 )
  1920. {
  1921. new CSMONEY;
  1922.  
  1923. #if cellbits == 32
  1924. CSMONEY = 115;
  1925. #else
  1926. CSMONEY = 140;
  1927. #endif
  1928.  
  1929. set_pdata_int( client, CSMONEY, money, 5 );
  1930.  
  1931. message_begin( MSG_ONE,get_user_msgid( "Money" ), { 0, 0, 0 }, client );
  1932. write_long( money );
  1933. write_byte( flash );
  1934. message_end( );
  1935. }
  1936.  
  1937. stock fm_set_user_model( const client, const model[] )
  1938. {
  1939. engfunc( EngFunc_SetClientKeyValue, client, engfunc( EngFunc_GetInfoKeyBuffer, client ), "model", model );
  1940. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement