Modificare plugin VIP FREE

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
absolado
Membru, skill 0
Membru, skill 0
Posts: 30
Joined: 02 Feb 2013, 00:40
Detinator Steam: Nu
CS Status: Fan ExtreamCs
Detinator server CS: Nu
Has thanked: 4 times
Contact:

22 Apr 2022, 21:37

Va salut am un plugin de VIP FREE , il setez sa mearga de la ora "20" la ora "6dimineata" , are comanda /timevip , dar cand tastez /timevip nu arata decat ultima ora gen Timp ramas pana se termina vip-ul free 54 min , dupa acele 54 de min tastez iarasi scrie Timp ramas pana se termina vip-ul free 59 min , o reia de la capat , pute-ti sa imi faceti sa arate orele exact "Timp ramas pana se termina vip-ul free 4 ore , 5 ore si x min eTc ! MULTUMESC FRUMOS !
SURSA :

Code: Select all

#include <amxmodx>

#define VIP_FLAG ADMIN_LEVEL_H

new const vip_time[] = {20, 6};
new const TAG[] = "[PlayCs]";

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, " [PlayCs] Event VIP GRATUIT ON!");
    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;
}
stock add_time(x)

{
        new j;
	switch(x)

	{
		case 0: j = 24;

		case 1: j = 23;

		case 2: j = 22;

		case 3: j = 21;

		case 4: j = 20;

		case 5: j = 19;

		case 6: j = 18;

		case 7: j = 17; 

		case 8: j = 16;

		case 9: j = 15;

		case 10: j = 14;

		case 11: j = 13;

		case 12: j = 12;

		case 13: j = 11;

		case 14: j = 10;

		case 15: j = 9;

		case 16: j = 8;

		case 17: j = 7;

		case 18: j = 6;

		case 19: j = 5;

		case 20: j = 4;

		case 21: j = 3;

		case 22: j = 2;

		case 23: j = 1;

	}

	if(x < vip_time[1])

		j = 0;

	
	return j;

}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE

*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }

*/
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 4 guests