Иконка ресурса

Ограничение оружия 1.2.0

s777

Участник
Сообщения
449
Реакции
74
Плагин очень хорош, но не хватает иммунитета для адинистраторов. Надеюсь появится когда-то, все равно оставлю этот вместо WR
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Еще никто модуль на имунитет не написал?:) Хочется поставить и ощутить власть со скаром)
 
  • Мне нравится
Реакции: s777

komashchenko

Идиот
Сообщения
916
Реакции
2,569
  • Автор ресурса
  • #27
@spazm, сделайте плагин на примере випки, или попросите кого-то
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
У меня випки через флаги и всё работает нормально.
У меня к сожалению, или к счастью это раздельно и хочется еще для админов такой же иммунитет, т.к. отдельную группу делать еще муторно, да и потом если еще вип сверху ставить, то нужно будет менять вручную каждый раз
 

xXMaXimXx

хХх
Сообщения
511
Реакции
53
Контактирует с плагинами !ws, !knfie, !gloves. Заменяет выбранные скины на сервере на дефолтные. Так же меняет оружие, например стоял mp5-sd, нажимаешь купить, покупается ump, либо покупаешь револьвер, покупается дигл.
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
PHP:
#include <ogranichenie_oruzhija>

bool g_bUse[MAXPLAYERS +1];
char g_sFlag[4];

public void OnPluginStart()
{
    ConVar hCvar = CreateConVar("OO_IMMUNITYFLAG", "d", "Флаг администратора выдающий иммунитет от запрета оружия");
    hCvar.AddChangeHook(CvarFlag); hCvar.GetString(g_sFlag, sizeof(g_sFlag));
    AutoExecConfig(true, "OO_ImmunityFlag");
}

public void CvarFlag(ConVar hCvar, const char[] sOldValue, const char[] sNewValue)
{
    hCvar.GetString(g_sFlag, sizeof(g_sFlag));
}

public void OnClientPostAdminCheck(int iClient)
{
    int iFlag = GetUserFlagBits(iClient); g_bUse[iClient] = false;
    if(iFlag & ReadFlagString("z") || iFlag & ReadFlagString(g_sFlag)) g_bUse[iClient] = true;
}

public OO_Return OO_OnPickOrBuyOver(int iClient, int iDefinitionIndex, const char[] sWeapon)
{
    if(g_bUse[iClient]) return OO_Allow;
    return OO_Ignored;
}

Важно:
Если у игрока во время игры заберут админские права доступ к запрещенному оружию останется до тех пор пока игрок не перезайдет на сервер.
 

Вложения

  • OO_ImmunityFlag.sp
    916 байт · Просмотры: 25
  • OO_ImmunityFlag.smx
    4.3 КБ · Просмотры: 16
Последнее редактирование:

Stepan1

Участник
Сообщения
84
Реакции
2
SV_StartSound: buttons/weapon_cant_buy.wav not precached (0)
 
  • Мне нравится
Реакции: s777

s777

Участник
Сообщения
449
Реакции
74
То же самое, когда кто-то пытается купить запрещенное оружие в консоли "SV_StartSound: buttons/weapon_cant_buy.wav not precached (0)"
 

WanekWest

Помешан на "Даунских названиях"
Сообщения
442
Реакции
143
То же самое, когда кто-то пытается купить запрещенное оружие в консоли "SV_StartSound: buttons/weapon_cant_buy.wav not precached (0)"
Добавь в
C-подобный:
public void OnPluginStart()
{
}

Строчку.
C-подобный:
PrecacheSound("Путь к звуку без sound/")
 

s777

Участник
Сообщения
449
Реакции
74
Хелп, не компилится
 

Вложения

  • Скриншот 12-09-2018 151632.png
    Скриншот 12-09-2018 151632.png
    1.9 КБ · Просмотры: 64

Z-RAY-Z

Участник
Сообщения
775
Реакции
243
@Sevmuren, он не может найти нужный инклуд, содержимое папки scripting из комплекта PtaH закинь к себе.
 
  • Мне нравится
Реакции: s777

s777

Участник
Сообщения
449
Реакции
74
Добавь в
C-подобный:
public void OnPluginStart()
{
}

Строчку.
C-подобный:
PrecacheSound("Путь к звуку без sound/")
Это делается на
PHP:
OnMapStart()
// or
OnConfigsExecuted() // На крайний случай.
Не помогло
--- Добавлено позже ---
Так пофиксил проблему
C-подобный:
public OnAutoConfigsBuffered()
{
    PrecacheSound("buttons/weapon_cant_buy.wav");
}
 
Последнее редактирование:

kleuser

Участник
Сообщения
1,838
Реакции
732
@komashchenko, можешь сделать чтобы запрещенное оружие не падало на землю? А то например на авп картах если запрещен дигл, он тупо на землю падает это не хорошо.
 

komashchenko

Идиот
Сообщения
916
Реакции
2,569
  • Автор ресурса
  • #40
@kleuser, На авп нужно юзать не ограничение оружие, а то что не дает поднять ничего кроме ножа и авп
PHP:
#include <sdktools>
#include <PTaH>

public void OnPluginStart()
{
    HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
    PTaH(PTaH_GiveNamedItemPre, Hook, GiveNamedItemPre);
}

public Action GiveNamedItemPre(int iClient, char sClassname[64], CEconItemView &Item)
{
    if(StrEqual(sClassname, "weapon_awp") || StrContains(sClassname, "weapon_knife", false) == 0 || StrEqual(sClassname, "weapon_bayonet"))
    {
        return Plugin_Continue;
    }
    return Plugin_Handled;
}

public void round_start(Event event, char[] name, bool dontBroadcast)
{
    char sWeapon[64];
    int i = MaxClients, end = GetMaxEntities();
    while (i <= end)
    {
        if (IsValidEntity(i) && IsValidEdict(i))
        {
            GetEdictClassname(i, sWeapon, 64);
            if (!(StrContains(sWeapon, "weapon_", true)))
            {
                int index = GetEntProp(i, Prop_Send, "m_iItemDefinitionIndex", 4, 0);
                if (!(index == 9 || index == 42 || index == 59 || index >= 500))
                {
                    AcceptEntityInput(i, "Kill");
                }
            }
        }
        i++;
    }
}
 
Сверху Снизу