![]() |
Показать все 10 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Как запустить комманду у клиента ? (https://hlfx.ru/forum/showthread.php?threadid=1651)
Как запустить комманду у клиента ?
Пишу плагин под AMX. Немогу запустить комманду у клиента. Нашел функцию g_engfuncs.pfnClientCommand(edict_t* pEdict, char* szFmt, ...), но она не работает.
Получаю pEdict клиента при заходе его на сервер
отправляю ему сразу же disconnect. Но ничего не получаеться.
void OnClientPutInServer(edict_t *pEntity){ |
g_engfuncs.pfnClientCommand(pEntity, "disconnect"); |
RETURN_META(MRES_IGNORED); |
}; |
g_engfuncs.pfnServerCommand("kick #1"); |
g_engfuncs.pfnServerExecute(); |
Насчет особенностей AMX - не в курсе, но в принципе все сделано вроде бы правильно и должно работать.
__________________
Я нашел в чем ошибка. Оказываеться надо поставить перевод коретки после disconnect. (Неужели амх такой принципеальный?)
Вобщем это будет выглядить так:
1 | g_engfuncs.pfnClientCommand(pEntity, "disconnect\n"); |
2 |
3 | char kickcmd[16]; |
4 | sprintf(kickcmd, "kick #%d\n", GETPLAYERUSERID(pEntity)); |
5 | g_engfuncs.pfnServerCommand(kickcmd); |
6 | g_engfuncs.pfnServerExecute(); |
Была такая мысль, кстати. Перевод каретки всегда ставить надо.
Просто я не подумал, что это настолько уж принципиально...
__________________
assd перевод каретки тут не приделах, на самом деле.
Даже если принудительно написать "disconnect\n", твоя команда выполнится только на следующем кадре.
А Server_Execute() форсирует процесс до немедленного выполнения.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
вопрос в тему. а можно ли получить текстовый результат выполнения команды с клиента??? например с команды "alias\n"
__________________
XaeroX я имею в виду, что перевод строки не запускает команду на выполнение немедленно. А если совсем не дописать, то конечно команда испортится. кстати Server_Execute не добавляет \n
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну и что что не добавляет, зато он выполняет ее как последнюю, т.е. мы уверены, что к ней ничего не допишется.
__________________
XaeroX можно еще команд добавить, также с переводом строки
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 20:41. | Показать все 10 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024