Advertisement
Guest User

VIPJail

a guest
Sep 7th, 2014
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.28 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fakemeta>
  5. #include <fakemeta_util>
  6. #include <hamsandwich>
  7. #include <fun>
  8.  
  9. #define ADVERTISING_TIME 120.0
  10.  
  11.  
  12. stock const messages[][] = {
  13.  
  14. "^x01 Pentru V.I.P se doneaza ^x04 3E/luna =[5E/Permanent]="
  15.  
  16. }
  17.  
  18. #define PLUGIN "VIP"
  19. #define VERSION "1.0"
  20. #define AUTHOR "Editat de Codrin"
  21.  
  22. #define VIP_ACCESS ADMIN_LEVEL_H
  23.  
  24. new bool: WeaponChoosed[ 33 ], bool: Topor [ 33 ], bool: Chitara [ 33 ], bool: Xmen [33],bool: Axe [33], bool: SuperCiocan [33], bool: Katana [33]
  25. new szGravityPlayer[ 33 ], szSpeedPlayer[ 33 ];
  26.  
  27. new VipWeaponsMenu
  28. new const g_Tag [] = "[ JailVIP ]"
  29. new limita[50];
  30.  
  31. enum Color{NORMAL = 1,GREEN,TEAM_COLOR,RED,BLUE,GREY}
  32. new TeamName[][] = {"","TERRORIST","CT","SPECTATOR"}
  33.  
  34. new ToporModel [ 33 ] = "models/JBVip/v_knifevip3.mdl";
  35. new ToporModel2 [ 33 ] = "models/JBVip/p_knifevip3.mdl";
  36.  
  37. new ChitaraModel [ 33 ] = "models/JBVip/v_cutit2.mdl";
  38. new ChitaraModel2 [ 33 ] = "models/JBVip/p_cutit2.mdl";
  39.  
  40. new XmenModel [ 33 ] = "models/JBVip/v_knifevip.mdl";
  41. new XmenModel2 [ 33 ] = "models/JBVip/p_knifevip.mdl";
  42.  
  43. new AxeModel [ 33 ] = "models/JBVip/v_knifevip666.mdl";
  44. new AxeModel2 [ 33 ] = "models/JBVip/v_knifevip666.mdl";
  45.  
  46. new SuperCiocanModel [ 33 ] = "models/JBVip/v_hammer.mdl";
  47. new SuperCiocanModel2 [ 33 ] = "models/JBVip/p_hammer.mdl";
  48.  
  49. new KatanaModel [ 33 ] = "models/JBVip/v_stik.mdl";
  50. new KatanaModel2 [ 33 ] = "models/JBVip/p_stik.mdl";
  51.  
  52. public plugin_init() {
  53. register_plugin(PLUGIN, VERSION, AUTHOR)
  54. RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
  55. RegisterHam( Ham_Item_PreFrame, "player", "ExtraItem", true );
  56. register_message(get_user_msgid("ScoreAttrib"),"ScoreBoard");
  57. register_event("CurWeapon", "CurrentWeapon", "be", "1=1")
  58. register_logevent("round_start", 2, "1=Round_Start")
  59. register_event("ResetHUD", "resetModel", "b")
  60. register_clcmd( "say /vm", "check_acces" )
  61. register_clcmd( "say_team /vm", "check_acces" )
  62. }
  63. public plugin_precache ( ) {
  64.  
  65. precache_model ( ToporModel )
  66. precache_model ( ToporModel2 )
  67. precache_model ( ChitaraModel )
  68. precache_model ( ChitaraModel2 )
  69. precache_model ( XmenModel )
  70. precache_model ( XmenModel2 )
  71. precache_model ( AxeModel )
  72. precache_model ( AxeModel2 )
  73. precache_model ( SuperCiocanModel )
  74. precache_model ( SuperCiocanModel2 )
  75. precache_model ( KatanaModel )
  76. precache_model ( KatanaModel2 )
  77. precache_model("models/player/JailBreaKVIP/JailBreaKVIP.mdl")
  78. precache_model("models/player/JailBreaKVIP/VIP/JailBreaKVIP.mdl")
  79.  
  80. return PLUGIN_CONTINUE
  81. }
  82.  
  83. public round_start()
  84. {
  85. new iPlayers[32]
  86. new iNum
  87.  
  88. get_players( iPlayers, iNum )
  89.  
  90. for( new i = 0; i < iNum; i++ )
  91. {
  92. limita[iPlayers[i]] = 0;
  93. }
  94. }
  95. public PlayerSpawn( id ) {
  96.  
  97. WeaponChoosed [ id ] = false;
  98. Topor [ id ] = false
  99. Chitara [ id ] = false
  100. Xmen [ id ] = false
  101. Axe [ id ] = false
  102. SuperCiocan [ id ] = false
  103. Katana [ id ] = false
  104. szSpeedPlayer [ id ] = false
  105. szGravityPlayer [ id ] = false
  106.  
  107. if( is_user_alive( id )) {
  108. give_item( id, "weapon_knife" )
  109. give_item( id, "weapon_hegrenade" )
  110. give_item( id, "weapon_flashbang" )
  111. give_item( id, "weapon_smokegrenade" )
  112. set_user_health(id, 180)
  113.  
  114. }
  115. }
  116. public ExtraItem(id)
  117. {
  118. if(is_user_alive(id) && is_user_connected(id))
  119. {
  120. if(szGravityPlayer[id])
  121. {
  122. set_user_gravity ( id, 0.5 );
  123. }
  124. if(szSpeedPlayer[id])
  125. {
  126. set_user_maxspeed(id , get_user_maxspeed( id ) + 300.0)
  127. }
  128. }
  129. }
  130. public check_acces(id) {
  131. if( !is_user_alive( id ) ) {
  132. ColorChat( id, GREEN, "^4%s^1 Nu iti poti alege arma atunci cand esti mort!", g_Tag)
  133. return PLUGIN_HANDLED
  134. }
  135. if(limita[id] == 400) {
  136. ColorChat(id,GREEN,"^4%s^x01 Ai folosit deja meniul rund asta, asteapta pana runda urmatoare !", g_Tag);
  137. return 1
  138. }
  139. if(get_user_flags(id) & VIP_ACCESS) {
  140. set_task(0.1, "VipMenu", id)
  141. }
  142. else
  143. {
  144. ColorChat(id, GREEN, "^4%s^x01 Trebuie sa fi membru ^4VIP pentru a utiliza ^x01VIP Weapons !", g_Tag)
  145. }
  146. return PLUGIN_CONTINUE
  147. }
  148. public VipMenu( id )
  149. {
  150. menu_display( id, VipWeaponsMenu, 0 );
  151. }
  152. public plugin_cfg( )
  153. {
  154. VipWeaponsMenu = menu_create( "\yVIP \rWeapons Menu", "VipWeaponsHandler" )
  155.  
  156. menu_additem( VipWeaponsMenu, "\rGlock", "1", 0 )
  157. menu_additem( VipWeaponsMenu, "\rDeagle", "2", 0 )
  158. menu_additem( VipWeaponsMenu, "\rScout", "3", 0 )
  159. menu_additem( VipWeaponsMenu, "\rScut", "4", 0 )
  160. menu_additem( VipWeaponsMenu, "\rGravitatie", "5", 0 )
  161. menu_additem( VipWeaponsMenu, "\rViteza", "6", 0 )
  162. menu_additem( VipWeaponsMenu, "\rMedKit", "7", 0 )
  163. menu_additem( VipWeaponsMenu, "\rGheare Ale Intunericului", "8", 0 )
  164. menu_additem( VipWeaponsMenu, "\rCutit De Foc", "9", 0 )
  165. menu_additem( VipWeaponsMenu, "\rPumnal De Ninja", "10", 0 )
  166. menu_additem( VipWeaponsMenu, "\rCutit VIP", "11", 0 )
  167. menu_additem( VipWeaponsMenu, "\rCiocan De Spart Capuri", "12", 0 )
  168. menu_additem( VipWeaponsMenu, "\rCutit Al Inghetului", "13", 0 )
  169. }
  170. public VipWeaponsHandler( id, menu, item )
  171. {
  172. switch( item ) {
  173. case 0:
  174. {
  175. strip_user_weapons(id)
  176. give_item (id, "weapon_glock")
  177. give_item (id, "weapon_knife")
  178. ColorChat(id, GREEN, "%s^x01 Nu ai acces!", g_Tag)
  179. limita[id] = 0
  180. return 0
  181. }
  182. case 1:
  183. {
  184. strip_user_weapons(id)
  185. give_item (id, "weapon_deagle")
  186. give_item (id, "weapon_knife")
  187. cs_set_user_bpammo( id, CSW_DEAGLE, 0 )
  188. ColorChat(id, GREEN, "%s^x01 Nu ai acces!", g_Tag)
  189. limita[id] = 0
  190. return 0
  191. }
  192. case 2:
  193. {
  194. strip_user_weapons(id)
  195. give_item (id, "weapon_scout")
  196. give_item (id, "weapon_knife")
  197. cs_set_user_bpammo( id, CSW_SCOUT, 0 )
  198. ColorChat(id, GREEN, "%s^x01 Nu ai acces!", g_Tag)
  199. limita[id] = 0
  200. return 0
  201. }
  202. case 3:
  203. {
  204. give_item (id, "weapon_shield")
  205. ColorChat(id, GREEN, "%s^x01 Ai primit Scut!", g_Tag)
  206. limita[id] = 1
  207. return 1
  208. }
  209. case 4:
  210. {
  211. szGravityPlayer[id] = true
  212. ColorChat(id, GREEN, "%s^x01 Ai primit 600 Gravity!", g_Tag)
  213. limita[id] = 1
  214. return 1
  215. }
  216. case 5:
  217. {
  218. szSpeedPlayer[id] = true
  219. ColorChat(id, GREEN, "%s^x01 Ai primit 300 Speed!", g_Tag)
  220. limita[id] = 1
  221. return 1
  222. }
  223. case 6:
  224. {
  225. set_user_health(id, 200)
  226. ColorChat(id, GREEN, "%s^x01 Ai primit 200 HP!", g_Tag)
  227. limita[id] = 1
  228. return 1
  229. }
  230. case 7:
  231. {
  232. Topor [ id ] = true
  233. ColorChat(id, GREEN, "%s^x01 Ai primit knife!", g_Tag)
  234. CurrentWeapon ( id );
  235. limita[id] = 1
  236. return 1
  237. }
  238. case 8:
  239. {
  240. Chitara [ id ] = true
  241. ColorChat(id, GREEN, "%s^x01 Ai primit knife!", g_Tag)
  242. CurrentWeapon ( id );
  243. limita[id] = 1
  244. return 1
  245. }
  246. case 9:
  247. {
  248. Xmen [ id ] = true
  249. ColorChat(id, GREEN, "%s^x01 Ai primit knife!", g_Tag)
  250. CurrentWeapon ( id );
  251. limita[id] = 1
  252. return 1
  253. }
  254. case 10:
  255. {
  256. Axe [ id ] = true
  257. ColorChat(id, GREEN, "%s^x01 Ai primit knife!", g_Tag)
  258. CurrentWeapon ( id );
  259. limita[id] = 1
  260. return 1
  261. }
  262. case 11:
  263. {
  264. SuperCiocan [ id ] = true
  265. ColorChat(id, GREEN, "%s^x01 Ai primit knife!", g_Tag)
  266. CurrentWeapon ( id );
  267. limita[id] = 1
  268. return 1
  269. }
  270. case 12:
  271. {
  272. Katana [ id ] = true
  273. ColorChat(id, GREEN, "%s^x01 Ai primit knife", g_Tag)
  274. CurrentWeapon ( id );
  275. limita[id] = 1
  276. return 1
  277. }
  278. }
  279. return PLUGIN_CONTINUE;
  280. }
  281. public CurrentWeapon ( id ) {
  282.  
  283. if ( Topor [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
  284.  
  285. set_pev ( id, pev_viewmodel2, ToporModel );
  286. set_pev ( id, pev_weaponmodel2, ToporModel )
  287. }
  288. if ( Chitara [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
  289.  
  290. set_pev ( id, pev_viewmodel2, ChitaraModel );
  291. set_pev ( id, pev_weaponmodel2, ChitaraModel2 )
  292. }
  293. if ( Xmen[ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
  294.  
  295. set_pev ( id, pev_viewmodel2, XmenModel );
  296. set_pev ( id, pev_weaponmodel2, XmenModel)
  297. }
  298. if ( Axe[ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
  299.  
  300. set_pev ( id, pev_viewmodel2, AxeModel );
  301. set_pev ( id, pev_weaponmodel2, AxeModel2 )
  302. }
  303. if ( SuperCiocan[ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
  304.  
  305. set_pev ( id, pev_viewmodel2, SuperCiocanModel );
  306. set_pev ( id, pev_weaponmodel2, SuperCiocanModel2 )
  307. }
  308. if ( Katana[ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
  309.  
  310. set_pev ( id, pev_viewmodel2, KatanaModel );
  311. set_pev (id, pev_weaponmodel2, KatanaModel2)
  312. }
  313. }
  314. public resetModel(id, level, cid) {
  315. if( get_user_flags(id) & VIP_ACCESS) {
  316. new CsTeams:userTeam = cs_get_user_team(id)
  317. if (userTeam == CS_TEAM_T) {
  318. cs_set_user_model(id, "JailBreaKVIP")
  319. }
  320. else if(userTeam == CS_TEAM_CT) {
  321. cs_set_user_model(id, "JailBreaKVIP")
  322. }
  323. else {
  324. cs_reset_user_model(id)
  325. }
  326. }
  327.  
  328. return PLUGIN_CONTINUE
  329. }
  330. public ScoreBoard(const MsgId, const MsgType, const MsgDest) {
  331. static id;
  332. id = get_msg_arg_int(1);
  333. if(get_user_flags(id) & VIP_ACCESS)
  334. set_msg_arg_int(2, ARG_BYTE, (1 << 2 ));
  335. }
  336. ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
  337. {
  338. new message[256];
  339.  
  340. switch(type)
  341. {
  342. case NORMAL:
  343. {
  344. message[0] = 0x01;
  345. }
  346. case GREEN:
  347. {
  348. message[0] = 0x04;
  349. }
  350. default:
  351. {
  352. message[0] = 0x03;
  353. }
  354. }
  355.  
  356. vformat(message[1], 251, msg, 4);
  357.  
  358. // Make sure message is not longer than 192 character. Will crash the server.
  359. message[192] = '^0';
  360.  
  361. new team, ColorChange, index, MSG_Type;
  362.  
  363. if(id)
  364. {
  365. MSG_Type = MSG_ONE;
  366. index = id;
  367. } else {
  368. index = FindPlayer();
  369. MSG_Type = MSG_ALL;
  370. }
  371.  
  372. team = get_user_team(index);
  373. ColorChange = ColorSelection(index, MSG_Type, type);
  374.  
  375. ShowColorMessage(index, MSG_Type, message);
  376.  
  377. if(ColorChange)
  378. {
  379. Team_Info(index, MSG_Type, TeamName[team]);
  380. }
  381. }
  382.  
  383. ShowColorMessage(id, type, message[])
  384. {
  385. static bool:saytext_used;
  386. static get_user_msgid_saytext;
  387. if(!saytext_used)
  388. {
  389. get_user_msgid_saytext = get_user_msgid("SayText");
  390. saytext_used = true;
  391. }
  392. message_begin(type, get_user_msgid_saytext, _, id);
  393. write_byte(id)
  394. write_string(message);
  395. message_end();
  396. }
  397.  
  398. Team_Info(id, type, team[])
  399. {
  400. static bool:teaminfo_used;
  401. static get_user_msgid_teaminfo;
  402. if(!teaminfo_used)
  403. {
  404. get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
  405. teaminfo_used = true;
  406. }
  407. message_begin(type, get_user_msgid_teaminfo, _, id);
  408. write_byte(id);
  409. write_string(team);
  410. message_end();
  411.  
  412. return 1;
  413. }
  414.  
  415. ColorSelection(index, type, Color:Type)
  416. {
  417. switch(Type)
  418. {
  419. case RED:
  420. {
  421. return Team_Info(index, type, TeamName[1]);
  422. }
  423. case BLUE:
  424. {
  425. return Team_Info(index, type, TeamName[2]);
  426. }
  427. case GREY:
  428. {
  429. return Team_Info(index, type, TeamName[0]);
  430. }
  431. }
  432.  
  433. return 0;
  434. }
  435.  
  436. FindPlayer()
  437. {
  438. new i = -1;
  439.  
  440. while(i <= get_maxplayers())
  441. {
  442. if(is_user_connected(++i))
  443. return i;
  444. }
  445.  
  446. return -1;
  447. }
  448. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  449. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
  450. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement