Требуется плагин для рандомной выдачи оружия Контр-террористам

Статус
В этой теме нельзя размещать новые ответы.

KosmoStyLe

Участник
Сообщения
21
Реакции
1
Здравствуйте, нужен плагин, который будет выдавать каждый раунд любой пистолет только одному Кт'шнику рандомно.

Кто поможет? :3
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
игра хоть какая?
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Ну на, держи
C++:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>
#include <cstrike>

#pragma newdecls required

public Plugin myinfo =
{
    name = "",
    author = "",
    description = "",
    version = "",
    url = ""
};

static const char g_szPistols[][] = {
    "weapon_usp",
    "weapon_glock",
    "weapon_p228",
    "weapon_deagle",
    "weapon_elite",
    "weapon_fiveseven"
};

public void OnPluginStart()
{
    HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
}

public void Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
    int ct[MAXPLAYERS];
    int total = 0;
    
    for (int client = 1; client <= MaxClients; client++)
    {
        if(!IsClientInGame(client) || !IsPlayerAlive(client) || GetClientTeam(client) != CS_TEAM_CT)
            continue;
        
        ct[total++] = client;
    }
    
    if(total == 0)
        return;
    
    int rand_ct = ct[GetRandomInt(0, total - 1)];
    
    int weapon = GetPlayerWeaponSlot(rand_ct, CS_SLOT_SECONDARY);
    if(weapon != -1)
    {
        RemovePlayerItem(rand_ct, weapon);
        AcceptEntityInput(weapon, "Kill");
    }
    
    GivePlayerItem(rand_ct, g_szPistols[GetRandomInt(0, sizeof(g_szPistols) - 1)]);
}
 

KosmoStyLe

Участник
Сообщения
21
Реакции
1
Ну на, держи
C++:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>
#include <cstrike>

#pragma newdecls required

public Plugin myinfo =
{
    name = "",
    author = "",
    description = "",
    version = "",
    url = ""
};

static const char g_szPistols[][] = {
    "weapon_usp",
    "weapon_glock",
    "weapon_p228",
    "weapon_deagle",
    "weapon_elite",
    "weapon_fiveseven"
};

public void OnPluginStart()
{
    HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
}

public void Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
    int ct[MAXPLAYERS];
    int total = 0;
   
    for (int client = 1; client <= MaxClients; client++)
    {
        if(!IsClientInGame(client) || !IsPlayerAlive(client) || GetClientTeam(client) != CS_TEAM_CT)
            continue;
       
        ct[total++] = client;
    }
   
    if(total == 0)
        return;
   
    int rand_ct = ct[GetRandomInt(0, total - 1)];
   
    int weapon = GetPlayerWeaponSlot(rand_ct, CS_SLOT_SECONDARY);
    if(weapon != -1)
    {
        RemovePlayerItem(rand_ct, weapon);
        AcceptEntityInput(weapon, "Kill");
    }
   
    GivePlayerItem(rand_ct, g_szPistols[GetRandomInt(0, sizeof(g_szPistols) - 1)]);
}
Друг, спасибо тебе огромное, все работает =D♥. Сможешь еще квар для отключения плагина сделать, чтобы через map-config можно его было вырубать? :3
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #6
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу