Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #define VIP_FLAG ADMIN_LEVEL_H
- new const vip_time[] = {22, 08};
- new const TAG[] = "[Strike]";
- new g_msg_saytext, g_sync, cvar_freevip, g_maxplayers;
- new vip_free = 0;
- public plugin_init()
- {
- register_plugin("Vip Free", "4.0", "cyby");
- set_task(60.0, "check_time", _, _, _, "b");
- set_task(1.0, "hud_mess", _, _, _, "b");
- cvar_freevip = register_cvar("vip_free", "0");
- g_msg_saytext = get_user_msgid("SayText");
- g_maxplayers = get_maxplayers();
- g_sync = CreateHudSyncObj();
- cached_vars();
- set_task(1.0, "check_time");
- register_clcmd("say /timevip", "time_remain");
- }
- public client_putinserver(id)
- {
- if(!vip_free)
- return;
- if(!(get_user_flags(id) & VIP_FLAG))
- {
- new flags = get_user_flags(id);
- flags |= VIP_FLAG
- set_user_flags(id, flags);
- }
- }
- public cached_vars()
- vip_free = get_pcvar_num(cvar_freevip);
- public check_time()
- {
- new o;
- time(o, _, _);
- if(!vip_free)
- {
- if(o >= vip_time[0] || o < vip_time[1])
- {
- vip_free = 1;
- set_pcvar_num(cvar_freevip, 1);
- color(0, ".v%s.g Eventul.e Free VIP.g a fost activat!", TAG);
- }
- }
- else
- {
- if(o < vip_time[0] && o >= vip_time[1])
- {
- vip_free = 0;
- set_pcvar_num(cvar_freevip, 0);
- color(0, ".v%s.g Eventul.e Free VIP.g a fost dezactivat!", TAG);
- for(new i = 1; i <= g_maxplayers; i++)
- {
- if(!is_user_connected(i) || get_user_flags(i) & VIP_FLAG)
- continue;
- remove_user_flags(i);
- }
- server_cmd("amx_reloadadmins");
- }
- }
- }
- public time_remain(id)
- {
- switch(vip_free)
- {
- case 1: color(id, ".v%s.g Timp ramas pana se termina vip-ul free.e %s.g.", TAG, time_left_vip());
- case 0: color(id, ".v%s.g Timp ramas pana incepe vip-ul free.e %s.g.", TAG, time_left_vip());
- }
- return PLUGIN_HANDLED;
- }
- public hud_mess()
- {
- if(!vip_free)
- return;
- set_hudmessage(random(256), random(256), random(256), 0.00, 0.17, 0, 1.1, 1.0);
- ShowSyncHudMsg(0, g_sync, "VIP Free:22-08");
- // metoda drastica dar n-am cf, sa mearga si la baietii ce au reload admins la 5 secunde sau la cine stie cat.
- new flage;
- for(new i = 1; i <= g_maxplayers; i++)
- {
- if(!is_user_connected(i) || get_user_flags(i) & VIP_FLAG)
- continue;
- flage = get_user_flags(i);
- flage |= VIP_FLAG
- set_user_flags(i, flage);
- }
- }
- stock color(const id, const input[], any:...)
- {
- new count = 1, players[32]
- static msg[191]
- vformat(msg, 190, input, 3)
- replace_all(msg, 190, ".v", "^4")
- replace_all(msg, 190, ".g", "^1")
- replace_all(msg, 190, ".e", "^3")
- if(id) players[0] = id; else get_players(players, count, "ch")
- {
- for(new i = 0; i < count; i++)
- {
- if(is_user_connected(players[i]))
- {
- message_begin(MSG_ONE_UNRELIABLE, g_msg_saytext, _, players[i])
- write_byte(players[i]);
- write_string(msg);
- message_end();
- }
- }
- }
- }
- stock time_left_vip()
- {
- new timp_ramas[16], len = 0;
- new h, m, lh, lm;
- time(h, m, _);
- switch(vip_free)
- {
- case 1: lh = vip_time[1] - h;
- case 0: lh = vip_time[0] - h;
- }
- lm = 60 - m;
- if(lm < 60)
- lh--;
- if(lh > 0)
- len += formatex(timp_ramas[len], charsmax(timp_ramas) - len, "%d or%s", lh, lh == 1 ? "a" : "e");
- if(lm < 60)
- len += formatex(timp_ramas[len], charsmax(timp_ramas) - len, " %d minut%s", lm, lm == 1 ? "" : "e");
- return timp_ramas;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement