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