Advertisement
Guest User

Untitled

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