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