· 5 years ago · Feb 21, 2020, 01:30 PM
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
17new vipcmd;
18new bool:gl_not_map = false
19new g_Round, g_Weapon[33]
20new cvar_round, cvar_open, cvar_show, cvar_chat, cvar_pistols, cvar_funk, cvar_tab
21new vip_opened[33]
22new pistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE}
23new 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
32new File[120]
33new bool: IsUserVip[33] = false
34new Trie: LoadVip
35new Pass
36
37//Multi Jump
38new 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
44new 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"*/}
45new const secondaryWeapons[][] = {"weapon_p228", "weapon_elite", "weapon_fiveseven", "weapon_usp", "weapon_glock18", "weapon_deagle"}
46
47enum cvars {
48 money_per_damage,
49 money_kill,
50 money_hs,
51 hp_kill,
52 hp_hs,
53 max_hp_kill
54}
55new cvar[cvars];
56
57//Bullet damage
58new 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
66new bool:UserInBuyZone[33];
67new i_Menu, i_Menu_Pistol
68
69//Licenta
70static const ServerLicensedIp[] = "109.163.232.112"; //Ip Oficial CS: 109.163.232.112
71static 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
73public 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
111register_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
222public 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
294public vip_info(id)
295 show_motd(id, "/addons/amxmodx/configs/vip_info.html");
296
297public 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
337public 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
361public 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
379public 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
387public 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
422public 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
443public 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
470public plugin_end()
471 TrieDestroy(LoadVip)
472
473public 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
490public 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
498public map_disabled() return gl_not_map
499
500public native_filter(const name[], index, trap)
501{
502 if (!trap)
503 return PLUGIN_HANDLED
504
505 return PLUGIN_CONTINUE
506}
507
508public 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
519public 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
545public 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
564public 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
577public LogEvent_RoundStart(id)
578{
579 UserInBuyZone[id] = true;
580}
581
582public 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
596public 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
613public 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
647public 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 */
683public 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
778public 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
1109public 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
1133public 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
1180public 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
1204public event_DeathMsg()
1205{
1206if(!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
1241public 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
1256public 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
1287public StatusIcon_buyzone_OFF(id)
1288{
1289 UserInBuyZone[id] = false;
1290
1291 CheckMenuClose(id);
1292}
1293
1294public Event_StatusIcon_Show_buyzone(id)
1295 if(is_vip(id))
1296 UserInBuyZone[id] = true;
1297
1298CheckMenuClose(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
1306print_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
1314stock 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
1325check_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
1352stock 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 */
1381public _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//======================================================//