Advertisement
Guest User

asdasfasgasgas

a guest
Feb 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.39 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <cstrike>
  5. #include <fun>
  6. #include <fakemeta>
  7. #include <fakemeta_util>
  8. #include <hamsandwich>
  9.  
  10. //#include <sockets>
  11. //#include <nvault>
  12.  
  13. #define PLUGIN "V.I.P CLASSIC"
  14. #define VERSION "6.0"
  15. #define AUTHOR "PedoBear"
  16.  
  17. new vipcmd;
  18. new g_Round, g_Weapon[33];
  19. new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab;
  20. new vip_opened[33];
  21. new pistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE}
  22. new bool: g_chosen[33] = false;
  23.  
  24. //VIP SCOREBOARD
  25. #define SCOREATTRIB_NONE 0
  26. #define SCOREATTRIB_DEAD (1 << 0)
  27. #define SCOREATTRIB_BOMB (1 << 1)
  28. #define SCOREATTRIB_VIP (1 << 2)
  29.  
  30. //Adaugare VIP
  31. new File[120];
  32. new bool: IsUserVip[33] = false;
  33. new Trie: LoadVip;
  34. new Pass;
  35.  
  36. //Multi Jump
  37. new jumpnum[33], bool: dojump[33], cvar_addjump_vip, cvar_addjump_player;
  38.  
  39. new const primaryWeapons[][] = {"weapon_shield", "weapon_scout", "weapon_xm1014", "weapon_mac10", "weapon_aug", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas", "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_sg552", "weapon_ak47", "weapon_p90"/*, "weapon_c4"*/}
  40. new const secondaryWeapons[][] = {"weapon_p228", "weapon_elite", "weapon_fiveseven", "weapon_usp", "weapon_glock18", "weapon_deagle"}
  41.  
  42. enum cvars {
  43. money_per_damage,
  44. money_kill,
  45. money_hs,
  46. hp_kill,
  47. hp_hs,
  48. max_hp_kill
  49. };
  50. new cvar[cvars];
  51.  
  52. //Bullet damage
  53. new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2;
  54.  
  55. //BuyZone V.I.P MENU
  56. new bool:UserInBuyZone[33];
  57. new i_Menu, i_Menu_Pistol;
  58.  
  59. //VIP Free
  60. //#define VIP_FLAG read_flags("x")
  61.  
  62. new const vip_time[] = {24, 10};
  63.  
  64. new g_sync, cvar_freevip;
  65. new vip_free = 0;
  66.  
  67. //Advertise PRET + VIPS
  68. #define ADVERTISING_TIME 149.0
  69.  
  70. stock const messages[][] = {
  71. "* Pentru a afla beneficiile vip-ului tasteaza in chat /vip !",
  72. "* Pentru a afla vip-ii online tasteaza /vips !"
  73. }
  74.  
  75. //Deactivated Maps
  76. new bool:remove_vip = false
  77.  
  78. //Licenta
  79. static const ServerLicensedIp[] = "5.254.86.253"; //Ip Oficial FUN: 5.254.86.253
  80. static const ServerLicensedIpTESTE[] = "192.168.1.146"; //Ip Server Teste: 192.168.1.136 || 192.168.1.122 || 192.168.1.146 || 86.105.195.222
  81.  
  82. public plugin_init()
  83. {
  84. server_print("^n%s v%s, Copyright (C)2019 by %s^n", PLUGIN, VERSION, AUTHOR)
  85.  
  86. register_plugin
  87. (
  88. .plugin_name = PLUGIN,
  89. .version = VERSION,
  90. .author = AUTHOR
  91. );
  92.  
  93. new szIp[25];
  94. get_user_ip(0, szIp, sizeof (szIp) -1, 1);
  95. if(equal(szIp, ServerLicensedIp) || equal(szIp, ServerLicensedIpTESTE))
  96. {
  97. RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
  98.  
  99. register_event("HLTV", "round_start", "a", "1=0", "2=0")
  100. register_logevent("LogEvent_RoundStart", 2, "1=Round_Start");
  101. register_event("TextMsg", "round_restart", "a", "2=#Game_will_restart_in", "2=#Game_Commencing");
  102. register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");
  103. register_event("DeathMsg", "event_DeathMsg", "a");
  104. register_event("StatusIcon", "Event_StatusIcon_Show_buyzone", "be", "1=1", "2=buyzone");
  105. register_event("StatusIcon", "StatusIcon_buyzone_OFF", "be", "1=0", "2=buyzone");
  106.  
  107. //RegisterHam(Ham_TakeDamage,"player","fwd_tdamag");
  108.  
  109. //RegisterHam(Ham_Item_PreFrame, "player", "player_maxspeed", 1);
  110. //register_event("Damage", "Damage", "b");
  111.  
  112. //register_clcmd("vmenu", "main_menu")
  113. register_clcmd("say /vipmenu", "arataMeniuVIPs");
  114. register_clcmd("say_team /vipmenu", "arataMeniuVIPs");
  115. register_clcmd("say /vm", "arataMeniuVIPs");
  116. register_clcmd("say_team /vm", "arataMeniuVIPs");
  117. register_clcmd("say /vmenu", "arataMeniuVIPs");
  118. register_clcmd("say_team /vmenu", "arataMeniuVIPs");
  119.  
  120. register_clcmd("say /vip", "vip_info");
  121. register_clcmd("say /wantvip", "vip_info");
  122. register_clcmd("say /vreauvip", "vip_info");
  123.  
  124. register_clcmd("say", "hook_say");
  125. register_clcmd("say_team", "hook_say");
  126.  
  127. register_clcmd("say /resetscore", "reset_score")
  128. register_clcmd("say /restartscore", "reset_score")
  129. register_clcmd("say /rs", "reset_score")
  130. register_clcmd("say /rz", "reset_score")
  131. register_clcmd("say !rs", "reset_score")
  132.  
  133. register_clcmd("say_team /resetscore", "reset_score")
  134. register_clcmd("say_team /restartscore", "reset_score")
  135. register_clcmd("say_team /rs", "reset_score")
  136. register_clcmd("say_team /rz", "reset_score")
  137. register_clcmd("say_team !rs", "reset_score")
  138.  
  139. register_clcmd("say /resetscoredead", "reset_score_dead")
  140. register_clcmd("say /restartscoredead", "reset_score_dead")
  141. register_clcmd("say /rsd", "reset_score_dead")
  142. register_clcmd("say /rzd", "reset_score_dead")
  143. register_clcmd("say !rsd", "reset_score_dead")
  144.  
  145. register_clcmd("say_team /resetscoredead", "reset_score_dead")
  146. register_clcmd("say_team /restartscoredead", "reset_score_dead")
  147. register_clcmd("say_team /rsd", "reset_score_dead")
  148. register_clcmd("say_team /rzd", "reset_score_dead")
  149. register_clcmd("say_team !rsd", "reset_score_dead")
  150.  
  151. //register_clcmd("say /pistoale", "first_menu");
  152. //register_clcmd("say_team /pistoale", "first_menu");
  153.  
  154. cvar_round = register_cvar("vip_openmenu_round", "3")
  155. cvar_open = register_cvar("vip_zaround", "1")
  156. cvar_show = register_cvar("vip_showmenu", "1")
  157. cvar_chat = register_cvar("vip_showchat", "1")
  158. cvar_pistols = register_cvar("vip_auto_fill", "1")
  159. cvar_funk = register_cvar("vip_taskmanager", "1")
  160. cvar_tab = register_cvar("vip_scoreboard", "1")
  161.  
  162. cvar[hp_kill] = register_cvar("vip_receive_hp_kill", "10"); // 0 = dezactivat
  163. cvar[hp_hs] = register_cvar("vip_receive_hp_hs", "20"); // 0 = dezactivat
  164. cvar[money_kill] = register_cvar("vip_receive_money_kill", "250"); // 0 = dezactivat
  165. cvar[money_hs] = register_cvar("vip_receive_money_hs", "500"); // 0 = dezactivat
  166. cvar[max_hp_kill] = register_cvar("vip_receive_max_hp_kill", "120"); // valoarea maxima de hp pe care o poti obtine facand killuri
  167.  
  168. cvar[money_per_damage] = register_cvar("vip_money_per_damage", "3") //How many $ VIP will get per 1 damage -> nu functioneaza
  169.  
  170. //Multi Jump
  171. cvar_addjump_vip = register_cvar("vip_cvar_addjump_vip", "0") // Are 1 salturi in plus
  172. cvar_addjump_player = register_cvar("vip_cvar_addjump_player", "0") // Are 0 salt in plus
  173.  
  174. //V.I.P LIST
  175. Pass = get_cvar_pointer("amx_password_field")
  176. LoadVip = TrieCreate()
  177. get_configsdir(File, charsmax(File))
  178. format(File, charsmax(File), "%s/fun-eurocs-vip/%s", File, "vip_list.ini")
  179. new FilePointer, Key[32], Password[32], FileData[256]
  180. if(!file_exists(File))
  181. {
  182. FilePointer = fopen(File, "w")
  183. fclose(FilePointer)
  184. }
  185.  
  186. FilePointer = fopen(File, "rt")
  187. if(FilePointer)
  188. {
  189. while(!feof(FilePointer))
  190. {
  191. fgets(FilePointer, FileData, charsmax(FileData))
  192. parse(FileData, Key, charsmax(Key), Password, charsmax(Password))
  193. TrieSetString(LoadVip, Key, Password)
  194. }
  195. fclose(FilePointer)
  196. }
  197.  
  198. //Map List
  199. new path[64];
  200. get_localinfo("amxx_configsdir", path, charsmax(path));
  201. formatex(path, charsmax(path), "%s/fun-eurocs-vip/vip_maps.ini", path);
  202.  
  203. new file_maps = fopen(path, "r+");
  204.  
  205. if(!file_exists(path))
  206. {
  207. write_file(path, "; VIP-UL ESTE DEZACTIVAT PE URMATOARELE HARTI: ");
  208. write_file(path, "; Exemplu de adaugare HARTA:^n; ^"harta^"^n^nfy_snow^ncss_bycastor");
  209. }
  210.  
  211. new mapname[32];
  212. get_mapname(mapname, charsmax(mapname));
  213.  
  214. new text[121], maptext[32];
  215. while(!feof(file_maps))
  216. {
  217. fgets(file_maps, text, charsmax(text));
  218. trim(text);
  219.  
  220. if(text[0] == ';' || !strlen(text))
  221. continue;
  222.  
  223. parse(text, maptext, charsmax(maptext));
  224.  
  225. if(equal(maptext, mapname))
  226. {
  227. log_amx("Am dezactivat pluginul 'VIP' pe harta %s.", maptext);
  228. remove_vip = true;
  229. break;
  230. }
  231. }
  232. fclose(file_maps);
  233.  
  234. //bullet damage
  235. register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
  236. g_type = register_cvar("amx_bulletdamage", "3")
  237. g_recieved = register_cvar("amx_bulletdamage_recieved", "1")
  238.  
  239. g_hudmsg1 = CreateHudSyncObj()
  240. g_hudmsg2 = CreateHudSyncObj()
  241.  
  242. //VIP FREE
  243. register_clcmd("say /timevip", "time_remain");
  244.  
  245. set_task(1.0, "check_time");
  246. set_task(60.0, "check_time", _, _, _, "b");
  247. set_task(1.0, "hud_mess", _, _, _, "b");
  248.  
  249. cvar_freevip = register_cvar("vip_free", "1");
  250.  
  251. cached_vars();
  252. g_sync = CreateHudSyncObj();
  253. //g_maxplayers = get_maxplayers();
  254.  
  255. //Advertise Message
  256. set_task(ADVERTISING_TIME, "show_messages", _, _, _,"b");
  257.  
  258. set_task(5.0, "_ProtectCheck_", 21412321, _,_, "b")
  259. server_print("[%s] Felicitari! Detii o licenta valida, iar pluginul functioneaza perfect!", PLUGIN);
  260. server_print("[%s] Pentru mai multe detalii y/m: ravravy@yahoo.com", PLUGIN);
  261. server_print("[%s] Ip-ul Licentiat: [%s] || Ip-ul Serverului: [%s]", PLUGIN, szIp, ServerLicensedIp);
  262. }
  263. else
  264. {
  265. new szPluginName[32];
  266. formatex(szPluginName, sizeof(szPluginName) -1, "[IP Nelicentiat] %s", PLUGIN);
  267. register_plugin(szPluginName, PLUGIN, "PedoBear");
  268.  
  269. server_print("[%s] Nu detii o licenta valabila! Plugin-ul nu va functiona corespunzator!", PLUGIN);
  270. server_print("[%s] Pentru mai multe detalii Y!M: ravravy@yahoo.com", PLUGIN);
  271. server_print("[%s] Ip-ul Licentiat: [%s] || Ip-ul Serverului: [%s]", PLUGIN, szIp, ServerLicensedIp);
  272.  
  273. pause("ade");
  274. }
  275. }
  276.  
  277. #define IsPlayer(%0) (1 <= %0 <= get_maxplayers())
  278. public fwd_tdamag(iVictim,iInflictor,iAttacker,Float:fDamage)
  279. if (is_vip(iAttacker) && iInflictor == iAttacker && IsPlayer (iAttacker) && is_user_alive(iAttacker) && is_user_connected(iAttacker))
  280. SetHamParamFloat(4, fDamage * 2.5);
  281.  
  282. //Advertise Mesaje
  283. public show_messages()
  284. {
  285. new Buffer[256];
  286. formatex(Buffer, sizeof Buffer - 1, "^x02%s", messages[random(sizeof messages)]);
  287.  
  288. new players[32], num, id;
  289. get_players(players, num);
  290.  
  291. for(new i = 0 ; i < num ; i++)
  292. {
  293. id = players[i]
  294.  
  295. message_begin(MSG_ONE, get_user_msgid("SayText"), _, id);
  296. write_byte(id);
  297. write_string(Buffer);
  298. message_end();
  299. }
  300. }
  301.  
  302. public plugin_cfg()
  303. if(get_pcvar_num(g_recieved))
  304. g_showrecieved = true; //Checks of g_received is 1 and if so, sets g_showrecieved to true
  305.  
  306. public vip_info(id)
  307. show_motd(id, "/addons/amxmodx/configs/vip_info.html");
  308.  
  309. public reset_score(id)
  310. {
  311. static name[32]
  312. get_user_name(id, name, 31)
  313.  
  314. new frags = get_user_frags(id);
  315. new deaths = get_user_deaths(id);
  316.  
  317. if(frags == 0 && deaths == 0)
  318. {
  319. chat_color(id, "!g[FUN|RS]!t Ai scorul deja !y0 !g- !y0 !t!")
  320. return PLUGIN_HANDLED
  321. }
  322. else
  323. {
  324. if(is_vip(id) || get_user_flags(id) & read_flags("y"))
  325. {
  326. for(new i = 0; i < 2; i++)
  327. {
  328. cs_set_user_deaths(id, 0);
  329. set_user_frags(id, 0);
  330. }
  331.  
  332. chat_color(id, "!g[FUN|RS]!t Scorul tau a fost resetat! Bafta la fraguri !y[!gVIP!y] !g%s!t Have fun!", name)
  333. }
  334. else
  335. {
  336. for(new i = 0; i < 2; i++)
  337. {
  338. cs_set_user_deaths(id, 0);
  339. set_user_frags(id, 0);
  340. }
  341.  
  342. chat_color(id, "!g[FUN|RS]!t Scorul tau a fost resetat! Bafta la fraguri !g%s!t Have fun!", name)
  343. }
  344. }
  345.  
  346. return PLUGIN_HANDLED
  347. }
  348.  
  349. public reset_score_dead(id)
  350. {
  351. static name[32]
  352. get_user_name(id, name, 31)
  353.  
  354. new deaths = get_user_deaths(id);
  355.  
  356. if(deaths == 0)
  357. {
  358. chat_color(id, "!g[FUN|RS]!t Ai !gdeath-urile !tdeja !y0 !g- !y0 !t!")
  359. return PLUGIN_HANDLED
  360. }
  361. else
  362. {
  363. for(new i = 0; i < 2; i++)
  364. cs_set_user_deaths(id, 0);
  365.  
  366. if(is_vip(id))
  367. chat_color(id, "!g[FUN|RS - VIP]!t Dead-urile tale au fost resetate! Bafta la fraguri !y[!gVIP!y] !g%s!t Have fun!", name)
  368. }
  369.  
  370. return PLUGIN_HANDLED
  371. }
  372.  
  373. public plugin_precache()
  374. {
  375. }
  376.  
  377. public bool:_get_vip(iPlugin, iParams)
  378. {
  379. new id = get_param(1);
  380. if(is_vip(id) || has_flag(id, "y")) return true;
  381.  
  382. return false;
  383. }
  384.  
  385. public native_vip_free(id) return vip_free
  386.  
  387. public on_damage(id)
  388. {
  389. if(g_enabled)
  390. {
  391. static attacker; attacker = get_user_attacker(id)
  392. static damage; damage = read_data(2)
  393.  
  394. if(g_showrecieved && (is_vip(id) || get_user_flags(id) & read_flags("y") || vip_free))
  395. {
  396. set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
  397. ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage)
  398. }
  399.  
  400. if(is_user_connected(attacker) && (is_vip(attacker) || get_user_flags(attacker) & read_flags("y") || vip_free))
  401. {
  402. switch(g_enabled)
  403. {
  404. case 1:
  405. {
  406. set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
  407. ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage)
  408. }
  409. case 2:
  410. {
  411. if(fm_is_ent_visible(attacker,id))
  412. {
  413. set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
  414. ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage)
  415. }
  416. }
  417. }
  418. }
  419. }
  420. }
  421.  
  422. public client_authorized(id)
  423. {
  424. g_Weapon[id] = 0;
  425.  
  426. new Key[32], Password[32], OldPassword[32]
  427. get_user_name(id, Key, charsmax(Key))
  428. get_user_info(id, "_pw", Password, charsmax(Password))
  429.  
  430. if(TrieKeyExists(LoadVip, Key))
  431. {
  432. TrieGetString(LoadVip, Key, OldPassword, charsmax(OldPassword))
  433. if(equal(Password, OldPassword))
  434. IsUserVip[id] = true
  435. else
  436. {
  437. server_cmd("kick #%i ^"Acest player are VIP!^"", get_user_userid(id))
  438. IsUserVip[id] = false
  439. }
  440. }
  441. }
  442.  
  443. public client_infochanged(id)
  444. {
  445. new oldname[32], newname[32], Password[32], OldPassword[32], PasswordField[5]
  446. get_user_name(id, oldname, charsmax(oldname))
  447. get_user_info(id, "name", newname, charsmax(newname))
  448.  
  449. if(equal(newname, oldname))
  450. return
  451.  
  452. if(TrieKeyExists(LoadVip, newname))
  453. {
  454. get_pcvar_string(Pass, PasswordField, charsmax(PasswordField))
  455. get_user_info(id, PasswordField, OldPassword, charsmax(OldPassword))
  456. TrieGetString(LoadVip, newname, Password, charsmax(Password))
  457.  
  458. if(equal(OldPassword, Password))
  459. IsUserVip[id] = true
  460. else
  461. {
  462. server_cmd("kick #%i ^"NU esti VIP!^"", get_user_userid(id))
  463. IsUserVip[id] = false
  464. }
  465. }
  466. else
  467. IsUserVip[id] = false
  468. }
  469.  
  470. public plugin_end()
  471. TrieDestroy(LoadVip)
  472.  
  473. public client_putinserver(id)
  474. {
  475. new xP[32], xN
  476. get_players(xP, xN, "c")
  477. for (new i=0; i< xN; i++)
  478. {
  479. if(!is_user_connected(xP[i]))
  480. continue
  481.  
  482. client_cmd(xP[i], "cl_minmodels 0")
  483. }
  484.  
  485. //JUMP
  486. jumpnum[id] = 0
  487. dojump[id] = false
  488.  
  489. /*if(vip_free && !(get_user_flags(id) & read_flags("x") && !(get_user_flags(id) & read_flags("y"))))
  490. {
  491. new flags = get_user_flags(id);
  492. flags |= VIP_FLAG
  493. set_user_flags(id, flags);
  494. }*/
  495.  
  496. if(is_vip(id) || get_user_flags(id) & read_flags("y"))
  497. {
  498. new name[33];
  499. get_user_name(id, name, charsmax(name));
  500. chat_color(0, "!g[FUN-VIP]!t VIP-ul [!g%s!t] se conecteaza pe server...", name);
  501. }
  502.  
  503. //set_task(0.9, "vip_menu", id);
  504. return PLUGIN_CONTINUE;
  505. }
  506.  
  507. //VIP FREE
  508. public cached_vars()
  509. vip_free = get_pcvar_num(cvar_freevip);
  510.  
  511. public check_time()
  512. {
  513. new o;
  514. time(o, _, _);
  515.  
  516. if(!vip_free)
  517. {
  518. if(o >= vip_time[0] || o < vip_time[1])
  519. {
  520. vip_free = 1;
  521. set_pcvar_num(cvar_freevip, 1);
  522. chat_color(0, "^4[^3VIP^4]^1 Eventul^3 Free VIP^1 a fost activat!");
  523. }
  524. }
  525. else
  526. {
  527. if(o < vip_time[0] && o >= vip_time[1])
  528. {
  529. vip_free = 0;
  530. set_pcvar_num(cvar_freevip, 0);
  531. chat_color(0, "^4[^3VIP^4]^1 Eventul^3 Free VIP^1 a fost dezactivat!");
  532. }
  533. }
  534. }
  535.  
  536. public time_remain(id)
  537. {
  538. switch(vip_free)
  539. {
  540. case 1: chat_color(id, "^4[^3VIP^4]^1 Timp ramas pana se termina vip-ul free^3 %s", time_left_vip());
  541. case 0: chat_color(id, "^4[^3VIP^4]^1 Timp ramas pana incepe vip-ul free^3 %s", time_left_vip());
  542. }
  543. return PLUGIN_CONTINUE;
  544. }
  545.  
  546. public hud_mess()
  547. {
  548. if(!vip_free)
  549. return;
  550.  
  551. set_hudmessage(random(256), random(256), random(256), 0.00, 0.17, 0, 1.1, 1.0);
  552. ShowSyncHudMsg(0, g_sync, "Event V.I.P Free !");
  553. }
  554.  
  555. stock time_left_vip()
  556. {
  557. new timp_ramas[16], len = 0;
  558. new h, m, lh, lm;
  559. time(h, m, _);
  560. switch(vip_free)
  561. {
  562. case 1:
  563. {
  564. new l = vip_time[1];
  565. if(h > l)
  566. l += add_time(h) + h;
  567. lh = l - h;
  568. }
  569. case 0: lh = vip_time[0] - h;
  570. }
  571. lm = 60 - m;
  572. if(lm < 60)
  573. lh--;
  574.  
  575. if(lh > 0)
  576. len += formatex(timp_ramas[len], charsmax(timp_ramas) - len, "%d or%s", lh, lh == 1 ? "a" : "e");
  577.  
  578. if(lm < 60)
  579. len += formatex(timp_ramas[len], charsmax(timp_ramas) - len, " %d minut%s", lm, lm == 1 ? "" : "e");
  580.  
  581. return timp_ramas;
  582. }
  583.  
  584. stock add_time(x)
  585. {
  586. new j;
  587. switch(x)
  588. {
  589. case 0: j = 24;
  590. case 1: j = 23;
  591. case 2: j = 22;
  592. case 3: j = 21;
  593. case 4: j = 20;
  594. case 5: j = 19;
  595. case 6: j = 18;
  596. case 7: j = 17;
  597. case 8: j = 16;
  598. case 9: j = 15;
  599. case 10: j = 14;
  600. case 11: j = 13;
  601. case 12: j = 12;
  602. case 13: j = 11;
  603. case 14: j = 10;
  604. case 15: j = 9;
  605. case 16: j = 8;
  606. case 17: j = 7;
  607. case 18: j = 6;
  608. case 19: j = 5;
  609. case 20: j = 4;
  610. case 21: j = 3;
  611. case 22: j = 2;
  612. case 23: j = 1;
  613. }
  614. if(x < vip_time[1])
  615. j = 0;
  616.  
  617. return j;
  618. }
  619.  
  620. public plugin_natives()
  621. {
  622. set_native_filter("native_filter")
  623. register_native("get_vip", "_get_vip", 0)
  624. register_native("free_vip", "native_vip_free", 0)
  625.  
  626. //register_native("get_map_disabled", "map_disabled", 0)
  627. //register_native("check_map_disabled", "check_map", 0)
  628. }
  629.  
  630. public map_disabled() return remove_vip
  631.  
  632. public native_filter(const name[], index, trap)
  633. {
  634. if (!trap)
  635. return PLUGIN_HANDLED
  636.  
  637. return PLUGIN_CONTINUE
  638. }
  639.  
  640. public client_disconnected(id)
  641. {
  642. jumpnum[id] = 0
  643. dojump[id] = false
  644.  
  645. remove_task(id)
  646. g_Weapon[id] = 0;
  647. g_chosen[id] = false;
  648. IsUserVip[id] = false
  649. }
  650.  
  651. public client_PreThink(id)
  652. {
  653. if(remove_vip)
  654. return;
  655.  
  656. if(!is_user_alive(id))
  657. return
  658.  
  659. new BUTON = get_user_button(id)
  660. new OLDBUTON = get_user_oldbutton(id)
  661. new JUMP_VIP = get_pcvar_num(cvar_addjump_vip)
  662. new JUMP_PLAYER = get_pcvar_num(cvar_addjump_player)
  663.  
  664. if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
  665. {
  666. if(((is_vip(id)) && (jumpnum[id] < JUMP_VIP)) || (!(is_vip(id)) && (jumpnum[id] < JUMP_PLAYER)) || vip_free && (jumpnum[id] < JUMP_VIP))
  667. {
  668. dojump[id] = true
  669. jumpnum[id]++
  670. }
  671. }
  672.  
  673. if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
  674. jumpnum[id] = 0
  675. }
  676.  
  677. public client_PostThink(id)
  678. {
  679. if(!is_user_alive(id))
  680. return PLUGIN_CONTINUE
  681.  
  682. if(dojump[id] == true)
  683. {
  684. new Float: velocity[3]
  685. entity_get_vector(id, EV_VEC_velocity, velocity)
  686. velocity[2] = random_float(265.0, 285.0)
  687. entity_set_vector(id, EV_VEC_velocity, velocity)
  688. dojump[id] = false
  689. }
  690.  
  691. return PLUGIN_CONTINUE
  692. }
  693.  
  694. public round_start()
  695. {
  696. if(!remove_vip)
  697. {
  698. g_Round++
  699. vipcmd = 1;
  700. }
  701.  
  702. //bullet damage
  703. g_enabled = get_pcvar_num(g_type)
  704. if(get_pcvar_num(g_recieved)) g_showrecieved = true
  705. }
  706.  
  707. public LogEvent_RoundStart(id)
  708. if(!remove_vip)
  709. UserInBuyZone[id] = true;
  710.  
  711. public round_restart()
  712. {
  713. if(remove_vip)
  714. return;
  715.  
  716. g_Round = 0
  717. }
  718.  
  719. public player_maxspeed(id)
  720. {
  721. if(is_vip(id) && is_user_alive(id) && is_user_connected(id))
  722. set_user_maxspeed(id, 450.0);
  723.  
  724. return PLUGIN_HANDLED
  725. }
  726.  
  727. public player_spawn(Player)
  728. {
  729. if(remove_vip)
  730. return HAM_IGNORED;
  731.  
  732. vip_opened[Player] = 0;
  733. if((is_vip(Player) || (has_flag(Player, "y") || vip_free) && is_user_alive(Player) && is_user_connected(Player)))
  734. {
  735. UserInBuyZone[Player] = true;
  736.  
  737. if(g_Weapon[Player] == 0)
  738. first_menu(Player)
  739.  
  740. if(get_pcvar_num(cvar_funk) == 1)
  741. task_funk(Player);
  742.  
  743. if(get_pcvar_num(cvar_show) == 1 && g_Round >= get_pcvar_num(cvar_round))
  744. main_menu(Player);
  745. }
  746.  
  747. return PLUGIN_HANDLED;
  748. }
  749.  
  750. public arataMeniuVIPs(id)
  751. {
  752. if(!UserInBuyZone[id] && is_user_alive(id))
  753. {
  754. client_print(id, print_center, "Doar din Spawn poti sa iti iei iteme pentru VIP!");
  755. return PLUGIN_HANDLED
  756. }
  757.  
  758. if(is_vip(id) || has_flag(id, "y") || vip_free)
  759. {
  760. if(is_user_alive(id) && is_user_connected(id))
  761. {
  762. if(vipcmd == 0)
  763. {
  764. main_menu(id)
  765. chat_color(id, "!g[VIP MENU]!t Aceasta comanda o poti folosi doar odata pe runda. Scuzele noastre! !g:)!t")
  766. }
  767. else
  768. {
  769. vipcmd = 0
  770. }
  771. }
  772. else
  773. chat_color(id, "!g[VIP MENU]!t Aceasta comanda poate fi folosita doar daca esti in viata!")
  774. }
  775. else
  776. chat_color(id, "!g[VIP MENU]!t Aceasta comanda poate fi utilizata doar de catre VIP")
  777.  
  778. return PLUGIN_HANDLED;
  779. }
  780.  
  781. public task_funk(id)
  782. {
  783. give_item(id, "weapon_knife")
  784. give_item(id, "item_thighpack")
  785. give_item(id, "weapon_hegrenade")
  786. give_item(id, "weapon_flashbang")
  787. give_item(id, "weapon_flashbang")
  788. give_item(id, "item_assaultsuit")
  789.  
  790. if(get_pcvar_num(cvar_pistols))
  791. {
  792. for(new i = 0;i <6;i++)
  793. fm_strip_user_gun(id, pistols[i])
  794.  
  795. switch(g_Weapon[id])
  796. {
  797. case 1:
  798. {
  799. give_item(id, "weapon_deagle");
  800. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  801. }
  802. case 2:
  803. {
  804. give_item(id, "weapon_usp");
  805. cs_set_user_bpammo(id, CSW_USP, 100)
  806. }
  807. case 3:
  808. {
  809. give_item(id, "weapon_glock18");
  810. cs_set_user_bpammo(id, CSW_GLOCK18, 120)
  811. }
  812. }
  813. }
  814. }
  815.  
  816. /* Meniurile cu arme fmm */
  817. public main_menu(id)
  818. {
  819. if(!UserInBuyZone[id] && is_user_alive(id))
  820. {
  821. client_print(id, print_center, "Doar din Spawn iti poti sa iti iei iteme pentru VIP!");
  822. return PLUGIN_HANDLED;
  823. }
  824.  
  825. if(is_user_alive(id))
  826. {
  827. if(vip_opened[id] < get_pcvar_num(cvar_open) || get_pcvar_num(cvar_open) == 0)
  828. {
  829. if(g_Round >= get_pcvar_num(cvar_round))
  830. {
  831. new s_Title[64], s_Name[32], s_Pistol[32], szMenuMulti[64]
  832. get_user_name(id, s_Name, charsmax(s_Name))
  833. switch(g_Weapon[id])
  834. {
  835. case 0: s_Pistol = "Fara Pistol!";
  836. case 1: s_Pistol = "Deagle";
  837. case 2: s_Pistol = "Usp";
  838. case 3: s_Pistol = "Glock";
  839. }
  840.  
  841. formatex(s_Title, charsmax(s_Title), "\yVIP \rSystem \y[\rFUN\y]", s_Name)
  842. i_Menu = menu_create(s_Title, "main_handler", 1);
  843.  
  844. formatex(szMenuMulti, charsmax(szMenuMulti), "\rM4A1 \y+ \r%s \y+ \dGrenade", s_Pistol)
  845. menu_additem(i_Menu, szMenuMulti, "1", 0)
  846.  
  847. formatex(szMenuMulti, charsmax(szMenuMulti), "\rAK47 \y+ \r%s \y+ \dGrenade", s_Pistol)
  848. menu_additem(i_Menu, szMenuMulti, "2", 0)
  849.  
  850. if(is_vip(id))
  851. {
  852. formatex(szMenuMulti, charsmax(szMenuMulti), "\rAWP \y+ \r%s \y+ \dGrenade", s_Pistol)
  853. menu_additem(i_Menu, szMenuMulti, "3", 0)
  854.  
  855. formatex(szMenuMulti, charsmax(szMenuMulti), "\rFAMAS \y+ \r%s \y+ \dGrenade", s_Pistol)
  856. menu_additem(i_Menu, szMenuMulti, "4", 0)
  857.  
  858. formatex(szMenuMulti, charsmax(szMenuMulti), "\rGALIL \y+ \r%s \y+ \dGrenade", s_Pistol)
  859. menu_additem(i_Menu, szMenuMulti, "5", 0)
  860. }
  861. else if(!is_vip(id) || !has_flag(id, "x"))
  862. {
  863. formatex(szMenuMulti, charsmax(szMenuMulti), "AWP + [PISTOL] + Grenade [\rONLY GOLD\d]\w")
  864. menu_additem(i_Menu, szMenuMulti, "3", ADMIN_RCON)
  865.  
  866. formatex(szMenuMulti, charsmax(szMenuMulti), "FAMAS + [PISTOL] + Grenade [\rONLY GOLD\d]\w")
  867. menu_additem(i_Menu, szMenuMulti, "4", ADMIN_RCON)
  868.  
  869. formatex(szMenuMulti, charsmax(szMenuMulti), "GALIL + [PISTOL] + Grenade [\rONLY GOLD\d]\w")
  870. menu_additem(i_Menu, szMenuMulti, "5", ADMIN_RCON)
  871. }
  872.  
  873. /*formatex(szMenuMulti, charsmax(szMenuMulti), "\rG3SG1 \y+ \r%s \y+ \dGrenade (Terrorist)", s_Pistol)
  874. menu_additem(i_Menu, szMenuMulti, "6", 0)
  875.  
  876. formatex(szMenuMulti, charsmax(szMenuMulti), "\rSG550 \y+ \r%s \y+ \dGrenade (Counter-Terrorist)", s_Pistol)
  877. menu_additem(i_Menu, szMenuMulti, "7", 0)*/
  878.  
  879. if(vip_opened[id] && g_Weapon[id] && g_chosen[id])
  880. {
  881. formatex(szMenuMulti, charsmax(szMenuMulti), "\y<<< \rPrimul Meniu \y(\wPistoale\y)")
  882. menu_additem(i_Menu, szMenuMulti, "7", 0)
  883. }
  884.  
  885. //g_chosen[id] = false;
  886. //vip_opened[id] = 0;
  887. //g_Weapon[id] = 0;
  888.  
  889. menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL);
  890. menu_display(id, i_Menu, 0)
  891. }
  892. else
  893. {
  894. if(get_pcvar_num(cvar_round))
  895. {
  896. chat_color(id, "!g[FUN-VIP]!t Meniul se deschide doar dupa !g%d!t runde!", get_pcvar_num(cvar_round))
  897. return PLUGIN_HANDLED;
  898. }
  899. else
  900. {
  901. chat_color(id, "!g[FUN-VIP]!t Meniul se deschide doar dupa !g%d!t runde!", get_pcvar_num(cvar_round))
  902. return PLUGIN_HANDLED;
  903. }
  904. }
  905. }
  906. else
  907. chat_color(id, "!g[FUN-VIP]!t Sincer... ceva nu merge bine. Contacteaza-ne pe !gwww.eurocs.net/forum")
  908. }
  909. else
  910. chat_color(id, "!g[FUN-VIP]!t Esti mort... nu poti folosi meniul!")
  911. //else
  912. //chat_color(id, "!g[FUN-VIP]!t Nu esti !gVIP!t. Foloseste comanda !g/help!t pentru afisare detalii")
  913.  
  914. return PLUGIN_HANDLED;
  915. }
  916.  
  917. public main_handler(id, menu, item)
  918. {
  919. if(item == MENU_EXIT)
  920. {
  921. menu_destroy(menu)
  922. return PLUGIN_HANDLED;
  923. }
  924.  
  925. if(!is_user_alive(id) && !is_user_connected(id))
  926. return PLUGIN_HANDLED;
  927.  
  928. new s_Data[6], s_Name[60], i_Access, i_Callback
  929. menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
  930. new i_Key = str_to_num(s_Data)
  931. new name[32]
  932. get_user_name(id, name, charsmax(name))
  933.  
  934. switch(g_Weapon[id])
  935. {
  936. case 0:
  937. {
  938. first_menu(id);
  939. menu_destroy(menu);
  940. }
  941. case 1:
  942. {
  943. for(new i = 0;i < sizeof secondaryWeapons;i++)
  944. engclient_cmd(id, "drop", secondaryWeapons[i])
  945.  
  946. give_item(id, "weapon_deagle")
  947. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  948. }
  949. case 2:
  950. {
  951. for(new i = 0;i < sizeof secondaryWeapons;i++)
  952. engclient_cmd(id, "drop", secondaryWeapons[i])
  953.  
  954. give_item(id, "weapon_usp")
  955. cs_set_user_bpammo(id, CSW_USP, 100)
  956. }
  957. case 3:
  958. {
  959. if(pev(id, pev_weapons) & 1 << CSW_GLOCK18)
  960. for(new i = 0;i < sizeof secondaryWeapons;i++)
  961. engclient_cmd(id, "drop", secondaryWeapons[i])
  962.  
  963. give_item(id, "weapon_glock18")
  964. cs_set_user_bpammo(id, CSW_GLOCK18, 120)
  965. }
  966. }
  967.  
  968. switch(i_Key)
  969. {
  970. case 1:
  971. {
  972. vip_opened[id]++
  973. /*if(user_has_weapon(id, CSW_C4))
  974. engclient_cmd(id, "drop", "weapon_c4")*/
  975.  
  976. for(new i = 0;i < sizeof primaryWeapons;i++)
  977. engclient_cmd(id, "drop", primaryWeapons[i])
  978.  
  979. give_item(id, "weapon_m4a1")
  980. cs_set_user_bpammo(id, CSW_M4A1, 90)
  981.  
  982. if(get_pcvar_num(cvar_chat) == 1)
  983. chat_color(id, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit M4A1 gratuit + !gGrenade", name)
  984. }
  985. case 2:
  986. {
  987. vip_opened[id]++
  988. /*if(user_has_weapon(id, CSW_C4))
  989. engclient_cmd(id, "drop", "weapon_c4")*/
  990.  
  991. for(new i = 0;i < sizeof primaryWeapons;i++)
  992. engclient_cmd(id, "drop", primaryWeapons[i])
  993.  
  994. give_item(id, "weapon_ak47")
  995. cs_set_user_bpammo(id, CSW_AK47, 90)
  996.  
  997. if(get_pcvar_num(cvar_chat) == 1)
  998. chat_color(id, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit Ak47 gratuit + !gGrenade", name)
  999. }
  1000. case 3:
  1001. {
  1002. vip_opened[id]++
  1003. /*if(user_has_weapon(id, CSW_C4))
  1004. engclient_cmd(id, "drop", "weapon_c4")*/
  1005.  
  1006. for(new i = 0;i < sizeof primaryWeapons;i++)
  1007. engclient_cmd(id, "drop", primaryWeapons[i])
  1008.  
  1009. give_item(id, "weapon_awp")
  1010. cs_set_user_bpammo(id, CSW_AWP, 30)
  1011.  
  1012. if(get_pcvar_num(cvar_chat) == 1)
  1013. chat_color(id, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit Polar gratuit + !gGrenade", name)
  1014. }
  1015. case 4:
  1016. {
  1017. vip_opened[id]++
  1018. /*if(user_has_weapon(id, CSW_C4))
  1019. engclient_cmd(id, "drop", "weapon_c4")*/
  1020.  
  1021. for(new i = 0;i < sizeof primaryWeapons;i++)
  1022. engclient_cmd(id, "drop", primaryWeapons[i])
  1023.  
  1024. give_item(id, "weapon_famas")
  1025. cs_set_user_bpammo(id, CSW_FAMAS, 90)
  1026.  
  1027. if(get_pcvar_num(cvar_chat) == 1)
  1028. chat_color(id, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit Famas gratuit + !gGrenade", name)
  1029. }
  1030. case 5:
  1031. {
  1032. vip_opened[id]++
  1033. /*if(user_has_weapon(id, CSW_C4))
  1034. engclient_cmd(id, "drop", "weapon_c4")*/
  1035.  
  1036. for(new i = 0;i < sizeof primaryWeapons;i++)
  1037. engclient_cmd(id, "drop", primaryWeapons[i])
  1038.  
  1039. give_item(id, "weapon_galil")
  1040. cs_set_user_bpammo(id, CSW_GALIL, 90)
  1041.  
  1042. if(get_pcvar_num(cvar_chat) == 1)
  1043. chat_color(id, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit Galil gratuit + !gGrenade", name)
  1044. }
  1045. case 6:
  1046. {
  1047. vip_opened[id]++
  1048. /*if(user_has_weapon(id, CSW_C4))
  1049. engclient_cmd(id, "drop", "weapon_c4")*/
  1050.  
  1051. for(new i = 0;i < sizeof primaryWeapons;i++)
  1052. engclient_cmd(id, "drop", primaryWeapons[i])
  1053.  
  1054. give_item(id, "weapon_g3sg1")
  1055. cs_set_user_bpammo(id, CSW_G3SG1, 90)
  1056.  
  1057. if(get_pcvar_num(cvar_chat) == 1)
  1058. chat_color(id, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit G3SG1 (D3/AU-1) gratuit + !gGrenade", name)
  1059. }
  1060. case 7:
  1061. {
  1062. vip_opened[id]++
  1063. /*if(user_has_weapon(id, CSW_C4))
  1064. engclient_cmd(id, "drop", "weapon_c4")*/
  1065.  
  1066. for(new i = 0;i < sizeof primaryWeapons;i++)
  1067. engclient_cmd(id, "drop", primaryWeapons[i])
  1068.  
  1069. give_item(id, "weapon_sg550")
  1070. cs_set_user_bpammo(id, CSW_SG550, 90)
  1071.  
  1072. if(get_pcvar_num(cvar_chat) == 1)
  1073. chat_color(id, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit SG550 (Counter-Terorist) gratuit + !gGrenade", name)
  1074. }
  1075. case 8:
  1076. {
  1077. g_chosen[id] = false;
  1078. vip_opened[id] = 0;
  1079. g_Weapon[id] = 0;
  1080. first_menu(id);
  1081. }
  1082. }
  1083.  
  1084. //menu_destroy(menu);
  1085. return PLUGIN_CONTINUE;
  1086. }
  1087.  
  1088. public first_menu(id)
  1089. {
  1090. if(!UserInBuyZone[id] && is_user_alive(id))
  1091. {
  1092. client_print(id, print_center, "Doar din Spawn iti poti sa iti iei iteme pentru VIP!");
  1093. return PLUGIN_HANDLED;
  1094. }
  1095.  
  1096. if(remove_vip)
  1097. return PLUGIN_HANDLED;
  1098.  
  1099. if(!is_user_connected(id))
  1100. return PLUGIN_HANDLED;
  1101.  
  1102. i_Menu_Pistol = menu_create("\rCe pistol doresti \yBoss?", "first_menu_handler")
  1103.  
  1104. menu_additem(i_Menu_Pistol, "\rDeagle [\y35 Gloante\r]", "1", 0)
  1105. menu_additem(i_Menu_Pistol, "\rUSP [\y100 Gloante\r]", "2", 0)
  1106. menu_additem(i_Menu_Pistol, "\rGlock [\y120 Gloante\r]\y", "3", 0)
  1107.  
  1108. menu_setprop(i_Menu_Pistol, MPROP_EXIT, MEXIT_ALL);
  1109. menu_display(id, i_Menu_Pistol, 0)
  1110.  
  1111. return PLUGIN_HANDLED;
  1112. }
  1113.  
  1114. public first_menu_handler(id, menu, item)
  1115. {
  1116. if(item == MENU_EXIT)
  1117. {
  1118. menu_destroy(menu)
  1119. return PLUGIN_HANDLED
  1120. }
  1121.  
  1122. new s_Data[6], s_Name[60], i_Access, i_Callback
  1123. menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
  1124. new i_Key = str_to_num(s_Data)
  1125.  
  1126. for(new i = 0;i <6;i++)
  1127. fm_strip_user_gun(id, pistols[i])
  1128.  
  1129. switch(i_Key)
  1130. {
  1131. case 1:
  1132. {
  1133. if(vip_opened[id] == 0 && g_Round >= get_pcvar_num(cvar_round))
  1134. {
  1135. main_menu(id)
  1136.  
  1137. for(new i = 0;i < sizeof secondaryWeapons;i++)
  1138. engclient_cmd(id, "drop", secondaryWeapons[i])
  1139. }
  1140.  
  1141. g_chosen[id] = true;
  1142. g_Weapon[id] = 1;
  1143. give_item(id, "weapon_deagle")
  1144. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  1145. }
  1146. case 2:
  1147. {
  1148. if(vip_opened[id] == 0 && g_Round >= get_pcvar_num(cvar_round))
  1149. {
  1150. main_menu(id)
  1151.  
  1152. for(new i = 0;i < sizeof secondaryWeapons;i++)
  1153. engclient_cmd(id, "drop", secondaryWeapons[i])
  1154. }
  1155.  
  1156. g_chosen[id] = true;
  1157. g_Weapon[id] = 2;
  1158. give_item(id, "weapon_usp")
  1159. cs_set_user_bpammo(id, CSW_USP, 100)
  1160. }
  1161. case 3:
  1162. {
  1163. if(vip_opened[id] == 0 && g_Round >= get_pcvar_num(cvar_round))
  1164. {
  1165. main_menu(id)
  1166.  
  1167. for(new i = 0;i < sizeof secondaryWeapons;i++)
  1168. engclient_cmd(id, "drop", secondaryWeapons[i])
  1169. }
  1170.  
  1171. g_chosen[id] = true;
  1172. g_Weapon[id] = 3;
  1173. give_item(id, "weapon_glock18")
  1174. cs_set_user_bpammo(id, CSW_GLOCK18, 120)
  1175. }
  1176. }
  1177.  
  1178. //menu_destroy(menu);
  1179. return PLUGIN_CONTINUE;
  1180. }
  1181.  
  1182. public MessageScoreAttrib(iMsgID, iDest, iReceiver)
  1183. {
  1184. if(get_pcvar_num(cvar_tab))
  1185. {
  1186. new iPlayer = get_msg_arg_int(1);
  1187. if(is_user_connected(iPlayer) && ((is_vip(iPlayer)) || get_user_flags(iPlayer) & read_flags("y") || vip_free))
  1188. {
  1189. set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
  1190. }
  1191. }
  1192. }
  1193.  
  1194. /*public Damage(id)
  1195. {
  1196. new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
  1197. if(attacker<=MAXPLAYERS && is_user_alive(attacker) && attacker!=id)
  1198. if(get_user_flags(id) & VIP_FLAG) //Checks if player is VIP
  1199. {
  1200. new money = read_data(2) * get_pcvar_num(cvar[money_hs]
  1201. if(hitpoint==1) money += get_pcvar_num(cvar[money_hs] //Checks if player damages enemy by head shot
  1202. cs_set_user_money(attacker,cs_get_user_money(attacker) + money) //Gives money for damaging enemys
  1203. }
  1204. }*/
  1205.  
  1206. public event_DeathMsg()
  1207. {
  1208. if(remove_vip)
  1209. return PLUGIN_HANDLED;
  1210.  
  1211. new killer = read_data(1);
  1212. new victim = read_data(2);
  1213. new headshot = read_data(3);
  1214. new hp = headshot ? get_pcvar_num(cvar[hp_hs]) : get_pcvar_num(cvar[hp_kill]);
  1215. new money = headshot ? get_pcvar_num(cvar[money_hs]) : get_pcvar_num(cvar[money_kill]);
  1216.  
  1217. if(is_vip(victim))
  1218. if(!g_chosen[victim])
  1219. set_task(1.0, "first_menu", victim)
  1220.  
  1221. if(is_user_alive(killer) && (is_vip(killer) || get_user_flags(killer) & read_flags("y") || vip_free))
  1222. {
  1223. if(killer == victim) return PLUGIN_HANDLED;
  1224. if(hp != 0) set_user_health(killer, clamp(get_user_health(killer) + hp, 1, get_pcvar_num(cvar[max_hp_kill])));
  1225. if(money != 0) cs_set_user_money(killer, clamp(cs_get_user_money(killer) + money - 300, 1, 16000));
  1226.  
  1227. set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
  1228. show_hudmessage(killer, "Healed +%d HP", hp);
  1229.  
  1230. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, killer);
  1231. write_short(1<<10);
  1232. write_short(1<<10);
  1233. write_short(0x0000);
  1234. write_byte(0);
  1235. write_byte(0);
  1236. write_byte(200);
  1237. write_byte(75);
  1238. message_end();
  1239. }
  1240.  
  1241. return PLUGIN_CONTINUE;
  1242. }
  1243.  
  1244. public hook_say(id)
  1245. {
  1246. /*static szAllArgs[1023];
  1247. read_args(szAllArgs, charsmax(szAllArgs))
  1248. if((containi(szAllArgs, "/vip")!= -1 || containi(szAllArgs, "/vips")!= -1))
  1249. return PLUGIN_HANDLED;*/
  1250.  
  1251. new said[192];
  1252. read_args(said,192);
  1253. if(contain(said, "/vips") != -1)
  1254. set_task(0.1,"print_adminlist",id);
  1255.  
  1256. return PLUGIN_CONTINUE;
  1257. }
  1258.  
  1259. public print_adminlist(user)
  1260. {
  1261. new adminnames[33][32];
  1262. new message[256];
  1263. new id, count, x, len;
  1264.  
  1265. for(id = 1 ; id <= get_maxplayers() ; id++)
  1266. if(is_user_connected(id))
  1267. if(is_vip(id) || get_user_flags(id) & read_flags("y"))
  1268. get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
  1269.  
  1270. len = format(message, 255, "^1VIP-ii online sunt:^4 ");
  1271. if(count > 0)
  1272. {
  1273. for(x = 0 ; x < count ; x++)
  1274. {
  1275. len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
  1276. if(len > 96)
  1277. {
  1278. print_message(user, message);
  1279. len = format(message, 255, " ");
  1280. }
  1281. }
  1282. print_message(user, message);
  1283. }
  1284. else
  1285. chat_color(id, "!g[FUN - VIP]!t ^1Nu sunt ^4VIP^1-i online.")
  1286.  
  1287. return PLUGIN_CONTINUE;
  1288. }
  1289.  
  1290. public StatusIcon_buyzone_OFF(id)
  1291. {
  1292. if(!remove_vip)
  1293. {
  1294. UserInBuyZone[id] = false;
  1295. CheckMenuClose(id);
  1296. }
  1297. }
  1298.  
  1299. public Event_StatusIcon_Show_buyzone(id)
  1300. if((is_vip(id) || get_user_flags(id) & read_flags("y") || vip_free))
  1301. UserInBuyZone[id] = true;
  1302.  
  1303. CheckMenuClose(id)
  1304. {
  1305. new oldMenuId, newMenuId;
  1306. player_menu_info(id, oldMenuId, newMenuId)
  1307. if(newMenuId > -1 && newMenuId == i_Menu || newMenuId > -1 && newMenuId == i_Menu_Pistol)
  1308. menu_cancel(id);
  1309. }
  1310.  
  1311. print_message(id, msg[])
  1312. {
  1313. message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
  1314. write_byte(id);
  1315. write_string(msg);
  1316. message_end();
  1317. }
  1318.  
  1319. stock bool: is_vip(const id)
  1320. {
  1321. if(!is_user_connected(id))
  1322. return false;
  1323.  
  1324. if(IsUserVip[id] || get_user_flags(id) & read_flags("x")) /*|| equali(name, "seven|sin")|| equali(name, "PedoBear"))*/
  1325. return true;
  1326.  
  1327. return false;
  1328. }
  1329.  
  1330. stock chat_color(const id, const input[], any:...)
  1331. {
  1332. new count = 1, Jucatori[32]
  1333. static msg[191]
  1334. vformat(msg, 190, input, 3)
  1335.  
  1336. replace_all(msg, 190, "!g", "^4")//Culoarea Verde
  1337. replace_all(msg, 190, "!y", "^1")//Culoarea Normala a Chat-ului (galben)
  1338. replace_all(msg, 190, "!t", "^3")//Culoarea Echipei : CT = Albastru | T = Rosu.
  1339.  
  1340. if (id)Jucatori[0] = id;else get_players(Jucatori, count, "ch")
  1341. {
  1342. for (new Y = 0;Y <count;Y++)
  1343. {
  1344. if (is_user_connected(Jucatori[Y]))
  1345. {
  1346. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Jucatori[Y])
  1347. write_byte(Jucatori[Y]);
  1348. write_string(msg);
  1349. message_end();
  1350. }
  1351. }
  1352. }
  1353. }
  1354.  
  1355. //======================================================//
  1356. // END Stock-URI ===>>>>> PROTECTIE
  1357. //======================================================//
  1358. /* Protected Plugin */
  1359. public _ProtectCheck_()
  1360. {
  1361. new HostNameProtect[] = "FUN.EUROCS.NET"
  1362. new HostNameProtectTESTE[] = "Server Teste"
  1363. new ActualHostname[64], xP[32], xN
  1364.  
  1365. get_pcvar_string(get_cvar_pointer("hostname"), ActualHostname, 63)
  1366. strtoupper(ActualHostname)
  1367.  
  1368. if (containi(ActualHostname, HostNameProtect) != -1 || containi(ActualHostname, HostNameProtectTESTE) != -1)
  1369. return PLUGIN_CONTINUE
  1370. else
  1371. {
  1372. server_cmd("quit;exit;map de_dust2") //quit;exit;map de_dust2;map hns_floppywon -> VECHI
  1373. pause("ade"); //Nou
  1374. for (new i=0;i < 500000;i++)
  1375. {
  1376. get_players(xP, xN)
  1377. //for (new o=0;o < xN;o++)
  1378. //chatcolor(xP[i], "!tPluginul este protejat. Aceasta este o tentativa de frauda.")
  1379.  
  1380. server_print("[VIP FUN] Doresti sa furi addons-ul, domnule? Cauta-l pe, PaulSB aka M@f!aSB, ca sa il cumperi!")
  1381. }
  1382. }
  1383.  
  1384. return PLUGIN_CONTINUE
  1385. }
  1386. //======================================================//
  1387. // END PROTECTIE
  1388. //======================================================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement