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