Разминочный раунд без брони

D

Deus

Всех приветствую. Интересует такой вопрос. Как убрать броню во время разминочного раунда ? Сервер Casual, по умолчанию броня дается автоматически. Хочу сделать так, чтобы только при разминке убиралась броня (и чтобы ее нельзя было купить), ну а дальше играть как обычно с броней. Искал по форуму никакой информации не нашел. Гуглил, тоже без вариантов. Пробовал ковырять weapon restrict , тоже не получается. Если есть знающие люди подскажите, как такое реализовать.
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
Всех приветствую. Интересует такой вопрос. Как убрать броню во время разминочного раунда ? Сервер Casual, по умолчанию броня дается автоматически. Хочу сделать так, чтобы только при разминке убиралась броня (и чтобы ее нельзя было купить), ну а дальше играть как обычно с броней. Искал по форуму никакой информации не нашел. Гуглил, тоже без вариантов. Пробовал ковырять weapon restrict , тоже не получается. Если есть знающие люди подскажите, как такое реализовать.

Как-то так:

PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools>


int g_iTime, g_iRound;

public Plugin myinfo =
{
    name = "No Warmup Armor",
    author = "Someone",
    description = "Убрать броню на разминке",
    version = "1.0",
    url = "http://hlmod.ru"
};

bool g_bIsWarmup = false;

ConVar cCvar;

public void OnPluginStart()
{
    HookEvent("round_end", Event_RoundEnd);
   
    cCvar = FindConVar("mp_warmuptime");
    g_iTime = cCvar.IntValue;
    cCvar.AddChangeHook(ConVarChange_Warmup);
}

public void ConVarChange_Warmup(ConVar convar, const char[] oldValue, const char[] newValue)
{
    g_iTime = convar.IntValue;
}

public void OnMapStart()
{
    g_bIsWarmup = false;
   
    if(g_iTime > 0)
    {
        if (GameRules_GetProp("m_bWarmupPeriod") == 1)
        {
            g_bIsWarmup = true;
            ServerCommand("mp_free_armor 0");
        }
    }
}

public void Event_RoundEnd(Event hEvent, const char[] name, bool dontBroadcast)
{   
    if(g_bIsWarmup && ++g_iRound >=1)
    {
        g_bIsWarmup = false;
        ServerCommand("mp_free_armor 1");
    }
}

