Page 1 of 2

cerere plugin

Posted: 12 Jan 2019, 22:06
by floringold01
Plugin Cerut: Vip free
Descriere (adica ce face el mai exact): am tot cauat pe net dar nu am gasit un plugin bun am un sv de respawn si vreau un plugin vp free de la o anumita ora sa dea vip la toti pana la o anumita ora
Serverul ruleaza (HLDS/ReHLDS): -
Versiune AMX Mod X: -amx mod x
Modul Serverului: -respawn

Re: cerere plugin

Posted: 12 Jan 2019, 22:26
by Sp1ke.Yt

Code: Select all

#include <amxmodx>

#define VIP_FLAG ADMIN_LEVEL_H

new const vip_time[] = {23, 23};
new const TAG[] = "[CS]";

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, "NU UITA SA ADAUGI LA FAV SV:CS.ICEGAME.RO");
    // 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;
}
merge foarte bine il am si eu pe sv.

Re: cerere plugin

Posted: 12 Jan 2019, 22:47
by floringold01
IN ARE NU TREBUIE NIMICA?

Re: cerere plugin

Posted: 12 Jan 2019, 22:54
by Sp1ke.Yt
nu.

Re: cerere plugin

Posted: 13 Jan 2019, 02:32
by floringold01
nu merge probabil este de la pluginul vip dacama poti ajuta si cu pluginul vip

Re: cerere plugin

Posted: 13 Jan 2019, 04:21
by Sp1ke.Yt
pe ce flag ai plugins de vip?

Re: cerere plugin

Posted: 13 Jan 2019, 10:23
by floringold01
pe t

Re: cerere plugin

Posted: 13 Jan 2019, 16:38
by levin
și nu merge la nici un jucător?

Re: cerere plugin

Posted: 13 Jan 2019, 16:51
by floringold01
nup

Re: cerere plugin

Posted: 13 Jan 2019, 16:53
by levin
imposibil

vezi și cu ăsta..

Code: Select all

#include <amxmodx>

new const TAG[] = "[TAG]";

new bool:vip_free, g_msg_saytext;

public plugin_init()
{
register_plugin("Free VIP Giver", "2.0", "cyby")
check_time()
set_task(60.0, "check_time", _, _, _, "b")
set_task(1.0, "hud_mess", _, _, _, "b")

g_msg_saytext = get_user_msgid("SayText");
}

public check_time()
{
static preluare_ora[3], ora;
get_time("%H", preluare_ora, 2)
ora = str_to_num(preluare_ora)
if(20 >= ora || ora < 8)
{
if(!vip_free)
color(0, ".v%s.g Eventul.e Free VIP.g a fost activat!", TAG)
vip_free = true
server_cmd("amx_default_access ^"t^"")
}
else
{
if(vip_free)
color(0, ".v%s.g Eventul.e Free VIP.g a fost dezactivat!", TAG)
vip_free = false
server_cmd("amx_default_access ^"z^"")
}
server_cmd("amx_reloadadmins")
}

public hud_mess()
{
if(vip_free)
{
set_hudmessage(random(0), random(255), random(0), 0.00, 0.17, 1, 1.0, 1.0, 0.1, 0.1)
show_hudmessage(0, "Event V.I.P Silver FREE !")
}
}

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();
}
}
}
}

Re: cerere plugin

Posted: 13 Jan 2019, 17:00
by floringold01
ora de unde o setez? nu amcvar?

Re: cerere plugin

Posted: 13 Jan 2019, 17:02
by levin

Code: Select all

if(20 >= ora || ora < 8)
20 - ora de începere
8 - ora de încheiere