Участник
Пользователь
- Сообщения
- 893
- Реакции
- 149
- Помог
- 25 раз(а)
Здравствуйте.
Пытаюсь сделать форвард, который будет заменять строку.
Есть у меня форвард:
Дальше, я его вызываю через команду:
И через другой плагин, в самом форварде, добавляю текст:
И вот, когда я вызываю уже через команду этот форвард - в консоли севрера пустота, хотя, по факту, должно вывести test.
Если же я заменю FP_STRING на FP_VAL_BYREF, выводит всего первый символ (букву t) в консоль.
Как мне быть? Пытаюсь разобраться в работе форвардов.
Пытаюсь сделать форвард, который будет заменять строку.
Есть у меня форвард:
C++:
new g_fwdShowInfo;
public plugin_init() {
g_fwdShowInfo = CreateMultiForward("Fwd__ShowInfo_Pre",ET_CONTINUE,FP_CELL,FP_STRING,FP_CELL);
register_clcmd("test_1","Func__ShowINfo");
}
C++:
public Func__ShowINfo(const id) {
new szSource[256];
new iRet;
ExecuteForward(g_fwdShowInfo,iRet,id,szSource,charsmax(szSource));
server_print("%i", charsmax(szSource));
server_print(szSource);
}
C++:
#include <AmxModX>
forward Fwd__ShowInfo_Pre(id,szSource[],iMaxLen);
public Fwd__ShowInfo_Pre(id,szSource[],iMaxLen) {
new szAddText[256];
copy(szAddText, charsmax(szAddText), "test");
add(szSource,iMaxLen,szAddText);
}
Если же я заменю FP_STRING на FP_VAL_BYREF, выводит всего первый символ (букву t) в консоль.
Как мне быть? Пытаюсь разобраться в работе форвардов.
Последнее редактирование: