Advertisement
DecaK

Untitled

Feb 20th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.06 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fun>
  3. #include <cstrike>
  4. #include <hamsandwich>
  5. #include <fakemeta>
  6. #include <engine>
  7.  
  8. new const VERSION[] = "1.0";
  9. #define FROST_RADIUS 240.0
  10. #define FROST_R 0
  11. #define FROST_G 206
  12. #define FROST_B 209
  13. #define MAX_DISTANCE 100.0
  14. #define MAX_DAMAGE 25.0
  15.  
  16. new has_used[33];
  17. new Float:g_TotemPoleDelay[33];
  18.  
  19. #define is_user(%1) (1 <= %1 <= maxPlayers)
  20.  
  21. new const g_vipflag = ADMIN_LEVEL_D
  22. new bool:blockrevive[33], opens[33], u_knife[33], blockopens[33], blockspechmenu[33], knifespeed[33], blockknife[33], blocklight[33], blocklov[33], traps[33]
  23. new block,hp,armor,speed,gravity,money, blockspech, exploSpr, blocklights, blocklovy, g_lighton
  24. new maxPlayers, g_ScreenFade;
  25.  
  26. public plugin_init()
  27. {
  28. register_plugin("SuperVIP Menu", "3.0", "Crash94")
  29. register_logevent("event_new_round", 2, "1=Round_Start")
  30. register_clcmd("vip_menu_zona", "open_vipmenu")
  31. register_clcmd("say /svipmenu", "open_vipmenu")
  32. register_clcmd("say /svips", "ShowVipsOnline", ADMIN_ALL, "Show Vips Online");
  33.  
  34. block = register_cvar( "jb_vipmenu_blockopens", "10" )
  35. blockspech = register_cvar( "jb_vipmenu_blockspech", "5" )
  36. blocklights = register_cvar( "jb_vipmenu_blocklight", "15" )
  37. blocklovy = register_cvar( "jb_vipmenu_blocklovyshka", "10" )
  38. hp = register_cvar( "jb_vipmenu_hp", "170" )
  39. armor = register_cvar( "jb_vipmenu_armor", "130" )
  40. speed = register_cvar( "jb_vipmenu_speed", "500.0" )
  41. gravity = register_cvar( "jb_vipmenu_gravity", "0.4" )
  42. money = register_cvar( "jb_vipmenu_money", "16000" )
  43.  
  44. RegisterHam(Ham_TraceAttack, "func_door_rotating", "open_door")
  45. RegisterHam(Ham_TraceAttack, "func_door", "open_door")
  46. register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
  47. register_event("CurWeapon","switchweapon","be","1=1","2!29")
  48. register_forward(FM_EmitSound, "fw_EmitSound")
  49. RegisterHam(Ham_Spawn, "player", "Spawn_player", 1)
  50. RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage")
  51. register_event("ResetHUD","ResetHUD","abe")
  52.  
  53. register_message( get_user_msgid( "ScoreAttrib" ), "VipStatus" );
  54. g_ScreenFade = get_user_msgid("ScreenFade");
  55.  
  56. register_dictionary( "vipmenu.txt" );
  57.  
  58. maxPlayers = get_maxplayers();
  59. }
  60.  
  61. public event_new_round() arrayset(has_used, 0, 33)
  62.  
  63. public Spawn_player(id)
  64. {
  65. if(is_user_alive(id) && is_user_connected(id))
  66. {
  67. blockrevive[id] = false;
  68. blockknife[id] = false;
  69. --blockspechmenu[id]
  70. --blockopens[id]
  71. --blocklight[id]
  72. --blocklov[id]
  73. u_knife[id] = 0
  74. }
  75. }
  76.  
  77. public plugin_precache()
  78. {
  79. precache_model("models/Eclipse_SVIP/v_kata.mdl")
  80. precache_model("models/Eclipse_SVIP/v_fire_knife.mdl")
  81. precache_model("models/Eclipse_SVIP/v_warhammer.mdl")
  82. precache_model("models/Eclipse_SVIP/v_stik.mdl")
  83. precache_model("models/Eclipse_SVIP/v_wolwerine.mdl")
  84. precache_model("models/Eclipse_SVIP/v_sword.mdl")
  85. precache_model("models/Eclipse_SVIP/p_kata.mdl")
  86. precache_model("models/Eclipse_SVIP/p_fire_knife.mdl")
  87. precache_model("models/JbVipMenu/trap/trap.mdl")
  88.  
  89. precache_sound( "JbVipMenu/hammer/knife_slash1_off.wav" )
  90. precache_sound( "JbVipMenu/hammer/hit2.wav" )
  91. precache_sound( "JbVipMenu/hammer/hit1.wav" )
  92. precache_sound( "JbVipMenu/hammer/knifedeploy.wav" )
  93. precache_sound( "JbVipMenu/hammer/knife_stab123.wav" )
  94.  
  95. precache_sound( "JbVipMenu/strong/knife_slash1.wav" )
  96. precache_sound( "JbVipMenu/strong/knife_hit1.wav" )
  97. precache_sound( "JbVipMenu/strong/knife_hit2.wav" )
  98. precache_sound( "JbVipMenu/strong/knife_stab.wav" )
  99. precache_sound( "JbVipMenu/strong/knife_deploy1.wav" )
  100. precache_sound( "JbVipMenu/strong/frostnova.wav" )
  101.  
  102. precache_sound( "JbVipMenu/axe/knife_slash1.wav" )
  103. precache_sound( "JbVipMenu/axe/knife_hit1.wav" )
  104. precache_sound( "JbVipMenu/axe/knife_hit2.wav")
  105. precache_sound( "JbVipMenu/axe/knife_stab.wav" )
  106. precache_sound( "JbVipMenu/axe/knife_deploy1.wav" )
  107.  
  108. precache_sound( "JbVipMenu/m9co/knife_slash1.wav" )
  109. precache_sound( "JbVipMenu/m9co/knife_hit1.wav" )
  110. precache_sound( "JbVipMenu/m9co/knife_hit2.wav" )
  111. precache_sound( "JbVipMenu/m9co/knife_stab.wav" )
  112. precache_sound( "JbVipMenu/m9co/knife_deploy1.wav" )
  113.  
  114. precache_sound( "JbVipMenu/Skull/knife_wall.wav" )
  115. precache_sound( "JbVipMenu/Skull/knife_draw.wav" )
  116. precache_sound( "JbVipMenu/Skull/knife_hit.wav" )
  117. precache_sound( "JbVipMenu/Skull/knife_hit.wav" )
  118. precache_sound( "JbVipMenu/Skull/knife_miss.wav" )
  119. precache_sound( "JbVipMenu/trap/trap.wav" )
  120.  
  121. exploSpr = precache_model("sprites/shockwave.spr");
  122. }
  123.  
  124. stock ChatColor(const id, const input[], any:...)
  125. {
  126. new count = 1, players[32]
  127. static msg[191]
  128. vformat(msg, 190, input, 3)
  129.  
  130. replace_all(msg, 190, "!g", "^4")
  131. replace_all(msg, 190, "!y", "^1")
  132. replace_all(msg, 190, "!team", "^3")
  133.  
  134. if (id) players[0] = id; else get_players(players, count, "ch")
  135. {
  136. for (new i = 0; i < count; i++)
  137. {
  138. if (is_user_connected(players[i]))
  139. {
  140. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  141. write_byte(players[i]);
  142. write_string(msg);
  143. message_end();
  144. }
  145. }
  146. }
  147. }
  148.  
  149. public ResetHUD(id)
  150. {
  151. knifeblock(id)
  152. return PLUGIN_CONTINUE
  153. }
  154.  
  155. public knifeblock(id)
  156. {
  157. new ts;
  158. for(new i = 0; i <= get_maxplayers(); i++)
  159. if(is_user_alive(i) && get_user_team(i) == 1)
  160. ts++;
  161. if(ts == 1)
  162. {
  163. u_knife[id] = 0
  164. }
  165. return PLUGIN_CONTINUE
  166. }
  167.  
  168. bool:is_user_vip(id)
  169. {
  170. if(id < 0 || id > 32)
  171. return false
  172.  
  173. if( !(get_user_flags(id) & g_vipflag) )
  174. return false
  175.  
  176. return true
  177. }
  178.  
  179. public Event_CurWeapon(player)
  180. {
  181. if(!u_knife[player])
  182. return PLUGIN_CONTINUE
  183.  
  184. if(!is_user_vip(player) || !is_user_alive(player))
  185. return PLUGIN_CONTINUE
  186.  
  187. if(read_data(2) == CSW_KNIFE && u_knife[player] == 1)
  188. {
  189. set_pev(player, pev_viewmodel2, "models/Eclipse_SVIP/v_fire_knife.mdl")
  190. set_pev(player, pev_weaponmodel2, "models/Eclipse_SVIP/p_fire_knife.mdl")
  191. }
  192.  
  193. if(read_data(2) == CSW_KNIFE && u_knife[player] == 2)
  194. {
  195. set_pev(player, pev_viewmodel2, "models/Eclipse_SVIP/v_kata.mdl")
  196. set_pev(player, pev_weaponmodel2, "models/Eclipse_SVIP/p_kata.mdl")
  197. }
  198.  
  199. if(read_data(2) == CSW_KNIFE && u_knife[player] == 3)
  200. {
  201. set_pev(player, pev_viewmodel2, "models/Eclipse_SVIP/v_warhammer.mdl")
  202. }
  203.  
  204. if(read_data(2) == CSW_KNIFE && u_knife[player] == 4)
  205. {
  206. set_pev(player, pev_viewmodel2, "models/Eclipse_SVIP/v_stik.mdl")
  207. }
  208.  
  209. if(read_data(2) == CSW_KNIFE && u_knife[player] == 5)
  210. {
  211. set_pev(player, pev_viewmodel2, "models/Eclipse_SVIP/v_wolwerine.mdl")
  212. }
  213.  
  214.  
  215. if(read_data(2) == CSW_KNIFE && u_knife[player] == 6)
  216. {
  217. set_pev(player, pev_viewmodel2, "models/Eclipse_SVIP/v_sword.mdl")
  218. }
  219.  
  220. return PLUGIN_CONTINUE
  221. }
  222.  
  223. public open_vipmenu(id)
  224. {
  225.  
  226. if(!is_user_vip(id))
  227. {
  228. ChatColor(id, "%L",0,"NO_ASSES")
  229. return PLUGIN_HANDLED
  230. }
  231. if(has_used[id] > 1) return PLUGIN_HANDLED;
  232. new szText[ 555 char ];
  233.  
  234. formatex( szText, charsmax( szText ), "\y--\r>|\yEclipse JailBreak\r|\r>\w--- \w| \r[SuperVIP Meni]", id, "MAIN_MENU_TITLE");
  235.  
  236. new menu = menu_create( szText, "vipmenu_handler" );
  237.  
  238. formatex( szText, charsmax( szText ), "Nozevi", id, "ITEM_1" );
  239. menu_additem( menu, szText, "1", 0 );
  240.  
  241. formatex( szText, charsmax( szText ), "HP Paket", id, "ITEM_4" );
  242. menu_additem( menu, szText, "2", 0 );
  243.  
  244. formatex( szText, charsmax( szText ), "Droga", id, "ITEM_5" );
  245. menu_additem( menu, szText, "3", 0 );
  246.  
  247. formatex( szText, charsmax( szText ), "Bombe Paket", id, "ITEM_6" );
  248. menu_additem( menu, szText, "4", 0 );
  249.  
  250. formatex( szText, charsmax( szText ), "Gravity", id, "ITEM_7" );
  251. menu_additem( menu, szText, "5", 0 );
  252.  
  253. formatex( szText, charsmax( szText ), "Municija", id, "ITEM_8" );
  254. menu_additem( menu, szText, "6", 0 );
  255.  
  256.  
  257. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  258. menu_setprop( menu, MPROP_NEXTNAME, "Dalje")
  259. menu_setprop( menu, MPROP_BACKNAME, "Nazad")
  260. menu_setprop( menu, MPROP_EXITNAME, "Izlaz")
  261.  
  262. menu_display( id, menu, 0 );
  263.  
  264. return PLUGIN_HANDLED_MAIN
  265. }
  266.  
  267. public vipmenu_handler( id, menu, item )
  268. {
  269. if( item == MENU_EXIT )
  270. {
  271. menu_destroy( menu );
  272. return PLUGIN_HANDLED;
  273. }
  274.  
  275. new data[ 6 ], iName[ 64 ], access, callback;
  276. menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
  277. has_used[id]++
  278. new key = str_to_num( data );
  279.  
  280. switch( key )
  281. {
  282. case 1:
  283. {
  284. if(is_user_alive(id))
  285. {
  286. weapon(id)
  287. ChatColor(id, "%L",0,"WEAPONS")
  288. }
  289. else
  290. {
  291. ChatColor(id, "%L",0,"YOUR_DEAD")
  292. }
  293. }
  294.  
  295. case 2:
  296. {
  297. if(is_user_alive(id))
  298. {
  299. set_user_health(id, get_pcvar_num(hp))
  300. set_user_armor(id, get_pcvar_num(armor))
  301. ChatColor(id, "%L",0,"HP_AR")
  302. }
  303. else
  304. {
  305. ChatColor(id, "%L",0,"YOUR_DEAD")
  306. }
  307. }
  308.  
  309.  
  310. case 3:
  311. {
  312. if(is_user_alive(id))
  313. {
  314. message_begin(MSG_ONE, get_user_msgid("SetFOV"), { 0, 0, 0 }, id)
  315. write_byte(180)
  316. message_end()
  317. ChatColor(id, "%L",0,"NARK")
  318. }
  319. else
  320. {
  321. ChatColor(id, "%L",0,"YOUR_DEAD")
  322. }
  323. }
  324.  
  325. case 4:
  326. {
  327. if(is_user_alive(id))
  328. {
  329. give_item(id, "weapon_hegrenade")
  330. give_item(id, "weapon_flashbang")
  331. give_item(id, "weapon_flashbang")
  332. give_item(id, "weapon_smokegrenade")
  333. ChatColor(id, "%L",0,"GRENADE")
  334. }
  335. else
  336. {
  337. ChatColor(id, "%L",0,"YOUR_DEAD")
  338. }
  339. }
  340.  
  341. case 5:
  342. {
  343. if(is_user_alive(id))
  344. {
  345. set_user_gravity(id, get_pcvar_float(gravity))
  346. ChatColor(id, "%L",0,"GRAVITY")
  347. }
  348. else
  349. {
  350. ChatColor(id, "%L",0,"YOUR_DEAD")
  351. }
  352. }
  353.  
  354. case 6:
  355. {
  356. if(is_user_alive(id))
  357. {
  358. cs_set_user_bpammo(id,CSW_AK47,5000)
  359. cs_set_user_bpammo(id,CSW_USP,5000)
  360. cs_set_user_bpammo(id,CSW_AWP,5000)
  361. cs_set_user_bpammo(id,CSW_DEAGLE,5000)
  362. cs_set_user_bpammo(id,CSW_M249,5000)
  363. cs_set_user_bpammo(id,CSW_FAMAS,5000)
  364. cs_set_user_bpammo(id,CSW_GALIL,5000)
  365. cs_set_user_bpammo(id,CSW_GLOCK18,5000)
  366. cs_set_user_bpammo(id,CSW_XM1014,5000)
  367. cs_set_user_bpammo(id,CSW_MP5NAVY,5000)
  368. cs_set_user_bpammo(id,CSW_M4A1,5000)
  369. ChatColor(id, "%L",0,"AMMO")
  370. }
  371. else
  372. {
  373. ChatColor(id, "%L",0,"YOUR_DEAD")
  374. }
  375.  
  376. case 9:
  377. {
  378. if(is_user_alive(id))
  379. {
  380. set_user_maxspeed(id, get_pcvar_float(speed))
  381. ChatColor(id, "%L",0,"SPEED")
  382. }
  383. else
  384. {
  385. ChatColor(id, "%L",0,"YOUR_DEAD")
  386. }
  387. }
  388. return PLUGIN_HANDLED;
  389. }
  390.  
  391.  
  392.  
  393. public open_door(this, idattacker, Float:damage, Float:direction[3], tracehandle, damagebits)
  394. {
  395. if(opens[idattacker])
  396. {
  397. dllfunc(DLLFunc_Use, this, idattacker)
  398. opens[idattacker] = 0
  399. }
  400. }
  401.  
  402. public weapon(id)
  403. {
  404. new szText[ 555 char ];
  405. formatex( szText, charsmax( szText ), "%L", id, "MENU_WEAPON_TITLE", VERSION);
  406.  
  407. new menu = menu_create( szText, "weapon_handler" );
  408.  
  409. if(get_user_team(id) == 1 && get_user_flags(id) & ADMIN_CVAR)
  410. {
  411. formatex( szText, charsmax( szText ), "%L", id, "WEAPON_ITEM_1_3" );
  412. menu_additem( menu, szText, "2", ADMIN_ADMIN );
  413. }else
  414. if(get_user_flags(id) & ADMIN_CVAR && get_user_team(id) == 2)
  415. {
  416. if(blockspechmenu[id]<=0)
  417. {
  418. formatex( szText, charsmax( szText ), "%L", id, "WEAPON_ITEM_1" );
  419. menu_additem( menu, szText, "1", 0 );
  420. }else{
  421. formatex( szText, charsmax( szText ), "%L", id, "WEAPON_ITEM_1_1", blockspechmenu[id]);
  422. menu_additem( menu, szText, "1", ADMIN_ADMIN );
  423. }
  424. }else{
  425. formatex( szText, charsmax( szText ), "%L", id, "WEAPON_ITEM_1_2");
  426. menu_additem( menu, szText, "1", ADMIN_ADMIN );
  427. }
  428.  
  429. if(!blockknife[id])
  430. {
  431. formatex( szText, charsmax( szText ), "%L", id, "WEAPON_ITEM_2" );
  432. menu_additem( menu, szText, "2", 0 );
  433. }else{
  434. formatex( szText, charsmax( szText ), "%L", id, "WEAPON_ITEM_2_1" );
  435. menu_additem( menu, szText, "2", ADMIN_ADMIN );
  436. }
  437.  
  438. menu_display( id, menu, 0 );
  439.  
  440. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  441. menu_setprop( menu, MPROP_NEXTNAME, "Dalje")
  442. menu_setprop( menu, MPROP_BACKNAME, "Nazad")
  443. menu_setprop( menu, MPROP_EXITNAME, "Izlaz")
  444.  
  445. return PLUGIN_CONTINUE;
  446. }
  447.  
  448. public weapon_handler(id, menu, item)
  449. {
  450. if( item == MENU_EXIT )
  451. {
  452. menu_destroy( menu );
  453. return PLUGIN_HANDLED;
  454. }
  455.  
  456. new data[ 6 ], iName[ 64 ], access, callback;
  457. menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
  458.  
  459. new key = str_to_num( data );
  460.  
  461. switch( key )
  462. {
  463. case 1:
  464. {
  465. weaponct(id)
  466. }
  467.  
  468. case 2:
  469. {
  470. knifeweapon(id)
  471. }
  472. }
  473. return PLUGIN_CONTINUE;
  474. }
  475.  
  476. public weaponct(id)
  477. {
  478. new szText[ 555 char ];
  479.  
  480. formatex( szText, charsmax( szText ), "%L", id, "MENU_CPES_TITLE");
  481. new menu = menu_create( szText, "weaponct_handler" );
  482.  
  483. formatex( szText, charsmax( szText ), "%L", id, "CPES_ITEM_1" );
  484. menu_additem( menu, szText, "1", 0 );
  485.  
  486. formatex( szText, charsmax( szText ), "%L", id, "CPES_ITEM_2" );
  487. menu_additem( menu, szText, "2", 0 );
  488.  
  489. formatex( szText, charsmax( szText ), "%L", id, "CPES_ITEM_3" );
  490. menu_additem( menu, szText, "3", 0 );
  491.  
  492. menu_display( id, menu, 0 );
  493.  
  494. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  495. menu_setprop( menu, MPROP_NEXTNAME, "Dalje")
  496. menu_setprop( menu, MPROP_BACKNAME, "Nazad")
  497. menu_setprop( menu, MPROP_EXITNAME, "Izlaz")
  498.  
  499. return PLUGIN_CONTINUE;
  500. }
  501.  
  502. public weaponct_handler(id, menu, item)
  503. {
  504. if( item == MENU_EXIT )
  505. {
  506. menu_destroy( menu );
  507. return PLUGIN_HANDLED;
  508. }
  509.  
  510. new data[ 6 ], iName[ 64 ], access, callback;
  511. menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
  512.  
  513. new key = str_to_num( data );
  514.  
  515. switch( key )
  516. {
  517. case 1:
  518. {
  519. client_cmd(id,"playerweapon_cpech1")
  520. blockspechmenu[id] = get_pcvar_num(blockspech)
  521. }
  522.  
  523. case 2:
  524. {
  525. client_cmd(id,"playerweapon_cpech2")
  526. blockspechmenu[id] = get_pcvar_num(blockspech)
  527. }
  528.  
  529. case 3:
  530. {
  531. client_cmd(id,"playerweapon_cpech3")
  532. blockspechmenu[id] = get_pcvar_num(blockspech)
  533. }
  534. }
  535. return PLUGIN_CONTINUE;
  536. }
  537.  
  538. public knifeweapon(id)
  539. {
  540. new szText[ 555 char ];
  541.  
  542. formatex( szText, charsmax( szText ), "\r~[\wSuperVIP\r]~ \r| \wNozevi \r[\wNEW\r]", id, "MENU_KNIFE_TITLE", VERSION);
  543. new menu = menu_create( szText, "knifeweapon_handler" );
  544.  
  545. formatex( szText, charsmax( szText ), "[\wVatreni Noz\r]", id, "KNIFE_ITEM_1" );
  546. menu_additem( menu, szText, "1", 0 );
  547.  
  548. formatex( szText, charsmax( szText ), "\r[\wKatane\r]", id, "KNIFE_ITEM_2" );
  549. menu_additem( menu, szText, "2", 0 );
  550.  
  551. formatex( szText, charsmax( szText ), "\r[\wWarHAMMER\r]", id, "KNIFE_ITEM_3" );
  552. menu_additem( menu, szText, "3", 0 );
  553.  
  554. formatex( szText, charsmax( szText ), "\r[\wEclipse Stik\r]", id, "KNIFE_ITEM_4" );
  555. menu_additem( menu, szText, "4", 0);
  556.  
  557. formatex( szText, charsmax( szText ), "\r[\wWolverine Kandze\r]", id, "KNIFE_ITEM_5" );
  558. menu_additem( menu, szText, "5", 0);
  559.  
  560. formatex( szText, charsmax( szText ), "\r[\wEclipse Mac\r]", id, "KNIFE_ITEM_6" );
  561. menu_additem( menu, szText, "6", 0);
  562.  
  563. menu_display( id, menu, 0 );
  564.  
  565. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  566. menu_setprop( menu, MPROP_NEXTNAME, "Dalje")
  567. menu_setprop( menu, MPROP_BACKNAME, "Nazad")
  568. menu_setprop( menu, MPROP_EXITNAME, "Izlaz")
  569.  
  570. return PLUGIN_CONTINUE;
  571. }
  572.  
  573. public knifeweapon_handler(id, menu, item)
  574. {
  575. if( item == MENU_EXIT )
  576. {
  577. menu_destroy( menu );
  578. return PLUGIN_HANDLED;
  579. }
  580.  
  581. new data[ 6 ], iName[ 64 ], access, callback;
  582. menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
  583.  
  584. new key = str_to_num( data );
  585.  
  586. switch( key )
  587. {
  588. case 1:
  589. {
  590. engclient_cmd(id, "weapon_knife")
  591. u_knife[id] = 1
  592. blockknife[id] = true
  593. set_pev(id, pev_viewmodel2, "models/Eclipse_SVIP/v_fire_knife.mdl")
  594. set_pev(id, pev_weaponmodel2, "models/Eclipse_SVIP/p_fire_knife.mdl")
  595. }
  596.  
  597. case 2:
  598. {
  599. engclient_cmd(id, "weapon_knife")
  600. u_knife[id] = 2
  601. blockknife[id] = true
  602. set_pev(id, pev_viewmodel2, "models/Eclipse_SVIP/v_kata.mdl")
  603. set_pev(id, pev_weaponmodel2, "models/Eclipse_SVIP/p_kata.mdl")
  604. }
  605.  
  606. case 3:
  607. {
  608. engclient_cmd(id, "weapon_knife")
  609. u_knife[id] = 3
  610. blockknife[id] = true
  611. set_pev(id, pev_viewmodel2, "models/Eclipse_SVIP/v_warhammer.mdl")
  612. }
  613.  
  614. case 4:
  615. {
  616. engclient_cmd(id, "weapon_knife")
  617. u_knife[id] = 4
  618. blockknife[id] = true
  619. set_pev(id, pev_viewmodel2, "models/Eclipse_SVIP/v_stik.mdl")
  620. }
  621.  
  622. case 5:
  623. {
  624. engclient_cmd(id, "weapon_knife")
  625. u_knife[id] = 5
  626. blockknife[id] = true
  627. set_pev(id, pev_viewmodel2, "models/Eclipse_SVIP/v_wolwerine.mdl")
  628. }
  629.  
  630. case 6:
  631. {
  632. engclient_cmd(id, "weapon_knife")
  633. u_knife[id] = 6
  634. blockknife[id] = true
  635. set_pev(id, pev_viewmodel2, "models/Eclipse_SVIP/v_sword.mdl")
  636. }
  637.  
  638. }
  639.  
  640. return PLUGIN_CONTINUE;
  641. }
  642.  
  643. public VipStatus(const MsgId, const MsgType, const MsgDest)
  644. {
  645. static id;
  646. id = get_msg_arg_int(1);
  647.  
  648. if(is_user_vip(id) && !get_msg_arg_int(2))
  649. set_msg_arg_int(2, ARG_BYTE, (1 << 2 ));
  650. }
  651.  
  652. public ShowVipsOnline(id)
  653. {
  654. new message[256], name[32], count = 0;
  655. new len = format(message, charsmax(message), "Online Super VIP's‘: ");
  656.  
  657. for (new player = 1; player <= maxPlayers; player++)
  658. {
  659. if (is_user_connected(player) && is_user_vip(player))
  660. {
  661. get_user_name(player, name, charsmax(name));
  662.  
  663. if (count && len)
  664. {
  665. len += format(message[len], 255 - len, ", ");
  666. }
  667.  
  668. len += format(message[len], 255 - len, "%s", name);
  669.  
  670. if (len > 96) {
  671. client_print(id, print_chat, "%s", message);
  672. len = format(message, charsmax(message), "");
  673. }
  674.  
  675. count++;
  676. }
  677. }
  678.  
  679. if (len)
  680. {
  681. if (!count)
  682. {
  683. len += format(message[len], 255 - len, "Нет в сети.");
  684. }
  685.  
  686. client_print(id, print_chat, "%s", message);
  687. }
  688.  
  689. return PLUGIN_HANDLED;
  690. }
  691.  
  692. public fw_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
  693. {
  694. if (!is_user_connected(id))
  695. return FMRES_IGNORED;
  696.  
  697. if (u_knife[id] == 3 &&equal(sample[8], "kni", 3))
  698. {
  699. volume = 0.6;
  700.  
  701. if (equal(sample[14], "sla", 3))
  702. {
  703. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/knife_slash1_off.wav", volume, attn, flags, pitch);
  704. return FMRES_SUPERCEDE;
  705. }
  706. if(equal(sample,"weapons/knife_deploy1.wav"))
  707. {
  708. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/knifedeploy.wav", volume, attn, flags, pitch);
  709. return FMRES_SUPERCEDE;
  710. }
  711. if (equal(sample[14], "hit", 3))
  712. {
  713. if (sample[17] == 'w')
  714. {
  715. engfunc(EngFunc_EmitSound, id, channel,"Jb/hammer/hit1.wav", volume, attn, flags, pitch);
  716. return FMRES_SUPERCEDE;
  717. }
  718. else
  719. {
  720. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/hit2.wav", volume, attn, flags, pitch);
  721. return FMRES_SUPERCEDE;
  722. }
  723. }
  724. if (equal(sample[14], "sta", 3))
  725. {
  726. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/hammer/knife_stab123.wav", volume, attn, flags, pitch);
  727. return FMRES_SUPERCEDE;
  728. }
  729. }
  730. if (u_knife[id] == 1 &&equal(sample[8], "kni", 3))
  731. {
  732. volume = 0.6;
  733.  
  734. if (equal(sample[14], "sla", 3))
  735. {
  736. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_slash1.wav", volume, attn, flags, pitch);
  737. return FMRES_SUPERCEDE;
  738. }
  739. if(equal(sample,"weapons/knife_deploy1.wav"))
  740. {
  741. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_deploy1.wav", volume, attn, flags, pitch);
  742. return FMRES_SUPERCEDE;
  743. }
  744. if (equal(sample[14], "hit", 3))
  745. {
  746. if (sample[17] == 'w')
  747. {
  748. engfunc(EngFunc_EmitSound, id, channel,"JbVipMenu/strong/knife_hit1.wav", volume, attn, flags, pitch);
  749. return FMRES_SUPERCEDE;
  750. }
  751. else
  752. {
  753. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_hit2.wav", volume, attn, flags, pitch);
  754. return FMRES_SUPERCEDE;
  755. }
  756. }
  757. if (equal(sample[14], "sta", 3))
  758. {
  759. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/strong/knife_stab.wav", volume, attn, flags, pitch);
  760. return FMRES_SUPERCEDE;
  761. }
  762. }
  763.  
  764. if (u_knife[id] == 2 &&equal(sample[8], "kni", 3))
  765. {
  766. volume = 0.6;
  767.  
  768. if (equal(sample[14], "sla", 3))
  769. {
  770. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_slash1.wav", volume, attn, flags, pitch);
  771. return FMRES_SUPERCEDE;
  772. }
  773. if(equal(sample,"weapons/knife_deploy1.wav"))
  774. {
  775. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_deploy1.wav", volume, attn, flags, pitch);
  776. return FMRES_SUPERCEDE;
  777. }
  778. if (equal(sample[14], "hit", 3))
  779. {
  780. if (sample[17] == 'w')
  781. {
  782. engfunc(EngFunc_EmitSound, id, channel,"JbVipMenu/axe/knife_hit1.wav", volume, attn, flags, pitch);
  783. return FMRES_SUPERCEDE;
  784. }
  785. else
  786. {
  787. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_hit2.wav", volume, attn, flags, pitch);
  788. return FMRES_SUPERCEDE;
  789. }
  790. }
  791. if (equal(sample[14], "sta", 3))
  792. {
  793. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_stab.wav", volume, attn, flags, pitch);
  794. return FMRES_SUPERCEDE;
  795. }
  796. }
  797.  
  798. if (u_knife[id] == 4 &&equal(sample[8], "kni", 3))
  799. {
  800. volume = 0.6;
  801.  
  802. if (equal(sample[14], "sla", 3))
  803. {
  804. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_slash1.wav", volume, attn, flags, pitch);
  805. return FMRES_SUPERCEDE;
  806. }
  807. if(equal(sample,"weapons/knife_deploy1.wav"))
  808. {
  809. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_deploy1.wav", volume, attn, flags, pitch);
  810. return FMRES_SUPERCEDE;
  811. }
  812. if (equal(sample[14], "hit", 3))
  813. {
  814. if (sample[17] == 'w')
  815. {
  816. engfunc(EngFunc_EmitSound, id, channel,"JbVipMenu/axe/knife_hit1.wav", volume, attn, flags, pitch);
  817. return FMRES_SUPERCEDE;
  818. }
  819. else
  820. {
  821. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_hit2.wav", volume, attn, flags, pitch);
  822. return FMRES_SUPERCEDE;
  823. }
  824. }
  825. if (equal(sample[14], "sta", 3))
  826. {
  827. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/axe/knife_stab.wav", volume, attn, flags, pitch);
  828. return FMRES_SUPERCEDE;
  829. }
  830. }
  831.  
  832. if (u_knife[id] == 5 &&equal(sample[8], "kni", 3))
  833. {
  834. volume = 0.6;
  835.  
  836. if (equal(sample[14], "sla", 3))
  837. {
  838. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_wall.wav", volume, attn, flags, pitch);
  839. return FMRES_SUPERCEDE;
  840. }
  841. if(equal(sample,"weapons/knife_deploy1.wav"))
  842. {
  843. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_draw.wav", volume, attn, flags, pitch);
  844. return FMRES_SUPERCEDE;
  845. }
  846. if (equal(sample[14], "hit", 3))
  847. {
  848. if (sample[17] == 'w')
  849. {
  850. engfunc(EngFunc_EmitSound, id, channel,"JbVipMenu/Skull/knife_hit.wav", volume, attn, flags, pitch);
  851. return FMRES_SUPERCEDE;
  852. }
  853. else
  854. {
  855. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_hit.wav", volume, attn, flags, pitch);
  856. return FMRES_SUPERCEDE;
  857. }
  858. }
  859. if (equal(sample[14], "sta", 3))
  860. {
  861. engfunc(EngFunc_EmitSound, id, channel, "JbVipMenu/Skull/knife_miss.wav", volume, attn, flags, pitch);
  862. return FMRES_SUPERCEDE;
  863. }
  864. }
  865. return FMRES_IGNORED;
  866. }
  867.  
  868. public Player_TakeDamage(victim, inflicator, attacker, Float:damage, damage_type, bitsDamage)
  869. {
  870. if (!is_user(attacker) || !is_user(victim))
  871. return;
  872.  
  873. if(get_user_weapon(attacker) != CSW_KNIFE)
  874. return;
  875.  
  876. if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 3)
  877. {
  878. user_slap(victim,0,0)
  879. user_slap(victim,0,0)
  880. user_slap(victim,0,0)
  881. user_slap(victim,0,0)
  882. }
  883. else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 3)
  884. {
  885. user_slap(victim,0,0)
  886. user_slap(victim,0,0)
  887. user_slap(victim,0,0)
  888. user_slap(victim,0,0)
  889. user_slap(victim,0,0)
  890. user_slap(victim,0,0)
  891. }
  892.  
  893. if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 1)
  894. {
  895. if(get_user_team(attacker) == get_user_team(victim))
  896. return;
  897.  
  898. knifespeed[victim] = victim
  899. set_user_maxspeed(knifespeed[victim], 1.0)
  900. set_task(3.0, "speeds", knifespeed[victim]);
  901. client_cmd(0, "spk JbVipMenu/strong/frostnova.wav")
  902. new origin[3];
  903. get_user_origin(knifespeed[victim], origin);
  904. create_explosion(origin);
  905. }
  906. else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 1)
  907. {
  908. if(get_user_team(attacker) == get_user_team(victim))
  909. return;
  910.  
  911. knifespeed[victim] = victim
  912. set_user_maxspeed(knifespeed[victim], 1.0)
  913. set_task(3.0, "speeds", knifespeed[victim]);
  914. client_cmd(0, "spk JbVipMenu/strong/frostnova.wav")
  915. }
  916.  
  917. if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 4)
  918. {
  919. if(get_user_team(attacker) == get_user_team(victim))
  920. return;
  921.  
  922. new vorigin[ 3 ];
  923. get_user_origin( victim, vorigin );
  924. Blood( vorigin );
  925. }
  926. else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 4)
  927. {
  928. if(get_user_team(attacker) == get_user_team(victim))
  929. return;
  930.  
  931. new vorigin[ 3 ];
  932. get_user_origin( victim, vorigin );
  933. Blood( vorigin );
  934. }
  935.  
  936. if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 5)
  937. {
  938. if(get_user_team(attacker) == get_user_team(victim))
  939. return;
  940.  
  941. SetHamParamFloat(4, damage = 80.0)
  942. }
  943. else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 5)
  944. {
  945. if(get_user_team(attacker) == get_user_team(victim))
  946. return;
  947. SetHamParamFloat(4, damage = 80.0)
  948. }
  949. }
  950.  
  951. public speeds(id)
  952. {
  953. if (is_user_connected(id))
  954. {
  955. set_user_maxspeed(id, 220.0)
  956. }
  957.  
  958. knifespeed[id] = false
  959. }
  960.  
  961. stock create_explosion(const origin[3])
  962. {
  963. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  964. write_byte(21);
  965. write_coord(origin[0]);
  966. write_coord(origin[1]);
  967. write_coord(origin[2]);
  968. write_coord(origin[0]);
  969. write_coord(origin[1]);
  970. write_coord(origin[2] + 385);
  971. write_short(exploSpr);
  972. write_byte(0);
  973. write_byte(0);
  974. write_byte(4);
  975. write_byte(60);
  976. write_byte(0);
  977. write_byte(FROST_R);
  978. write_byte(FROST_G);
  979. write_byte(FROST_B);
  980. write_byte(100);
  981. write_byte(0);
  982. message_end();
  983.  
  984. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  985. write_byte(21);
  986. write_coord(origin[0]);
  987. write_coord(origin[1]);
  988. write_coord(origin[2]);
  989. write_coord(origin[0]);
  990. write_coord(origin[1]);
  991. write_coord(origin[2] + 470);
  992. write_short(exploSpr);
  993. write_byte(0);
  994. write_byte(0);
  995. write_byte(4);
  996. write_byte(60);
  997. write_byte(0);
  998. write_byte(FROST_R);
  999. write_byte(FROST_G);
  1000. write_byte(FROST_B);
  1001. write_byte(100);
  1002. write_byte(0);
  1003. message_end();
  1004.  
  1005. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  1006. write_byte(21);
  1007. write_coord(origin[0]);
  1008. write_coord(origin[1]);
  1009. write_coord(origin[2]);
  1010. write_coord(origin[0]);
  1011. write_coord(origin[1]);
  1012. write_coord(origin[2] + 555);
  1013. write_short(exploSpr);
  1014. write_byte(0);
  1015. write_byte(0);
  1016. write_byte(4);
  1017. write_byte(60);
  1018. write_byte(0);
  1019. write_byte(FROST_R);
  1020. write_byte(FROST_G);
  1021. write_byte(FROST_B);
  1022. write_byte(100);
  1023. write_byte(0);
  1024. message_end();
  1025.  
  1026. message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  1027. write_byte(27);
  1028. write_coord(origin[0]);
  1029. write_coord(origin[1]);
  1030. write_coord(origin[2]);
  1031. write_byte(floatround(FROST_RADIUS/5.0));
  1032. write_byte(FROST_R);
  1033. write_byte(FROST_G);
  1034. write_byte(FROST_B);
  1035. write_byte(8);
  1036. write_byte(60);
  1037. message_end();
  1038. }
  1039.  
  1040. Blood( iorigin[ 3 ] )
  1041. {
  1042. message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
  1043. write_byte( TE_LAVASPLASH );
  1044. write_coord( iorigin[ 0 ] );
  1045. write_coord( iorigin[ 1 ] );
  1046. write_coord( iorigin[ 2 ] );
  1047. message_end();
  1048. }
  1049.  
  1050. public begmenu(id)
  1051. {
  1052. new szText[ 555 char ];
  1053.  
  1054. formatex( szText, charsmax( szText ), "%L", id, "MENU_BEG_TITLE");
  1055. new menu = menu_create( szText, "begmenu_handler" );
  1056.  
  1057. if(blockopens[id]<=0)
  1058. {
  1059. formatex( szText, charsmax( szText ), "%L", id, "BEG_ITEM_1" );
  1060. menu_additem( menu, szText, "1", 0 );
  1061. }else{
  1062. formatex( szText, charsmax( szText ), "%L", id, "BEG_ITEM_1_1", blockopens[id]);
  1063. menu_additem( menu, szText, "1", ADMIN_ADMIN );
  1064. }
  1065.  
  1066. if(blocklight[id]<=0)
  1067. {
  1068. formatex( szText, charsmax( szText ), "%L", id, "BEG_ITEM_2" );
  1069. menu_additem( menu, szText, "2", 0 );
  1070. }else{
  1071. formatex( szText, charsmax( szText ), "%L", id, "BEG_ITEM_2_1", blocklight[id]);
  1072. menu_additem( menu, szText, "2", ADMIN_ADMIN );
  1073. }
  1074.  
  1075. if(blocklov[id]<=0)
  1076. {
  1077. formatex( szText, charsmax( szText ), "%L", id, "BEG_ITEM_3");
  1078. menu_additem( menu, szText, "3", 0 );
  1079. }else{
  1080. formatex( szText, charsmax( szText ), "%L", id, "BEG_ITEM_3_1", blocklov[id]);
  1081. menu_additem( menu, szText, "3", ADMIN_ADMIN );
  1082. }
  1083.  
  1084. menu_display( id, menu, 0 );
  1085.  
  1086. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  1087. menu_setprop( menu, MPROP_NEXTNAME, "Далее")
  1088. menu_setprop( menu, MPROP_BACKNAME, "Назад")
  1089. menu_setprop( menu, MPROP_EXITNAME, "Выход")
  1090.  
  1091. return PLUGIN_CONTINUE;
  1092. }
  1093.  
  1094. public begmenu_handler(id, menu, item)
  1095. {
  1096. if( item == MENU_EXIT )
  1097. {
  1098. menu_destroy( menu );
  1099. return PLUGIN_HANDLED;
  1100. }
  1101.  
  1102. new data[ 6 ], iName[ 64 ], access, callback;
  1103. menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
  1104.  
  1105. new key = str_to_num( data );
  1106.  
  1107. switch( key )
  1108. {
  1109. case 1:
  1110. {
  1111. opens[id] = 1
  1112. blockopens[id] = get_pcvar_num(block)
  1113. ChatColor(id, "%L",0,"BEG")
  1114. }
  1115.  
  1116. case 2:
  1117. {
  1118. light(id)
  1119. blocklight[id] = get_pcvar_num(blocklights)
  1120. ChatColor(id, "%L",0,"BEG_2")
  1121. }
  1122.  
  1123. case 3:
  1124. {
  1125. trap(id)
  1126. blocklov[id] = get_pcvar_num(blocklovy)
  1127. ChatColor(id, "%L",0,"BEG_3")
  1128. }
  1129. }
  1130. return PLUGIN_CONTINUE;
  1131. }
  1132.  
  1133. public light(id)
  1134. {
  1135. new iPlayer[32], iNum
  1136. get_players(iPlayer, iNum)
  1137.  
  1138. for(new i; i < iNum; i++)
  1139. {
  1140. if(get_user_team(iPlayer[i]) == 2)
  1141. {
  1142. new names[33]
  1143. message_begin(MSG_ONE, g_ScreenFade, _, iPlayer[i]);
  1144. write_short(1 << 0);
  1145. write_short(1 << 0);
  1146. write_short(1 << 2);
  1147. write_byte(0);
  1148. write_byte(0);
  1149. write_byte(0);
  1150. write_byte(255);
  1151. message_end();
  1152. get_user_name(id, names, 32)
  1153. set_hudmessage(255, 255, 255, -1.0, 0.4, 0, 6.0, 5.0)
  1154. show_hudmessage(iPlayer[i], "%L",0, "LIGHT_NAME", names)
  1155. set_task(10.0, "light_off", iPlayer[i]);
  1156. g_lighton = true
  1157. }
  1158. }
  1159. }
  1160.  
  1161. public light_off(id)
  1162. {
  1163. new iPlayer[32], iNum
  1164. get_players(iPlayer, iNum)
  1165.  
  1166. for(new i; i < iNum; i++)
  1167. {
  1168. if(get_user_team(iPlayer[i]) == 2)
  1169. {
  1170. message_begin(MSG_ONE, g_ScreenFade, _, iPlayer[i]);
  1171. write_short(1 << 12);
  1172. write_short(1 << 9);
  1173. write_short(1 << 0);
  1174. write_byte(0);
  1175. write_byte(0);
  1176. write_byte(0);
  1177. write_byte(0);
  1178. message_end();
  1179. g_lighton = false
  1180. }
  1181. }
  1182. }
  1183.  
  1184. public trap(id)
  1185. {
  1186. new Float:origin[3]
  1187.  
  1188. entity_get_vector(id,EV_VEC_origin,origin)
  1189.  
  1190. new ent = create_entity("info_target")
  1191.  
  1192. entity_set_origin(ent,origin);
  1193. origin[2] += 100.0
  1194. entity_set_origin(id,origin)
  1195.  
  1196. entity_set_float(ent,EV_FL_takedamage,0.0)
  1197.  
  1198. entity_set_string(ent,EV_SZ_classname,"npc_totem");
  1199. entity_set_model(ent,"models/JbVipMenu/trap/trap.mdl");
  1200. entity_set_int(ent,EV_INT_solid, 2)
  1201.  
  1202. entity_set_byte(ent,EV_BYTE_controller1,125);
  1203. entity_set_byte(ent,EV_BYTE_controller2,125);
  1204. entity_set_byte(ent,EV_BYTE_controller3,125);
  1205. entity_set_byte(ent,EV_BYTE_controller4,125);
  1206.  
  1207. new Float:maxs[3] = {16.0,16.0,36.0}
  1208. new Float:mins[3] = {-16.0,-16.0,-36.0}
  1209. entity_set_size(ent,mins,maxs)
  1210.  
  1211. entity_set_float(ent,EV_FL_animtime,2.0)
  1212. entity_set_float(ent,EV_FL_framerate,1.0)
  1213. entity_set_int(ent,EV_INT_sequence,0);
  1214.  
  1215. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
  1216.  
  1217. drop_to_floor(ent)
  1218. return 1;
  1219. }
  1220.  
  1221. public client_PreThink(id)
  1222. {
  1223. if(!is_user_alive(id))
  1224. return PLUGIN_CONTINUE;
  1225.  
  1226. new Float:gametime = get_gametime();
  1227. if(g_TotemPoleDelay[id] > gametime)
  1228. return PLUGIN_CONTINUE;
  1229.  
  1230. new ent = -1
  1231. new Float:vOrigin[3], Float:pOrigin[3], Float:distance;
  1232. entity_get_vector(id, EV_VEC_origin, pOrigin);
  1233. while((ent = find_ent_by_class(ent, "npc_totem")))
  1234. {
  1235. entity_get_vector(ent, EV_VEC_origin, vOrigin);
  1236. distance = get_distance_f(pOrigin, vOrigin);
  1237. if(distance < MAX_DISTANCE && get_user_team(id) == 2)
  1238. {
  1239. set_user_maxspeed(id, 1.0 );
  1240. strip_user_weapons(id)
  1241.  
  1242. if(!traps[id])
  1243. {
  1244. traps[id] = id
  1245. client_cmd(id, "spk JbVipMenu/trap/trap.wav")
  1246. ChatColor(id, "%L",0,"CT_TRAP")
  1247. set_task(10.0, "trap_off", traps[id]);
  1248. }
  1249. }
  1250. }
  1251.  
  1252. return PLUGIN_CONTINUE;
  1253. }
  1254.  
  1255. public trap_off(id)
  1256. {
  1257. remove_entity_name( "npc_totem" );
  1258. set_user_maxspeed(id, 240.0 );
  1259. give_item(traps[id], "weapon_knife")
  1260. give_item(traps[id],"weapon_deagle")
  1261. give_item(traps[id],"weapon_m4a1")
  1262. cs_set_user_bpammo(traps[id],CSW_M4A1, 90)
  1263. cs_set_user_bpammo(traps[id],CSW_DEAGLE, 35)
  1264. ChatColor(traps[id], "%L",0,"CT_TRAP_OFF")
  1265. traps[id] = false
  1266. }
  1267.  
  1268. public switchweapon(id)
  1269. {
  1270. if(get_user_team(id)==2 && g_lighton)
  1271. {
  1272. engclient_cmd(id,"weapon_knife")
  1273. }
  1274. return PLUGIN_CONTINUE
  1275. }
  1276.  
  1277.  
  1278. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  1279. *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1071\\ f0\\ fs16 \n\\ par }
  1280. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement