iteelion
Участник
- Сообщения
- 2
- Реакции
- 1
Господа форумчане, подскажите начинающему, как использовать ReplyToCommand() внутри callback функции? До того как проваливаешься в callback, GetCmdReplySource() возвращает 1 или 0, в зависимости от того откуда пишешь (чат/консоль), но уже после того как провалился в него, всегда возвращает 0, откуда бы не писал команду.
Логика примерно такая:
Вопрос скорее теоретический, чем практический, можно ли вообще так делать и почему теряется "контекст" ReplySource.
На данный момент решаю проблему кастомной функцией и передачей значения из GetCmdReplySource() внутрь callback'a, но кажется, что это не по феншую.
Буду благодарен любым ответам по существу, не пожалею виртуальных плюсиков в карму.
Логика примерно такая:
C-подобный:
public void HttpResponseCallback(bool isRequestSuccess, const char[] requestError, System2HTTPRequest request, System2HTTPResponse response, HTTPRequestMethod method) {
{
...
ReplyToCommand(client, message); // Тут уже всегда пишет в консоль, а GetCmdReplySource() всегда = 0
...
}
public Action Command_Test(int client, int args)
{
...
System2HTTPRequest httpRequest = new System2HTTPRequest(HttpResponseCallback, "https://some.addr/");
httpRequest.POST();
...
ReplyToCommand(client, message); // Тут ОК
return Plugin_Handled;
}
Вопрос скорее теоретический, чем практический, можно ли вообще так делать и почему теряется "контекст" ReplySource.
На данный момент решаю проблему кастомной функцией и передачей значения из GetCmdReplySource() внутрь callback'a, но кажется, что это не по феншую.
C-подобный:
void ReplyToCommandEx(int client, char[] message, int replySrc)
{
if(client > 0){
if(replySrc == 1){
PrintToChat(client, message);
}else{
PrintToConsole(client, message);
}
} else {
PrintToServer(message);
}
}
Буду благодарен любым ответам по существу, не пожалею виртуальных плюсиков в карму.