Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Запретить покупку скорострелок
Запретить покупку скорострелок
daniil Дата: Суббота, 30.03.2013, 23:54:51 | Сообщение # 1
Сообщений: 100
Репутация: 0 [ +/- ]
Код

public Action:CS_OnBuyCommand(client, const String:weapon[])
{
  decl String:ClassName[30];
  new WeaponIndex;
  WeaponIndex = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
  GetEdictClassname(WeaponIndex, ClassName, sizeof(ClassName));
  if (StrEqual("weapon_sg550", ClassName, false))
  return Plugin_Handled;
  return Plugin_Continue;
}

Почему то все равно покупается
 
_wS_ Дата: Воскресенье, 31.03.2013, 00:59:24 | Сообщение # 2
Вот эта часть кода лишняя:

Код
decl String:ClassName[30];  
new WeaponIndex;  
WeaponIndex = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");  
GetEdictClassname(WeaponIndex, ClassName, sizeof(ClassName));

CS_OnBuyCommand(client, const String:weapon[]) - уже известно, какое оружие он хочет купить.
Код должен быть таким (в твоем случае):

Код
public Action:CS_OnBuyCommand(client, const String:item[])
{
     if (strcmp(item, "sg550", false) == 0) return Plugin_Handled;
     return Plugin_Continue;
}

Легко же проверить.. Выводи данные в чат, ищи где ошибка, пойми что чему равно:

Код
// Без префикса weapon_ оно
PrintToChat(client, "item = %s", item);
 
daniil Дата: Воскресенье, 31.03.2013, 06:49:29 | Сообщение # 3
Сообщений: 100
Репутация: 0 [ +/- ]
_wS_, О спасибо. А можно на несколько оружий сделать этот запрет, чтобы код был поменьше
 
TEIN Дата: Воскресенье, 31.03.2013, 09:27:00 | Сообщение # 4
Сообщений: 568
Репутация: 78 [ +/- ]
if (strcmp(item, "Первое оружие", false) == 0 || strcmp(item, "Второе оружие", false) == 0) return Plugin_Handled;
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Запретить покупку скорострелок
  • Страница 1 из 1
  • 1
Поиск: