Advertisement
AescoEdits

Untitled

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