Приветствую, есть некоторые вопросы по плагинам:
- как передать в плагин массив?пример скрипта:
Код
set #n 20
set $s "foo bar"
init_arr %arr 10 20 30
log UOPilotPlugin.Function1(#n, $s, %arr)
stop_script
результат: (плаг сделан на основе из справки)
21:04:02 2 (autosaved_2.txt, 6): (Handle 0; PID 0; Parameter string (20, foo bar, %arr); Parameter string original (20, foo bar, %arr)
как видим, содержимое массива не парсится
- откуда взялась первая открывающая скобка "(" в выводе плага, если в шаблоне ее нет?код функции:
Код
void UOPILOT_CALL Function1(tParamStruct* ParamStruct)
{
sprintf_s(ParamStruct->Result,
"%s" "%u" "%s" "%u" "%s" "%s" "%s" "%s",
"Handle ", (size_t) ParamStruct->WindowHandle,
"; PID ", (size_t) ParamStruct->WindowPID,
"; Parameter string ", ParamStruct->ParamString,
"; Parameter string original ", ParamStruct->ParamStringOrig
);
}
- как вызывать плагин из lua?переписанный скрипт:
Код
--lua
log("clear")
local n = 20
local s = "foo bar"
local arr = {10,20,30}
log(UOPilotPlugin.Function1(n, s, arr))
stop_script()
лог:
21:08:20 1 (autosaved_1.txt, 0): (-1): Ошибка! Проверьте правильность скрипта! ELuaScript unit "GLOBAL_NAME_SPACE", line 7.
Global variable "UOPilotPlugin" not found
--lua
log("clear")
local n = 20
local s = "foo bar"
local arr = {10,20,30}
log(UOPilotPlugin.Function1(n, s, arr