Делаем Eazy Weapon Restrict

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
Что мне не нравится в плагинах ограничения на оружие, так это их нагромождение. Weapon Limit получше "Рестрикта" на мой взгляд, но всё-равно есть свои недостатки. Когда-то давно из скрипта AlmazON по отключению "тазера", помогли сделать такой вот на запрет покупки оружия, вчера я его раскрасил и засунул звук, вполне годная, приятная штучка получилась, но возможно такую сделать, но именно на ограничение покупки - подобрал, значит твоё и сообщение покупателю будет до тех пор, пока ограниченное на покупку оружие не выпадет из рук у всех из своей команды, мне допустим нужно ограничить 3 пушки, на всех картах, т.е. 3 скрипта получится, что гораздо удобнее на мой взгляд, чем целый плагин, вот код:

#include <sdktools>
#include <csgo_colors>

#define PLUGIN_VERSION "1.0"
public Plugin:myinfo = {
name = "Block Buy SCAR20",
author = "Almazon, Kakoin, Phoenix, Psychologist21",
version = PLUGIN_VERSION,
description = "Запрещает покупку оружия.",
};

public Action:CS_OnBuyCommand(iClient, const String:weapon[])
{
if (!strcmp(weapon, "scar20", false))
{
ClientCommand(iClient,"play buttons/weapon_cant_buy.wav");
CGOPrintToChat(iClient, " {LIGHTRED}[СЕРВЕР] Покупка SCAR-20 запрещена!");
return Plugin_Handled;
}
return Plugin_Continue;
}

Возможно его дописать ограничением и проверкой на нахождение в руках союзников?

Кому нужен "фиксик", вот файлы:
 

Вложения

  • Block_Buy_SCAR20.sp
    655 байт · Просмотры: 76
  • csgo_colors.inc
    4.8 КБ · Просмотры: 28
  • ammo.txt
    390 байт · Просмотры: 52
  • Мне нравится
Реакции: R1KO

Danyas

Участник
Сообщения
2,173
Реакции
1,072
А мне так больше нравиться))00
Оффтоп

PHP:
public Plugin:myinfo = 
{
    name = "Block Buy SCAR20",
    author = "Almazon, Kakoin, Phoenix, Psychologist21, Danyas",
    version     = "1.0",
    description = "Запрещает покупку оружия.",
};

public Action: CS_OnBuyCommand(client, const String:weapon[])
{
    if (weapon[0] == 's' && weapon[1] == 'c')
    {
        ClientCommand(client,"play buttons/weapon_cant_buy.wav");
        PrintToChat(client, "\x01 \x07[СЕРВЕР] Покупка SCAR-20 запрещена!");
        return Plugin_Handled;
    }
   
    return Plugin_Continue;
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #3
разве в CS_OnBuyCommand без weapon_ ?
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
У человека один несчастный паблик, а столько заморочек)
 

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
Т.е., если хотя бы у одного товарища есть запрещённое оружие, не позволять покупать его никому? ОффтопОффтоп
Ну да, но если 1 человек купит 10 "авапок", раскидает по карте, то будет 10 человек с "авп")) Всех придётся ждать, чтобы купить. Но на это дело есть плагин запрета спама оружием))
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
сообщение покупателю будет до тех пор, пока ограниченное на покупку оружие не выпадет из рук у всех из своей команды
PHP:
#include <sdktools>
#include <csgo_colors>

#define NOBUY_WEAPON	"scar20"

#define PLUGIN_VERSION "1.1"
public Plugin:myinfo = {
	name = "Block Buy SCAR20",
	author = "AlmazON, Kakoin, Phoenix, Psychologist21",
	version 	= PLUGIN_VERSION,
	description = "Запрещает покупку оружия",
};

public Action:CS_OnBuyCommand(iClient, const String:weapon[])
{
	if (!strcmp(weapon, NOBUY_WEAPON, false))
	{
		decl String:classname[25], entity;
		for (new i = 1, team = GetClientTeam(iClient); i <= MaxClients; ++i)
		{
			if (IsClientInGame(i) && GetClientTeam(i) == team && (entity = GetPlayerWeaponSlot(i, 0)) != -1)
			{
				GetEdictClassname(entity, classname, sizeof(classname));
				if (strcmp(classname[7], NOBUY_WEAPON) == 0)
				{
					ClientCommand(iClient,"play buttons/weapon_cant_buy.wav");
					CGOPrintToChat(iClient, " {LIGHTRED}[СЕРВЕР] Покупка SCAR-20 запрещена!");
					return Plugin_Handled;
				}
			}
		}
	}
	return Plugin_Continue;
}
NOBUY_WEAPON "scar20" - основное оружие для запрета к покупке.
 

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
PHP:
#include <sdktools>
#include <csgo_colors>

#define NOBUY_WEAPON    "scar20"

#define PLUGIN_VERSION "1.1"
public Plugin:myinfo = {
    name = "Block Buy SCAR20",
    author = "AlmazON, Kakoin, Phoenix, Psychologist21",
    version     = PLUGIN_VERSION,
    description = "Запрещает покупку оружия",
};

public Action:CS_OnBuyCommand(iClient, const String:weapon[])
{
    if (!strcmp(weapon, NOBUY_WEAPON, false))
    {
        decl String:classname[25], entity;
        for (new i = 1, team = GetClientTeam(iClient); i <= MaxClients; ++i)
        {
            if (IsClientInGame(i) && GetClientTeam(i) == team && (entity = GetPlayerWeaponSlot(i, 0)) != -1)
            {
                GetEdictClassname(entity, classname, sizeof(classname));
                if (strcmp(classname[7], NOBUY_WEAPON) == 0)
                {
                    ClientCommand(iClient,"play buttons/weapon_cant_buy.wav");
                    CGOPrintToChat(iClient, " {LIGHTRED}[СЕРВЕР] Покупка SCAR-20 запрещена!");
                    return Plugin_Handled;
                }
            }
        }
    }
    return Plugin_Continue;
}
NOBUY_WEAPON "scar20" - основное оружие для запрета к покупке.
Спасибо, сейчас буду смотреть) А число разрешенных на команду пушек нельзя регулировать, 1 на команду сейчас?
 

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
Я же спрашивал, получается 1 к покупке. А вообще, глупо: один может покупать и выбрасывать оружие другим.
Ну деньги копятся у меня как в ММ, такое возможно, но не все смогут покупать другим "авики")) И попробую блок спама оружием поставить, чтоб уж совсем "забетонировать")) Работает вообщем и никаких тяжелых плагинов))
 
Сверху Снизу