public Action CS_OnBuyCommand(int client, const char[] weapon)
{
    if(g_bIsWarmup)
    {
        if(StrEqual(weapon, "assaultsuit") || StrEqual(weapon, "kevlar"))
        {
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}
 

Вложения

  • no_warmup_armor.sp
    1.3 КБ · Просмотры: 6
  • no_warmup_armor.smx
    4.6 КБ · Просмотры: 1
D

Deus

Как-то так:

PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools>


int g_iTime, g_iRound;

public Plugin myinfo =
{
    name = "No Warmup Armor",
    author = "Someone",
    description = "Убрать броню на разминке",
    version = "1.0",
    url = "http://hlmod.ru"
};

bool g_bIsWarmup = false;

ConVar cCvar;

public void OnPluginStart()
{
    HookEvent("round_end", Event_RoundEnd);
  
    cCvar = FindConVar("mp_warmuptime");
    g_iTime = cCvar.IntValue;
    cCvar.AddChangeHook(ConVarChange_Warmup);
}

public void ConVarChange_Warmup(ConVar convar, const char[] oldValue, const char[] newValue)
{
    g_iTime = convar.IntValue;
}

public void OnMapStart()
{
    g_bIsWarmup = false;
  
    if(g_iTime > 0)
    {
        if (GameRules_GetProp("m_bWarmupPeriod") == 1)
        {
            g_bIsWarmup = true;
            ServerCommand("mp_free_armor 0");
        }
    }
}

public void Event_RoundEnd(Event hEvent, const char[] name, bool dontBroadcast)
{  
    if(g_bIsWarmup && ++g_iRound >=1)
    {
        g_bIsWarmup = false;
        ServerCommand("mp_free_armor 1");
    }
}

public Action CS_OnBuyCommand(int client, const char[] weapon)
{
    if(g_bIsWarmup)
    {
        if(StrEqual(weapon, "assaultsuit") || StrEqual(weapon, "kevlar"))
        {
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}

Не работает :(
 

Someone

Участник
Сообщения
1,933
Реакции
1,653

Тогда:

PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools>


int g_iTime;

public Plugin myinfo =
{
    name = "No Warmup Armor",
    author = "Someone",
    description = "Убрать броню на разминке",
    version = "1.0",
    url = "http://hlmod.ru"
};

bool g_bIsWarmup = false;

ConVar cCvar;

public void OnPluginStart()
{
    HookEvent("round_end", Event_RoundEnd);
 
    cCvar = FindConVar("mp_warmuptime");
    g_iTime = cCvar.IntValue;
    cCvar.AddChangeHook(ConVarChange_Warmup);
}

public void ConVarChange_Warmup(ConVar convar, const char[] oldValue, const char[] newValue)
{
    g_iTime = convar.IntValue;
}

public void OnMapStart()
{
    g_bIsWarmup = false;
 
    if(g_iTime > 0)
    {
        if (GameRules_GetProp("m_bWarmupPeriod") == 1)
        {
            g_bIsWarmup = true;
            ServerCommand("mp_free_armor 0");
        }
    }
}

public void Event_RoundEnd(Event hEvent, const char[] name, bool dontBroadcast)
{ 
    if(g_bIsWarmup)
    {
        g_bIsWarmup = false;
        ServerCommand("mp_free_armor 1");
    }
}

public Action CS_OnBuyCommand(int client, const char[] weapon)
{
    if(g_bIsWarmup)
    {
        if(StrEqual(weapon, "assaultsuit") || StrEqual(weapon, "kevlar"))
        {
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}
 
D

Deus

Тогда:

PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools>


int g_iTime;

public Plugin myinfo =
{
    name = "No Warmup Armor",
    author = "Someone",
    description = "Убрать броню на разминке",
    version = "1.0",
    url = "http://hlmod.ru"
};

bool g_bIsWarmup = false;

ConVar cCvar;

public void OnPluginStart()
{
    HookEvent("round_end", Event_RoundEnd);
 
    cCvar = FindConVar("mp_warmuptime");
    g_iTime = cCvar.IntValue;
    cCvar.AddChangeHook(ConVarChange_Warmup);
}

public void ConVarChange_Warmup(ConVar convar, const char[] oldValue, const char[] newValue)
{
    g_iTime = convar.IntValue;
}

public void OnMapStart()
{
    g_bIsWarmup = false;
 
    if(g_iTime > 0)
    {
        if (GameRules_GetProp("m_bWarmupPeriod") == 1)
        {
            g_bIsWarmup = true;
            ServerCommand("mp_free_armor 0");
        }
    }
}

public void Event_RoundEnd(Event hEvent, const char[] name, bool dontBroadcast)
{
    if(g_bIsWarmup)
    {
        g_bIsWarmup = false;
        ServerCommand("mp_free_armor 1");
    }
}

public Action CS_OnBuyCommand(int client, const char[] weapon)
{
    if(g_bIsWarmup)
    {
        if(StrEqual(weapon, "assaultsuit") || StrEqual(weapon, "kevlar"))
        {
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}

Не копмилируется...
--- Добавлено позже ---
Есть еще какие-либо решения ?
--- Добавлено позже ---
Тогда:

PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools>


int g_iTime;

public Plugin myinfo =
{
    name = "No Warmup Armor",
    author = "Someone",
    description = "Убрать броню на разминке",
    version = "1.0",
    url = "http://hlmod.ru"
};

bool g_bIsWarmup = false;

ConVar cCvar;

public void OnPluginStart()
{
    HookEvent("round_end", Event_RoundEnd);
 
    cCvar = FindConVar("mp_warmuptime");
    g_iTime = cCvar.IntValue;
    cCvar.AddChangeHook(ConVarChange_Warmup);
}

public void ConVarChange_Warmup(ConVar convar, const char[] oldValue, const char[] newValue)
{
    g_iTime = convar.IntValue;
}

public void OnMapStart()
{
    g_bIsWarmup = false;
 
    if(g_iTime > 0)
    {
        if (GameRules_GetProp("m_bWarmupPeriod") == 1)
        {
            g_bIsWarmup = true;
            ServerCommand("mp_free_armor 0");
        }
    }
}

public void Event_RoundEnd(Event hEvent, const char[] name, bool dontBroadcast)
{
    if(g_bIsWarmup)
    {
        g_bIsWarmup = false;
        ServerCommand("mp_free_armor 1");
    }
}

public Action CS_OnBuyCommand(int client, const char[] weapon)
{
    if(g_bIsWarmup)
    {
        if(StrEqual(weapon, "assaultsuit") || StrEqual(weapon, "kevlar"))
        {
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}

Скомпелировал, тоже не работает.
 
Последнее редактирование модератором:
Сверху Снизу