CS_OnBuy нету в cstrike.inc
cl_setautobuy ловится 1 раз и больше не вызывается, вызываются только cl_autobuy который не несёт параметров.
- Код: Выделить всё
register_clcmd("cl_setautobuy", "client_com")
register_clcmd("cl_setrebuy", "client_com")
public client_com(id)
{
static str[128]; read_args(str, 127)
static ar[33]
static i, j;
i = 0; j = 0;
remove_quotes(str)
while (1)
{
j = strfind(str[i], " ")
if (j != -1)
{
formatex(ar, j, str[i])
console_print(id, ar)
i += j+1
}
else
{
formatex(ar, 32, str[i])
console_print(id, ar)
break
}
}
}
Добавлено спустя 2 минуты 35 секунд:2 вопроса:
1. Как поймать автозакуп?
2. Как сделать чтоб автозакуп корректно отрабатывался в client_command?
- Код: Выделить всё
public client_command(id)
{
if( is_user_alive(id) )
{
new szCommand[13] if( read_argv(0, szCommand, charsmax(szCommand)) < 12 )
{
return CheckBuyCmd(id, szCommand)
}
}
return PLUGIN_CONTINUE
}
Добавлено спустя 2 минуты 53 секунды:Суть в том что у меня применяются модельки на купленное оружие, каких то других способов отловить покупку я не нашёл кроме client_buy.amxx, но в 1.8.3 он не работает с автозакупом т.к. урезали cstrike.inc
Добавлено спустя 7 минут 45 секунд:Допустим сделаю на каждого игрока массив под его автозакуп который будет присваиваться cl_setautobuy, потом при получении команды cl_autobuy обрабатывать его список и передавать всё как client_command. Можно как то заблочить cl_autobuy и "сэмулировать" вызов client_command передав параметры туда? Как их передать?))
Добавлено спустя 2 часа 5 минут 19 секунд:В общем решение дописываю, остался cl_rebuy