Advertisement
AescoEdits

Untitled

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