Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Приостановить определенный плагин

IIuKa
сообщение 4.10.2018, 21:31
Сообщение #1
Стаж: 13 лет

Сообщений: 667
Благодарностей: 29
Полезность: < 0

Здравствуйте! Мужики помогите сделать так что бы определенный плагин (miscstats) во время вармапа не работал (60 сек)
Cкрытый текст
[coub]#include <amxmodx>
#include <fakemeta_util>
#include <cstrike>
#include <fun>
#include <dhudmessage>
#include <hamsandwich>
new Timer, SecondsCvar
//new bool:first_time=true

new g_mode = 0
/*
1 - Knife
2 - Deagle
3 - Scout
4 - AWP
5 - Grenade

*/
#define TASK_REVIVE 2312
new const szWeaponNames[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
"weapon_ak47", "weapon_knife", "weapon_p90" }

public plugin_init()
{
register_plugin( "Warmup Random" , "4.0Stable", "VCL" )
register_event("DeathMsg", "on_death", "a")
register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" )
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
for (new i = 1; i < sizeof szWeaponNames; i++)
if (szWeaponNames[i][0]) RegisterHam(Ham_Item_AddToPlayer, szWeaponNames[i], "fw_Weapon_AddToPlayer_Post", 1)
SecondsCvar = register_cvar("wr_rr_time","60.0")
Timer = get_pcvar_num(SecondsCvar)
g_mode = random_num(1,5)
if(random_num(0,1)==1) g_mode = random_num(1,5)
set_task(1.0, "start_rr_timer", 0, _, _, "a", Timer)
}

public on_death()
{
new victim
victim = read_data(2)

if(g_mode!=0) set_task(1.0, "fnRevivePlayer", victim+TASK_REVIVE)
}

public fw_Weapon_AddToPlayer_Post(weapon, id)
{
if(g_mode!=0 && !task_exists(id)) set_task(0.1,"give_items",id)
}

public fwHamPlayerSpawnPost(id)
{
if(g_mode!=0 && !task_exists(id)) set_task(0.1,"give_items",id)

}

public give_items(id)
{
if(g_mode!=0 && is_user_connected(id) && is_user_alive(id))
{
fm_strip_user_weapons(id)
switch(g_mode)
{
case 1:
{
fm_give_item(id, "weapon_knife")
set_user_health(id, 35)
}
case 2:
{
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_deagle")
cs_set_user_bpammo(id,CSW_DEAGLE,120)
}
case 3:
{
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_scout")
cs_set_user_bpammo(id,CSW_SCOUT, 90)
}
case 4:
{
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_awp")
cs_set_user_bpammo(id,CSW_AWP,90)
}
case 5:
{
fm_give_item(id, "weapon_hegrenade")
cs_set_user_bpammo(id,CSW_HEGRENADE, 90)
}
}
}
}

public fnRevivePlayer(id)
{
id-=TASK_REVIVE
if(!is_user_alive(id) && g_mode!=0 && is_user_connected(id))
{
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
}

public EventCurWeapon(id)
{
/*if(g_mode!=0 && is_user_connected(id) && is_user_alive(id))
{
switch(g_mode)
{
case 1: engclient_cmd(id, "weapon_knife")
case 2: engclient_cmd(id, "weapon_deagle")
case 3: engclient_cmd(id, "weapon_scout")
case 4: engclient_cmd(id, "weapon_awp")
case 5: engclient_cmd(id, "weapon_hegrenade")
}

}*/
}

public start_rr_timer()
{

if(get_pcvar_num(SecondsCvar)==Timer)
{
g_mode = random_num(1,5)
if(random_num(0,1)==1) g_mode = random_num(1,5)
for(new i=1;i<=32;i++)
{
give_items(i)
}
}
Timer--
new mode_name[32]
switch(g_mode)
{
case 1: format(mode_name,charsmax(mode_name),"Ножах")
case 2: format(mode_name,charsmax(mode_name),"Диглах")
case 3: format(mode_name,charsmax(mode_name),"Мухах")
case 4: format(mode_name,charsmax(mode_name),"AWP")
case 5: format(mode_name,charsmax(mode_name),"Гранатах")
default: format(mode_name,charsmax(mode_name),"ERROR")
}
if(g_mode==0)
{
remove_task()
}
else
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.25, 0, 0.0, 1.1, 0.0, 0.0)
show_dhudmessage(0, "Разминка на %s!^nРестарт через %d сек", mode_name,Timer)
}
if(Timer < 1)
{
server_cmd("sv_restartround 1")
set_task(3.0, "rr_end")
g_mode = 0
}
}

public rr_end()
{
g_mode = 0
set_hudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.78, 2, 6.0, 3.0, 0.1, 1.5, false )
new message[100]
new servname[64]
get_cvar_string("hostname",servname,charsmax(servname))
format(message,charsmax(message),"Всем удачи!^nПриятной игры",servname)
show_hudmessage(0, message)
}
[/coub]


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя dehost
сообщение 4.10.2018, 21:49
Сообщение #2


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

Попробуй этот плагин
Cкрытый текст
Код
[pawn]#include <amxmodx>
#include <reapi>

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#define TIME_RR     90    // Время разминки
#define NUM_RR        2    // Кол-во рестартов
#define LATENCY        1.5    // Задержка между рестартами
#define PROTECTED     2    // Сколько секунд действует защита после возрождения; 0 - отключить (актуально для DM_MODE)

// #define SOUND            // Музыка под час разминки
#define DM_MODE            // Бесконечный респавн на время разминки
#define STOP_PLUGS        // Отключать плагины на время разминки
#define OFF_RR            // Отключать этот плагин на указанных картах
//#define BLOCK           // Запрет поднятия оружия с земли [по умолчанию выкл.]
//#define STOP_STATS      // Отключать запись статистики на время разминки (Работает только с измененным CSStatsX SQL by serfreeman1337) [по умолчанию выкл.]
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#if defined SOUND
new const soundRR[][] =    // Указывать звук, например 1.mp3
{    
    "sound/soundkills/1.mp3",
    "sound/soundkills/2.mp3",
    "sound/soundkills/3.mp3"
}
#endif
#if defined STOP_PLUGS
new g_arPlugins[][] = // Указывать название плагинов для отключения, например test.amxx
{        
    "health_grenade.amxx",
    "noob_bonus_system.amxx"
        
}
#endif
#if defined STOP_STATS
native stats_set_enabled(params_num)
#endif
new g_iHudSync;
new g_szWeapon[32];
new g_iWp;
new HookChain:fwd_NewRound,
    HookChain:fwd_Spawn,
    HookChain:fwd_GiveC4,
#if defined BLOCK
    HookChain:fwd_BlockEntity,
#endif
#if defined DM_MODE
    HookChain:fwd_Killed;
#endif

const TASK_TIMER_ID = 33264;
const TASK_PROTECTION_ID = 33464;

#if AMXX_VERSION_NUM < 183
new MaxClients;
#endif

public plugin_init()
{
    register_plugin("[ReAPI] Random Weapons WarmUP", "2.4.6", "neugomon");
    
    #if AMXX_VERSION_NUM < 183
    MaxClients = get_maxplayers();
    #endif
    
    RegisterHookChain(RG_RoundEnd, "fwdRoundEnd", true);
    DisableHookChain(fwd_NewRound = RegisterHookChain(RG_CSGameRules_CheckMapConditions, "fwdRoundStart", true));
    DisableHookChain(fwd_Spawn    = RegisterHookChain(RG_CBasePlayer_Spawn, "fwdPlayerSpawnPost", true));
    DisableHookChain(fwd_GiveC4   = RegisterHookChain(RG_CSGameRules_GiveC4, "fwdGiveC4", false));
#if defined BLOCK
    DisableHookChain(fwd_BlockEntity = RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "fwdHasRestrictItemPre", false));
    register_clcmd("drop", "ClCmd_Drop");
#endif
#if defined DM_MODE
    DisableHookChain(fwd_Killed   = RegisterHookChain(RG_CBasePlayer_Killed, "fwdPlayerKilledPost", true));
    g_iHudSync    = CreateHudSyncObj();
    register_clcmd("joinclass", "clCmdJoinClass");
    register_clcmd("menuselect","clCmdJoinClass");
#endif
    state warmupOff;    
#if defined OFF_RR
    new sPref[][] = { "awp_", "aim_", };    // Указывать префиксы карт на которых плагин не будет работать
    new map[32]; get_mapname(map, charsmax(map));
    for(new i; i < sizeof sPref; i++)
    {
        if(containi(map, sPref[i]) != -1)
        {
            pause("ad");
            return;
        }
    }    
#endif    
}

public plugin_end() <warmupOff> {}

public plugin_end() <warmupOn>
{
    finishWurmUp();
}
#if defined BLOCK
public fwdHasRestrictItemPre()
{
    SetHookChainReturn(ATYPE_INTEGER, true);
    return HC_SUPERCEDE;
}

public ClCmd_Drop() <warmupOff>
    return PLUGIN_CONTINUE;
    
public ClCmd_Drop() <warmupOn>
    return PLUGIN_HANDLED;
#endif
public client_putinserver(id)
{
    remove_task(id + TASK_PROTECTION_ID)
}
#if defined SOUND
public plugin_precache()
{
    for(new i = 0; i < sizeof(soundRR); i++)
    {
        precache_generic(soundRR[i]);
    }
}
#endif
public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
    if(event == ROUND_GAME_COMMENCE)
        EnableHookChain(fwd_NewRound);

