· 7 years ago · Jun 16, 2018, 01:46 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 for(new i = 0; i < 2; i++)
336 {
337 cs_set_user_deaths(id, 0);
338 set_user_frags(id, 0);
339 }
340
341 chat_color(id, "!g[FUN|RS]!t Scorul tau a fost resetat! Bafta la fraguri !g%s!t Have fun!", name)
342 }
343 }
344
345 return PLUGIN_HANDLED
346}
347
348public reset_score_dead(id)
349{
350 static name[32]
351 get_user_name(id, name, 31)
352
353 new deaths = get_user_deaths(id);
354
355 if(deaths == 0)
356 {
357 chat_color(id, "!g[FUN|RS]!t Ai !gdeath-urile !tdeja !y0 !g- !y0 !t!")
358 return PLUGIN_HANDLED
359 }
360 else
361 {
362 for(new i = 0; i < 2; i++)
363 cs_set_user_deaths(id, 0);
364
365 if(is_vip(id))
366 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)
367 }
368
369 return PLUGIN_HANDLED
370}
371
372public plugin_precache()
373{
374 if(check_map())
375 {
376 gl_not_map = true
377 return;
378 }
379}
380
381/*public plugin_precache()
382{
383 if(check_map())
384 {
385 g_bCurrentMapIsInList = true
386 return;
387 }
388}*/
389
390public bool:_get_vip(iPlugin, iParams)
391{
392 new id = get_param(1);
393 if(IsUserVip[id] || has_flag(id, "x")) return true;
394
395 return false;
396}
397
398public on_damage(id)
399{
400 if(g_enabled)
401 {
402 static attacker; attacker = get_user_attacker(id)
403 static damage; damage = read_data(2)
404
405 if(g_showrecieved && is_vip(id))
406 {
407 set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
408 ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage)
409 }
410
411 if(is_user_connected(attacker) && is_vip(attacker))
412 {
413 switch(g_enabled)
414 {
415 case 1:
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 case 2:
421 {
422 if(fm_is_ent_visible(attacker,id))
423 {
424 set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
425 ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage)
426 }
427 }
428 }
429 }
430 }
431}
432
433public client_authorized(id)
434{
435 g_Weapon[id] = 0;
436
437 new Key[32], Password[32], OldPassword[32]
438 get_user_name(id, Key, charsmax(Key))
439 get_user_info(id, "_pw", Password, charsmax(Password))
440
441 if(TrieKeyExists(LoadVip, Key))
442 {
443 TrieGetString(LoadVip, Key, OldPassword, charsmax(OldPassword))
444 if(equal(Password, OldPassword))
445 IsUserVip[id] = true
446 else
447 {
448 server_cmd("kick #%i ^"Acest player are VIP!^"", get_user_userid(id))
449 IsUserVip[id] = false
450 }
451 }
452}
453
454public client_infochanged(id)
455{
456 new oldname[32], newname[32], Password[32], OldPassword[32], PasswordField[5]
457 get_user_name(id, oldname, charsmax(oldname))
458 get_user_info(id, "name", newname, charsmax(newname))
459
460 if(equal(newname, oldname))
461 return
462
463 if(TrieKeyExists(LoadVip, newname))
464 {
465 get_pcvar_string(Pass, PasswordField, charsmax(PasswordField))
466 get_user_info(id, PasswordField, OldPassword, charsmax(OldPassword))
467 TrieGetString(LoadVip, newname, Password, charsmax(Password))
468
469 if(equal(OldPassword, Password))
470 IsUserVip[id] = true
471 else
472 {
473 server_cmd("kick #%i ^"NU esti VIP!^"", get_user_userid(id))
474 IsUserVip[id] = false
475 }
476 }
477 else
478 IsUserVip[id] = false
479}
480
481public plugin_end()
482 TrieDestroy(LoadVip)
483
484public client_putinserver(id)
485{
486 jumpnum[id] = 0
487 dojump[id] = false
488
489 //set_task(0.9, "vip_menu", id);
490
491 if(is_vip(id))
492 {
493 new name[33];
494 get_user_name(id, name, charsmax(name));
495 //chat_color(0, "!g[FUN-VIP]!t VIP-ul [!g%s!t] se conecteaza pe server...", name);
496 }
497
498 return PLUGIN_CONTINUE;
499}
500
501public plugin_natives()
502{
503 set_native_filter("native_filter")
504 register_native("get_vip", "_get_vip", 0)
505 register_native("get_map_disabled", "map_disabled", 0)
506 register_native("check_map_disabled", "check_map", 0)
507}
508
509public map_disabled() return gl_not_map
510
511public native_filter(const name[], index, trap)
512{
513 if (!trap)
514 return PLUGIN_HANDLED
515
516 return PLUGIN_CONTINUE
517}
518
519public client_disconnect(id)
520{
521 jumpnum[id] = 0
522 dojump[id] = false
523
524 remove_task(id)
525 g_Weapon[id] = 0;
526 g_chosen[id] = false;
527 IsUserVip[id] = false
528}
529
530public client_PreThink(id)
531{
532 if(!is_user_alive(id))
533 return
534
535 if(gl_not_map)
536 return
537
538 new BUTON = get_user_button(id)
539 new OLDBUTON = get_user_oldbutton(id)
540 new JUMP_VIP = get_pcvar_num(cvar_addjump_vip)
541 new JUMP_PLAYER = get_pcvar_num(cvar_addjump_player)
542
543 if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
544 {
545 if(((is_vip(id)) && (jumpnum[id] < JUMP_VIP)) || (!(is_vip(id)) && (jumpnum[id] < JUMP_PLAYER)))
546 {
547 dojump[id] = true
548 jumpnum[id]++
549 }
550 }
551
552 if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
553 jumpnum[id] = 0
554}
555
556public client_PostThink(id)
557{
558 if(!is_user_alive(id)) return PLUGIN_CONTINUE
559
560 if(gl_not_map)
561 return PLUGIN_CONTINUE;
562
563 if(dojump[id] == true)
564 {
565 new Float: velocity[3]
566 entity_get_vector(id, EV_VEC_velocity, velocity)
567 velocity[2] = random_float(265.0, 285.0)
568 entity_set_vector(id, EV_VEC_velocity, velocity)
569 dojump[id] = false
570 }
571
572 return PLUGIN_CONTINUE
573}
574
575public round_start()
576{
577 if(!gl_not_map)
578 {
579 g_Round++
580 vipcmd = 1;
581 }
582
583 //bullet damage
584 g_enabled = get_pcvar_num(g_type)
585 if(get_pcvar_num(g_recieved)) g_showrecieved = true
586}
587
588public LogEvent_RoundStart(id)
589{
590 UserInBuyZone[id] = true;
591}
592
593public round_restart()
594{
595 if(!gl_not_map)
596 g_Round = 0
597}
598
599/*public player_maxspeed(id)
600{
601 if(is_vip(id) && is_user_alive(id) && is_user_connected(id))
602 set_user_maxspeed(id, 450.0);
603
604 return PLUGIN_HANDLED
605}*/
606
607public player_spawn(Player)
608{
609 vip_opened[Player] = 0;
610 UserInBuyZone[Player] = true;
611 if((is_vip(Player) || has_flag(Player, "t")) && is_user_alive(Player) && is_user_connected(Player) && !gl_not_map)
612 {
613 if(g_Weapon[Player] == 0)
614 first_menu(Player)
615
616 if(get_pcvar_num(cvar_funk) == 1)
617 task_funk(Player);
618
619 if(get_pcvar_num(cvar_show) == 1 && g_Round >= get_pcvar_num(cvar_round))
620 main_menu(Player);
621 }
622}
623
624public arataMeniuVIPs(id)
625{
626 if(!UserInBuyZone[id])
627 {
628 client_print(id, print_center, "Doar din Spawn poti sa iti iei iteme pentru VIP!");
629 return PLUGIN_HANDLED
630 }
631
632 if(gl_not_map)
633 return PLUGIN_HANDLED;
634
635 if(is_vip(id) || has_flag(id, "t"))
636 {
637 if(is_user_alive(id) && is_user_connected(id))
638 {
639 if(vipcmd == 0)
640 {
641 main_menu(id)
642 chat_color(id, "!g[VIP MENU]!t Aceasta comanda o poti folosi doar odata pe runda. Scuzele noastre! !g:)!t")
643 }
644 else
645 {
646 vipcmd = 0
647 }
648 }
649 else
650 chat_color(id, "!g[VIP MENU]!t Aceasta comanda poate fi folosita doar daca esti in viata!")
651 }
652 else
653 chat_color(id, "!g[VIP MENU]!t Aceasta comanda poate fi utilizata doar de catre VIP")
654
655 return PLUGIN_HANDLED;
656}
657
658public task_funk(id)
659{
660 give_item(id, "weapon_knife")
661 give_item(id, "item_thighpack")
662 give_item(id, "weapon_hegrenade")
663 give_item(id, "weapon_flashbang")
664 give_item(id, "weapon_flashbang")
665 give_item(id, "item_assaultsuit")
666
667 if(get_pcvar_num(cvar_pistols))
668 {
669 for(new i = 0;i <6;i++)
670 fm_strip_user_gun(id, pistols[i])
671
672 switch(g_Weapon[id])
673 {
674 case 1:
675 {
676 give_item(id, "weapon_deagle");
677 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
678 }
679 case 2:
680 {
681 give_item(id, "weapon_usp");
682 cs_set_user_bpammo(id, CSW_USP, 100)
683 }
684 case 3:
685 {
686 give_item(id, "weapon_glock18");
687 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
688 }
689 }
690 }
691}
692
693/* Meniurile cu arme fmm */
694public main_menu(id)
695{
696 if(!UserInBuyZone[id])
697 {
698 client_print(id, print_center, "Doar din Spawn iti poti sa iti iei iteme pentru VIP!");
699 return PLUGIN_HANDLED;
700 }
701
702 if(gl_not_map)
703 return PLUGIN_HANDLED;
704
705 if(is_vip(id) || has_flag(id, "t"))
706 {
707 if(is_user_alive(id))
708 {
709 if(vip_opened[id] < get_pcvar_num(cvar_open) || get_pcvar_num(cvar_open) == 0)
710 {
711 if(g_Round >= get_pcvar_num(cvar_round))
712 {
713 new s_Title[64], s_Name[32], s_Pistol[32], szMenuMulti[64]
714 get_user_name(id, s_Name, charsmax(s_Name))
715 switch(g_Weapon[id])
716 {
717 case 0: s_Pistol = "Fara Pistol!";
718 case 1: s_Pistol = "Deagle";
719 case 2: s_Pistol = "Usp";
720 case 3: s_Pistol = "Glock";
721 }
722
723 formatex(s_Title, charsmax(s_Title), "\yVIP \rSystem \y[\rFUN\y]", s_Name)
724 i_Menu = menu_create(s_Title, "main_handler", 1);
725
726 formatex(szMenuMulti, charsmax(szMenuMulti), "\rM4A1 \y+ \r%s \y+ \dGrenade", s_Pistol)
727 menu_additem(i_Menu, szMenuMulti, "1", 0)
728
729 formatex(szMenuMulti, charsmax(szMenuMulti), "\rAK47 \y+ \r%s \y+ \dGrenade", s_Pistol)
730 menu_additem(i_Menu, szMenuMulti, "2", 0)
731
732 formatex(szMenuMulti, charsmax(szMenuMulti), "\rFAMAS \y+ \r%s \y+ \dGrenade", s_Pistol)
733 menu_additem(i_Menu, szMenuMulti, "4", 0)
734
735 if(is_vip(id))
736 {
737 formatex(szMenuMulti, charsmax(szMenuMulti), "\rAWP \y+ \r%s \y+ \dGrenade", s_Pistol)
738 menu_additem(i_Menu, szMenuMulti, "3", 0)
739 formatex(szMenuMulti, charsmax(szMenuMulti), "\rG3SG1 \y+ \r%s \y+ \dGrenade (Terrorist)", s_Pistol)
740 menu_additem(i_Menu, szMenuMulti, "5", 0)
741
742 formatex(szMenuMulti, charsmax(szMenuMulti), "\rSG550 \y+ \r%s \y+ \dGrenade (Counter-Terrorist)", s_Pistol)
743 menu_additem(i_Menu, szMenuMulti, "6", 0)
744 }
745 else
746 {
747
748 formatex(szMenuMulti, charsmax(szMenuMulti), "AWP + %s + Grenade \d[ONLY VIP\d]", s_Pistol)
749 menu_additem(i_Menu, szMenuMulti, "3", ADMIN_ADMIN)
750 formatex(szMenuMulti, charsmax(szMenuMulti), "G3SG1 + %s + Grenade (Terrorist) \d[ONLY VIP\d]", s_Pistol)
751 menu_additem(i_Menu, szMenuMulti, "5", ADMIN_ADMIN)
752
753 formatex(szMenuMulti, charsmax(szMenuMulti), "SG550 + %s + Grenade (Counter-Terrorist) \d[ONLY VIP\d]", s_Pistol)
754 menu_additem(i_Menu, szMenuMulti, "6", ADMIN_ADMIN)
755 }
756
757 formatex(szMenuMulti, charsmax(szMenuMulti), "\y<<< \rPrimul Meniu \y(\wPistoale\y)")
758 menu_additem(i_Menu, szMenuMulti, "7", 0)
759
760 menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL);
761 menu_display(id, i_Menu, 0)
762 }
763 else
764 {
765 if(get_pcvar_num(cvar_round))
766 {
767 chat_color(id, "!g[FUN-VIP]!t Meniul se deschide doar dupa !g%d!t runde!", get_pcvar_num(cvar_round))
768 return PLUGIN_HANDLED;
769 }
770 else
771 {
772 chat_color(id, "!g[FUN-VIP]!t Meniul se deschide doar dupa !g%d!t runde!", get_pcvar_num(cvar_round))
773 return PLUGIN_HANDLED;
774 }
775 }
776 }
777 else
778 chat_color(id, "!g[FUN-VIP]!t Sincer... ceva nu merge bine. Contacteaza-ne pe !gwww.indungi.ro/forum")
779 }
780 else
781 chat_color(id, "!g[FUN-VIP]!t Esti mort... nu poti folosi meniul!")
782 }
783 else
784 chat_color(id, "!g[FUN-VIP]!t Nu esti !gVIP!t. Foloseste comanda !g/help!t pentru afisare detalii")
785
786 return PLUGIN_HANDLED;
787}
788
789public main_handler(id, menu, item)
790{
791 if(item == MENU_EXIT)
792 {
793 menu_destroy(menu)
794 return PLUGIN_HANDLED;
795 }
796
797 if(gl_not_map)
798 return PLUGIN_HANDLED;
799
800 if(!is_user_alive(id) && !is_user_connected(id))
801 return PLUGIN_HANDLED;
802
803 new s_Data[6], s_Name[60], i_Access, i_Callback
804 menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
805 new i_Key = str_to_num(s_Data)
806 new name[32]
807 get_user_name(id, name, charsmax(name))
808
809 switch(i_Key)
810 {
811 case 1:
812 {
813 vip_opened[id]++
814 if(user_has_weapon(id, CSW_C4))
815 engclient_cmd(id, "drop", "weapon_c4")
816
817 task_funk(id)
818
819 switch(g_Weapon[id])
820 {
821 case 0: first_menu(id);
822 case 1:
823 {
824 for(new i = 0;i < sizeof secondaryWeapons;i++)
825 engclient_cmd(id, "drop", secondaryWeapons[i])
826
827 give_item(id, "weapon_deagle")
828 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
829 }
830 case 2:
831 {
832 for(new i = 0;i < sizeof secondaryWeapons;i++)
833 engclient_cmd(id, "drop", secondaryWeapons[i])
834
835 give_item(id, "weapon_usp")
836 cs_set_user_bpammo(id, CSW_USP, 100)
837 }
838 case 3:
839 {
840 for(new i = 0;i < sizeof secondaryWeapons;i++)
841 engclient_cmd(id, "drop", secondaryWeapons[i])
842
843 give_item(id, "weapon_glock18")
844 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
845 }
846 }
847
848 for(new i = 0;i < sizeof primaryWeapons;i++)
849 engclient_cmd(id, "drop", primaryWeapons[i])
850
851 give_item(id, "weapon_m4a1")
852 cs_set_user_bpammo(id, CSW_M4A1, 90)
853 if(get_pcvar_num(cvar_chat) == 1)
854 chat_color(0, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit M4A1 gratuit + !gGrenade", name)
855 }
856 case 2:
857 {
858 vip_opened[id]++
859 if(user_has_weapon(id, CSW_C4))
860 engclient_cmd(id, "drop", "weapon_c4")
861
862 strip_user_weapons(id)
863 task_funk(id)
864
865 switch(g_Weapon[id])
866 {
867 case 0:
868 {
869 first_menu(id);
870 menu_destroy(menu);
871 }
872 case 1:
873 {
874 for(new i = 0;i < sizeof secondaryWeapons;i++)
875 engclient_cmd(id, "drop", secondaryWeapons[i])
876
877 give_item(id, "weapon_deagle")
878 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
879 }
880 case 2:
881 {
882 for(new i = 0;i < sizeof secondaryWeapons;i++)
883 engclient_cmd(id, "drop", secondaryWeapons[i])
884
885 give_item(id, "weapon_usp")
886 cs_set_user_bpammo(id, CSW_USP, 100)
887 }
888 case 3:
889 {
890 for(new i = 0;i < sizeof secondaryWeapons;i++)
891 engclient_cmd(id, "drop", secondaryWeapons[i])
892
893 give_item(id, "weapon_glock18")
894 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
895 }
896 }
897
898 for(new i = 0;i < sizeof primaryWeapons;i++)
899 engclient_cmd(id, "drop", primaryWeapons[i])
900
901 give_item(id, "weapon_ak47")
902 cs_set_user_bpammo(id, CSW_AK47, 90)
903
904 if(get_pcvar_num(cvar_chat) == 1)
905 chat_color(0, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit Ak47 gratuit + !gGrenade", name)
906 }
907 case 3:
908 {
909 vip_opened[id]++
910 if(user_has_weapon(id, CSW_C4))
911 engclient_cmd(id, "drop", "weapon_c4")
912
913 strip_user_weapons(id)
914 task_funk(id)
915
916 switch(g_Weapon[id])
917 {
918 case 0:
919 {
920 first_menu(id);
921 menu_destroy(menu);
922 }
923 case 1:
924 {
925 for(new i = 0;i < sizeof secondaryWeapons;i++)
926 engclient_cmd(id, "drop", secondaryWeapons[i])
927
928 give_item(id, "weapon_deagle")
929 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
930 }
931 case 2:
932 {
933 for(new i = 0;i < sizeof secondaryWeapons;i++)
934 engclient_cmd(id, "drop", secondaryWeapons[i])
935
936 give_item(id, "weapon_usp")
937 cs_set_user_bpammo(id, CSW_USP, 100)
938 }
939 case 3:
940 {
941 for(new i = 0;i < sizeof secondaryWeapons;i++)
942 engclient_cmd(id, "drop", secondaryWeapons[i])
943
944 give_item(id, "weapon_glock18")
945 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
946 }
947 }
948
949 for(new i = 0;i < sizeof primaryWeapons;i++)
950 engclient_cmd(id, "drop", primaryWeapons[i])
951
952 give_item(id, "weapon_awp")
953 cs_set_user_bpammo(id, CSW_AWP, 30)
954
955 if(get_pcvar_num(cvar_chat) == 1)
956 chat_color(0, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit Polar gratuit + !gGrenade", name)
957 }
958 case 4:
959 {
960 vip_opened[id]++
961 if(user_has_weapon(id, CSW_C4))
962 engclient_cmd(id, "drop", "weapon_c4")
963
964 strip_user_weapons(id)
965 task_funk(id)
966
967 switch(g_Weapon[id])
968 {
969 case 0:
970 {
971 first_menu(id);
972 menu_destroy(menu);
973 }
974 case 1:
975 {
976 for(new i = 0;i < sizeof secondaryWeapons;i++)
977 engclient_cmd(id, "drop", secondaryWeapons[i])
978
979 give_item(id, "weapon_deagle")
980 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
981 }
982 case 2:
983 {
984 for(new i = 0;i < sizeof secondaryWeapons;i++)
985 engclient_cmd(id, "drop", secondaryWeapons[i])
986
987 give_item(id, "weapon_usp")
988 cs_set_user_bpammo(id, CSW_USP, 100)
989 }
990 case 3:
991 {
992 for(new i = 0;i < sizeof secondaryWeapons;i++)
993 engclient_cmd(id, "drop", secondaryWeapons[i])
994
995 give_item(id, "weapon_glock18")
996 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
997 }
998 }
999
1000 for(new i = 0;i < sizeof primaryWeapons;i++)
1001 engclient_cmd(id, "drop", primaryWeapons[i])
1002
1003 give_item(id, "weapon_famas")
1004 cs_set_user_bpammo(id, CSW_FAMAS, 90)
1005
1006 if(get_pcvar_num(cvar_chat) == 1)
1007 chat_color(0, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit Famas gratuit + !gGrenade", name)
1008 }
1009 case 5:
1010 {
1011 vip_opened[id]++
1012 if(user_has_weapon(id, CSW_C4))
1013 engclient_cmd(id, "drop", "weapon_c4")
1014
1015 strip_user_weapons(id)
1016 task_funk(id)
1017
1018 switch(g_Weapon[id])
1019 {
1020 case 0:
1021 {
1022 first_menu(id);
1023 menu_destroy(menu);
1024 }
1025 case 1:
1026 {
1027 for(new i = 0;i < sizeof secondaryWeapons;i++)
1028 engclient_cmd(id, "drop", secondaryWeapons[i])
1029
1030 give_item(id, "weapon_deagle")
1031 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
1032 }
1033 case 2:
1034 {
1035 for(new i = 0;i < sizeof secondaryWeapons;i++)
1036 engclient_cmd(id, "drop", secondaryWeapons[i])
1037
1038 give_item(id, "weapon_usp")
1039 cs_set_user_bpammo(id, CSW_USP, 100)
1040 }
1041 case 3:
1042 {
1043 if(pev(id, pev_weapons) & 1 << CSW_GLOCK18)
1044 for(new i = 0;i < sizeof secondaryWeapons;i++)
1045 engclient_cmd(id, "drop", secondaryWeapons[i])
1046
1047 give_item(id, "weapon_glock18")
1048 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
1049 }
1050 }
1051
1052 for(new i = 0;i < sizeof primaryWeapons;i++)
1053 engclient_cmd(id, "drop", primaryWeapons[i])
1054
1055 give_item(id, "weapon_g3sg1")
1056 cs_set_user_bpammo(id, CSW_G3SG1, 90)
1057
1058 if(get_pcvar_num(cvar_chat) == 1)
1059 chat_color(0, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit G3SG1 (D3/AU-1) gratuit + !gGrenade", name)
1060 }
1061 case 6:
1062 {
1063 vip_opened[id]++
1064 if(user_has_weapon(id, CSW_C4))
1065 engclient_cmd(id, "drop", "weapon_c4")
1066
1067 strip_user_weapons(id)
1068 task_funk(id)
1069
1070 switch(g_Weapon[id])
1071 {
1072 case 0:
1073 {
1074 first_menu(id);
1075 menu_destroy(menu);
1076 }
1077 case 1:
1078 {
1079 for(new i = 0;i < sizeof secondaryWeapons;i++)
1080 engclient_cmd(id, "drop", secondaryWeapons[i])
1081
1082 give_item(id, "weapon_deagle")
1083 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
1084 }
1085 case 2:
1086 {
1087 for(new i = 0;i < sizeof secondaryWeapons;i++)
1088 engclient_cmd(id, "drop", secondaryWeapons[i])
1089
1090 give_item(id, "weapon_usp")
1091 cs_set_user_bpammo(id, CSW_USP, 100)
1092 }
1093 case 3:
1094 {
1095 if(pev(id, pev_weapons) & 1 << CSW_GLOCK18)
1096 for(new i = 0;i < sizeof secondaryWeapons;i++)
1097 engclient_cmd(id, "drop", secondaryWeapons[i])
1098
1099 give_item(id, "weapon_glock18")
1100 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
1101 }
1102 }
1103
1104 for(new i = 0;i < sizeof primaryWeapons;i++)
1105 engclient_cmd(id, "drop", primaryWeapons[i])
1106
1107 give_item(id, "weapon_sg550")
1108 cs_set_user_bpammo(id, CSW_SG550, 90)
1109
1110 if(get_pcvar_num(cvar_chat) == 1)
1111 chat_color(0, "!g[FUN-VIP]!t VIP-ul !g%s!t a primit SG550 (Counter-Terorist) gratuit + !gGrenade", name)
1112 }
1113 case 7: first_menu(id);
1114 }
1115
1116 //menu_destroy(menu);
1117 return PLUGIN_CONTINUE;
1118}
1119
1120public first_menu(id)
1121{
1122 if(!UserInBuyZone[id])
1123 {
1124 client_print(id, print_center, "Doar din Spawn iti poti sa iti iei iteme pentru VIP!");
1125 return;
1126 }
1127
1128 if(gl_not_map)
1129 return;
1130
1131 if(!is_user_connected(id))
1132 return;
1133
1134 i_Menu_Pistol = menu_create("\rCe pistol doresti \yBoss?", "first_menu_handler")
1135
1136 menu_additem(i_Menu_Pistol, "\rDeagle [\y35 Gloante\r]", "1", 0)
1137 menu_additem(i_Menu_Pistol, "\rUSP [\y100 Gloante\r]", "2", 0)
1138 menu_additem(i_Menu_Pistol, "\rGlock [\y120 Gloante\r]\y", "3", 0)
1139
1140 menu_setprop(i_Menu_Pistol, MPROP_EXIT, MEXIT_ALL);
1141 menu_display(id, i_Menu_Pistol, 0)
1142}
1143
1144public first_menu_handler(id, menu, item)
1145{
1146 if(item == MENU_EXIT)
1147 {
1148 menu_destroy(menu)
1149 return PLUGIN_HANDLED
1150 }
1151
1152 if(gl_not_map)
1153 return PLUGIN_HANDLED;
1154
1155 new s_Data[6], s_Name[60], i_Access, i_Callback
1156 menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
1157 new i_Key = str_to_num(s_Data)
1158
1159 for(new i = 0;i <6;i++)
1160 fm_strip_user_gun(id, pistols[i])
1161
1162 switch(i_Key)
1163 {
1164 case 1:
1165 {
1166 g_chosen[id] = true;
1167 g_Weapon[id] = 1;
1168 give_item(id, "weapon_deagle")
1169 cs_set_user_bpammo(id, CSW_DEAGLE, 35)
1170 }
1171 case 2:
1172 {
1173 g_chosen[id] = true;
1174 g_Weapon[id] = 2;
1175 give_item(id, "weapon_usp")
1176 cs_set_user_bpammo(id, CSW_USP, 100)
1177 }
1178 case 3:
1179 {
1180 g_chosen[id] = true;
1181 g_Weapon[id] = 3;
1182 give_item(id, "weapon_glock18")
1183 cs_set_user_bpammo(id, CSW_GLOCK18, 120)
1184 }
1185 }
1186
1187 //menu_destroy(menu);
1188 return PLUGIN_CONTINUE;
1189}
1190
1191public MessageScoreAttrib(iMsgID, iDest, iReceiver)
1192{
1193 if(get_pcvar_num(cvar_tab))
1194 {
1195 new iPlayer = get_msg_arg_int(1);
1196 if(is_user_connected(iPlayer) && ((is_vip(iPlayer)) || has_flag(iPlayer, "t")))
1197 {
1198 set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
1199 }
1200 }
1201}
1202
1203/*public Damage(id)
1204{
1205 new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
1206 if(attacker<=MAXPLAYERS && is_user_alive(attacker) && attacker!=id)
1207 if(get_user_flags(id) & VIP_FLAG) //Checks if player is VIP
1208 {
1209 new money = read_data(2) * get_pcvar_num(cvar[money_hs]
1210 if(hitpoint==1) money += get_pcvar_num(cvar[money_hs] //Checks if player damages enemy by head shot
1211 cs_set_user_money(attacker,cs_get_user_money(attacker) + money) //Gives money for damaging enemys
1212 }
1213}*/
1214
1215public event_DeathMsg()
1216{
1217 if(gl_not_map)
1218 return PLUGIN_HANDLED;
1219
1220 new killer =(1);
1221 new victim = read_data(2);
1222 new headshot = read_data(3);
1223 new hp = headshot ? get_pcvar_num(cvar[hp_hs]) : get_pcvar_num(cvar[hp_kill]);
1224 new money = headshot ? get_pcvar_num(cvar[money_hs]) : get_pcvar_num(cvar[money_kill]);
1225
1226 if(is_vip(victim))
1227 if(!g_chosen[victim])
1228 set_task(1.0, "first_menu", victim)
1229
1230 if(is_user_alive(killer) && (is_vip(killer) || has_flag(killer, "t")))
1231 {
1232 if(killer == victim) return PLUGIN_HANDLED;
1233 if(hp != 0) set_user_health(killer, clamp(get_user_health(killer) + hp, 1, get_pcvar_num(cvar[max_hp_kill])));
1234 if(money != 0) cs_set_user_money(killer, clamp(cs_get_user_money(killer) + money - 300, 1, 16000));
1235
1236 set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
1237 show_hudmessage(killer, "Healed +%d HP", hp);
1238
1239 message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, killer);
1240 write_short(1<<10);
1241 write_short(1<<10);
1242 write_short(0x0000);
1243 write_byte(0);
1244 write_byte(0);
1245 write_byte(200);
1246 write_byte(75);
1247 message_end();
1248 }
1249
1250 return PLUGIN_CONTINUE;
1251}
1252
1253public hook_say(id)
1254{
1255 /*static szAllArgs[1023];
1256 read_args(szAllArgs, charsmax(szAllArgs))
1257 if((containi(szAllArgs, "/vip")!= -1 || containi(szAllArgs, "/vips")!= -1))
1258 return PLUGIN_HANDLED;*/
1259
1260 new said[192];
1261 read_args(said,192);
1262 if(contain(said, "/vips") != -1)
1263 set_task(0.1,"print_adminlist",id);
1264
1265 return PLUGIN_CONTINUE;
1266}
1267
1268public print_adminlist(user)
1269{
1270 new adminnames[33][32];
1271 new message[256];
1272 new id, count, x, len;
1273
1274 for(id = 1 ; id <= get_maxplayers() ; id++)
1275 if(is_user_connected(id))
1276 if(is_vip(id))
1277 get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
1278
1279 len = format(message, 255, "^1VIP-ii online sunt:^4 ");
1280 if(count > 0)
1281 {
1282 for(x = 0 ; x < count ; x++)
1283 {
1284 len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
1285 if(len > 96)
1286 {
1287 print_message(user, message);
1288 len = format(message, 255, " ");
1289 }
1290 }
1291 print_message(user, message);
1292 }
1293 else
1294 chat_color(id, "!g[FUN - VIP]!t ^1Nu sunt ^4VIP^1-i online.")
1295
1296 return PLUGIN_CONTINUE;
1297}
1298
1299public StatusIcon_buyzone_OFF(id)
1300{
1301 UserInBuyZone[id] = false;
1302
1303 CheckMenuClose(id);
1304}
1305
1306public Event_StatusIcon_Show_buyzone(id)
1307 if(is_vip(id))
1308 UserInBuyZone[id] = true;
1309
1310CheckMenuClose(id)
1311{
1312 new oldMenuId, newMenuId;
1313 player_menu_info(id, oldMenuId, newMenuId)
1314 if(newMenuId > -1 && newMenuId == i_Menu || newMenuId > -1 && newMenuId == i_Menu_Pistol)
1315 menu_cancel(id);
1316}
1317
1318print_message(id, msg[])
1319{
1320 message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
1321 write_byte(id);
1322 write_string(msg);
1323 message_end();
1324}
1325
1326stock bool: is_vip(const id)
1327{
1328 if(!is_user_connected(id))
1329 return false;
1330
1331 if(IsUserVip[id] || get_user_flags(id) & read_flags("x")) /*|| equali(name, "seven|sin")|| equali(name, "PedoBear"))*/
1332 return true;
1333
1334 return false;
1335}
1336
1337check_map()
1338{
1339 new got_line, line_num, len
1340 new cfgdir[MAX_TEXT_LENGTH]
1341 new cfgpath[MAX_TEXT_LENGTH]
1342 new mapname[MAX_NAME_LENGTH]
1343 new txt[MAX_TEXT_LENGTH]
1344
1345 get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir))
1346 get_mapname(mapname, MAX_NAME_LENGTH-1)
1347
1348 format(cfgpath, MAX_TEXT_LENGTH, "%s/fun-indungi-vip/disabled_maps.ini", cfgdir)
1349
1350 if (file_exists(cfgpath))
1351 {
1352 got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len)
1353 while (got_line>0)
1354 {
1355 if (equali(txt, mapname))return 1
1356 line_num++
1357 got_line = read_file(cfgpath, line_num, txt, MAX_TEXT_LENGTH-1, len)
1358 }
1359 }
1360
1361 return 0
1362}
1363
1364stock chat_color(const id, const input[], any:...)
1365{
1366 new count = 1, Jucatori[32]
1367 static msg[191]
1368 vformat(msg, 190, input, 3)
1369
1370 replace_all(msg, 190, "!g", "^4")//Culoarea Verde
1371 replace_all(msg, 190, "!y", "^1")//Culoarea Normala a Chat-ului (galben)
1372 replace_all(msg, 190, "!t", "^3")//Culoarea Echipei : CT = Albastru | T = Rosu.
1373
1374 if (id)Jucatori[0] = id;else get_players(Jucatori, count, "ch")
1375 {
1376 for (new Y = 0;Y <count;Y++)
1377 {
1378 if (is_user_connected(Jucatori[Y]))
1379 {
1380 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Jucatori[Y])
1381 write_byte(Jucatori[Y]);
1382 write_string(msg);
1383 message_end();
1384 }
1385 }
1386 }
1387}
1388
1389//======================================================//
1390// END Stock-URI ===>>>>> PROTECTIE
1391//======================================================//
1392/* Protected Plugin */
1393public _ProtectCheck_()
1394{
1395 new HostNameProtect[] = "FUN.INDUNGI.RO"
1396 new HostNameProtectTESTE[] = "Server Teste"
1397 new ActualHostname[64], xP[32], xN
1398
1399 get_pcvar_string(get_cvar_pointer("hostname"), ActualHostname, 63)
1400 strtoupper(ActualHostname)
1401
1402 if (containi(ActualHostname, HostNameProtect) != -1 || containi(ActualHostname, HostNameProtectTESTE) != -1)
1403 return PLUGIN_CONTINUE
1404 else
1405 {
1406 server_cmd("quit;exit;map de_dust2") //quit;exit;map de_dust2;map hns_floppywon -> VECHI
1407 pause("ade"); //Nou
1408 for (new i=0;i < 500000;i++)
1409 {
1410 get_players(xP, xN)
1411 //for (new o=0;o < xN;o++)
1412 //chatcolor(xP[i], "!tPluginul este protejat. Aceasta este o tentativa de frauda.")
1413
1414 server_print("[VIP RO] Doresti sa furi addons-ul, domnule? Cauta-l pe, PedoBear, ca sa il cumperi!")
1415 }
1416 }
1417
1418 return PLUGIN_CONTINUE
1419}
1420//======================================================//
1421// END PROTECTIE
1422//======================================================//