[INS] Guns Menu

puma133

Участник
Сообщения
33
Реакции
12
Здравствуйте форумчане. Написан плагин для игры Insurgency, сервер работает на source mode. Меню показывается, но оружие не выдается. Подскажите что не так ?

C-подобный:
#pragma semicolon 1
#include <sourcemod>

#define PLUGIN_VERSION "1.0"

int MARINES = 1;
int INSURGENTS = 2;

public void OnPluginStart()
{
    CreateConVar("ins_guns2_version", PLUGIN_VERSION, "INS Gun Menu Version", FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY);
    RegConsoleCmd("sm_guns", WeaponMenu);
    RegConsoleCmd("guns", WeaponMenu);
}

public void OnMapStart()
{
    char mapname[64];
    GetCurrentMap(mapname, sizeof(mapname));
    if (strcmp(mapname, "ins_karam") == 0 || strcmp(mapname, "ins_baghdad") == 0)
    {
        INSURGENTS = 1;
        MARINES = 2;
    }
    else
    {
        MARINES = 1;
        INSURGENTS = 2;
    }
}

public Action WeaponMenu(int client, int args)
{
    Weapons(client);

    return Plugin_Handled;
}

    public Action Weapons(int clientId) {

    int team = GetClientTeam(clientId);
    if (team == INSURGENTS)
    {
        Handle menu = CreateMenu(WeaponMenuHandlerINS);
        SetMenuTitle(menu, "Marines Gun Menu");
        AddMenuItem(menu, "option1", "M4A1");
        AddMenuItem(menu, "option2", "M16A4");
        AddMenuItem(menu, "option3", "M40A1");
        AddMenuItem(menu, "option4", "M249");
        AddMenuItem(menu, "option5", "M590");
        AddMenuItem(menu, "option6", "MK18");
        AddMenuItem(menu, "option7", "MP5K");
        SetMenuExitButton(menu, true);
        DisplayMenu(menu, clientId, 15);
    }
        else if (team == MARINES)
    {
        Handle menu = CreateMenu(WeaponMenuHandlerUS);
        SetMenuTitle(menu, "Insurgents Gun Menu");
        AddMenuItem(menu, "option1", "AKM");
        AddMenuItem(menu, "option2", "FAL");
        AddMenuItem(menu, "option2", "AKS-74U");
        AddMenuItem(menu, "option3", "RPK");
        AddMenuItem(menu, "option4", "TOZ");
        AddMenuItem(menu, "option5", "AK-74");
        AddMenuItem(menu, "option7", "Mosin");
        SetMenuExitButton(menu, true);
        DisplayMenu(menu, clientId, 15);
    }
    return Plugin_Handled;
}

public WeaponMenuHandlerUS(Handle menu, MenuAction action, int client, int itemNum)
{
        int flags = GetCommandFlags("give_weapon");
        SetCommandFlags("give_weapon", flags & ~FCVAR_CHEAT);

        if ( action == MenuAction_Select ) {
       
        switch (itemNum)
        {
            case 0: 
            {
                 FakeClientCommand(client, "give_weapon m4a1");
            }
            case 1: 
            {
                FakeClientCommand(client, "give_weapon m16a4");
            }
         case 2: 
            {
                FakeClientCommand(client, "give_weapon m40a1");
            }
         case 3: 
            {
                FakeClientCommand(client, "give_weapon m249");
            }
         case 4:
            {
                FakeClientCommand(client, "give_weapon m590");
            }
         case 5:
            {
                FakeClientCommand(client, "give_weapon mk18");
            }
         case 6:
            {
                FakeClientCommand(client, "give_weapon mp5k");
            }
        }
    }
        SetCommandFlags("give_weapon", flags);
}

public int WeaponMenuHandlerINS(Handle menu, MenuAction action, int client, int itemNum)
{
        int flags = GetCommandFlags("give_weapon");
        SetCommandFlags("give_weapon", flags & ~FCVAR_CHEAT);

        if ( action == MenuAction_Select ) {
       
        switch (itemNum)
        {
        case 0: 
            {
                FakeClientCommand(client, "give_weapon akm");
            }
         case 1: 
            {
                FakeClientCommand(client, "give_weapon fal");
            }
         case 2: 
            {
                FakeClientCommand(client, "give_weapon aks74u");
            }
         case 3:
            {
                FakeClientCommand(client, "give_weapon rpk");
            }
         case 4:
            {
                FakeClientCommand(client, "give_weapon toz");
            }
         case 5:
            {
                FakeClientCommand(client, "give_weapon ak74");
            }
         case 6:
            {
                FakeClientCommand(client, "give_weapon mosin");
            }
        }
    }
        SetCommandFlags("give_weapon", flags);
}
 
Последнее редактирование:

puma133

Участник
Сообщения
33
Реакции
12
[INS] Guns2 menu not appearing - AlliedModders
Написал не ты, а немного подправил.
И где отступы и подсветка этот код вообще не читаем.
Код исправил
Я и не писал что я, должно быть написано: написан* а не написал. И тот плагин работает на
"sv_cheats" - я хочу избежать этого использования.
Суть в том что я хочу добавить модификацию к оружию, например: m16+ глушитель+ рукоядка+бронейбойные пули.

6fd5f036192b5f6c936e6eee762c7f50.jpg

И сдесь 2ве трудности: выдать с готовой модификацией оружие уже , и выдать его вообще (
Кто то знает как это реализовать ?
--- Добавлено позже ---
Никто не знает ? Готов заплатить за труды
--- Добавлено позже ---
Готов заплатить кто поможет сделать плагин
 
Последнее редактирование:
Сверху Снизу