public fwdRoundStart()
{
    state warmupOn;
    
#if defined SOUND
    static cmd[64];
    formatex(cmd, 63, "mp3 play ^"%s^"", soundRR[random(sizeof(soundRR))]);
    client_cmd(0, "%s", cmd);
#endif
    DisableHookChain(fwd_NewRound);
    EnableHookChain(fwd_Spawn);
    EnableHookChain(fwd_GiveC4);
#if defined STOP_STATS
    stats_set_enabled(0);
#endif
    set_cvar_string("mp_round_infinite", "1");
#if defined BLOCK
    EnableHookChain(fwd_BlockEntity);
#endif
#if defined DM_MODE    
    EnableHookChain(fwd_Killed);
#endif    
#if defined STOP_PLUGS    
    PluginController(1);
#endif
    switch((g_iWp = random(12)))
    {
        case 0: formatex(g_szWeapon, charsmax(g_szWeapon), "M4A1");
        case 1: formatex(g_szWeapon, charsmax(g_szWeapon), "AK-47");
        case 2: formatex(g_szWeapon, charsmax(g_szWeapon), "МP5");
        case 3: formatex(g_szWeapon, charsmax(g_szWeapon), "SG-550");
        case 4: formatex(g_szWeapon, charsmax(g_szWeapon), "Famas");
        case 5: formatex(g_szWeapon, charsmax(g_szWeapon), "SCOUT");
        case 6: formatex(g_szWeapon, charsmax(g_szWeapon), "XM1014");
        case 7: formatex(g_szWeapon, charsmax(g_szWeapon), "M3");
        case 8: formatex(g_szWeapon, charsmax(g_szWeapon), "DEAGLE");
        case 9: formatex(g_szWeapon, charsmax(g_szWeapon), "НОЖАХ");
        case 10: formatex(g_szWeapon, charsmax(g_szWeapon), "M249");
        case 11: formatex(g_szWeapon, charsmax(g_szWeapon), "ELITE");
    }
    set_task(1.0, "ShowTimer", .flags = "a", .repeat = TIME_RR);
}
#if defined DM_MODE
public clCmdJoinClass(id) <warmupOff>
    return;
    
public clCmdJoinClass(id) <warmupOn>
    if(get_member(id, m_iMenu) == Menu_ChooseAppearance)
        set_task(0.5, "SpawnPlayer", id);
#endif
public fwdPlayerSpawnPost(const id)
{
    if(!is_user_alive(id))
        return;

    BuyZone_ToogleSolid(SOLID_NOT);
    SetProtection(id)
    rg_remove_all_items(id);
    set_member_game(m_bMapHasBuyZone, true);
    rg_give_item(id, "weapon_knife");

    switch(g_iWp)
    {
        case 0:
        {
            rg_give_item(id, "weapon_m4a1");
            rg_set_user_bpammo(id, WEAPON_M4A1, 90);
        }
        case 1:
        {
            rg_give_item(id, "weapon_ak47");
            rg_set_user_bpammo(id, WEAPON_AK47, 90);
        }
        case 2:
        {
            rg_give_item(id, "weapon_mp5navy");
            rg_set_user_bpammo(id, WEAPON_MP5N, 120);
        }
        case 3:
        {
            rg_give_item(id, "weapon_sg550");
            rg_set_user_bpammo(id, WEAPON_SG550, 90);
        }
        case 4:
        {
            rg_give_item(id, "weapon_famas");
            rg_set_user_bpammo(id, WEAPON_FAMAS, 90);
        }
        case 5:
        {
            rg_give_item(id, "weapon_scout");
            rg_set_user_bpammo(id, WEAPON_SCOUT, 30);    
        }
        case 6:
        {
            rg_give_item(id, "weapon_xm1014");
            rg_set_user_bpammo(id, WEAPON_XM1014, 50);
        }
        case 7:
        {
            rg_give_item(id, "weapon_m3");
            rg_set_user_bpammo(id, WEAPON_M3, 50);
        }
        case 8:
        {
            rg_give_item(id, "weapon_deagle");
            rg_set_user_bpammo(id, WEAPON_DEAGLE, 35);
        }
        case 9:
        {
            set_entvar(id, var_health, 50.0);
        }    
        case 10:
        {
            rg_give_item(id, "weapon_m249");
            rg_set_user_bpammo(id, WEAPON_M249, 200);
        }
        case 11:
        {
            rg_give_item(id, "weapon_elite");
            rg_set_user_bpammo(id, WEAPON_ELITE, 120);
        }
    }    
}
#if defined DM_MODE
public fwdPlayerKilledPost(pVictim)
    set_task(1.0, "SpawnPlayer", pVictim);
#endif
public fwdGiveC4()
{
    return HC_SUPERCEDE
}

public ShowTimer()
{
    static timer = -1;
    if(timer == -1) timer = TIME_RR;
    
    switch(--timer)
    {
        case 0:
        {
            finishWurmUp();
            timer = -1;
        }
        default:
        {
        #if defined STOP_STATS
            set_hudmessage(255, 0, 0, .x = -1.0, .y = 0.05, .holdtime = 0.9, .channel = -1);
            show_hudmessage(0, "[Статистика Отключена]");
        #endif
            set_hudmessage(135, 206, 235, .x = -1.0, .y = 0.08, .holdtime = 0.9, .channel = -1);
            ShowSyncHudMsg(0, g_iHudSync, "Разминка на %s!^nРестарт через %d сек", g_szWeapon, timer);
        }
    }
}

public SV_Restart()
{
    set_cvar_num("sv_restart", 1);
    set_task(2.0, "End_RR");
}

public End_RR()
{
#if defined STOP_STATS
    set_hudmessage(255, 0, 0, .x = -1.0, .y = 0.05, .holdtime = 5.0, .channel = -1);
    show_hudmessage(0, "[Статистика Включена]");
#endif
    set_hudmessage(135, 206, 235, .x = -1.0, .y = 0.08, .holdtime = 5.0, .channel = -1);
    show_hudmessage(0, "Разминка окончена!");
    for(new i = 1; i <= MaxClients; i++)
    {
        if(is_user_alive(i))
        {
        rg_remove_items_by_slot(i, PRIMARY_WEAPON_SLOT);
        }
    }
}
#if defined DM_MODE    
public SpawnPlayer(id)
{
    if(!is_user_connected(id))
        return;
    if(is_user_alive(id))
        return;
    
    switch(get_member(id, m_iTeam))
    {
        case 1, 2: rg_round_respawn(id);
    }
}
#endif
public SetProtection(id)
{
    set_entvar(id, var_takedamage, DAMAGE_NO)

    switch(get_member(id, m_iTeam))
    {
        case TEAM_TERRORIST: rg_set_rendering(id, kRenderFxGlowShell, 255, 0, 0, 10);
        case TEAM_CT: rg_set_rendering(id, kRenderFxGlowShell, 0, 0, 255, 10);
    }

    remove_task(TASK_PROTECTION_ID + id)
    set_task( PROTECTED.0, "EndProtection", TASK_PROTECTION_ID + id)
}

public EndProtection(TaskID)
{
    new id = TaskID - TASK_PROTECTION_ID

    if(!is_user_connected(id))
        return

    set_entvar(id, var_takedamage, DAMAGE_AIM)
    rg_set_rendering(id)
}

finishWurmUp()
{
    state warmupOff;
          
    BuyZone_ToogleSolid(SOLID_TRIGGER);
    DisableHookChain(fwd_Spawn);
    DisableHookChain(fwd_GiveC4);
#if defined STOP_STATS
    stats_set_enabled(1);
#endif
    set_cvar_string("mp_round_infinite", "0");
#if defined BLOCK
    DisableHookChain(fwd_BlockEntity);
#endif
#if defined DM_MODE  
    DisableHookChain(fwd_Killed);
#endif
#if defined STOP_PLUGS  
    PluginController(0);
#endif  
#if NUM_RR > 1      
    set_task(LATENCY, "SV_Restart", .flags = "a", .repeat = NUM_RR);
#else
    SV_Restart();
#endif

    remove_task(TASK_TIMER_ID);
}

stock rg_set_rendering(index, fx = kRenderFxNone, r=255, g=255, b=255, amount=16)
{
    new Float:RenderColor[3]
    RenderColor[0] = float(r)
    RenderColor[1] = float(g)
    RenderColor[2] = float(b)
    
    set_entvar(index, var_renderfx, fx)
    set_entvar(index, var_rendercolor, RenderColor)
    set_entvar(index, var_renderamt, float(amount))
}

stock PluginController(stop)
{
    for(new i; i < sizeof g_arPlugins; i++)
    {
        if(stop)pause  ("ac", g_arPlugins[i]);
        else    unpause("ac", g_arPlugins[i]);
    }    
}

stock BuyZone_ToogleSolid(const solid)
{
    new entityIndex = 0;
    while ((entityIndex = rg_find_ent_by_class(entityIndex, "func_buyzone")))
        set_entvar(entityIndex, var_solid, solid);
}[/pawn]


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
IIuKa
сообщение 4.10.2018, 22:10
Сообщение #3
Стаж: 13 лет

Сообщений: 667
Благодарностей: 29
Полезность: < 0

dehost, Спасибо конечно))) но мне по душе мой плагин
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: