Добавил консольную команду "user_command" для ввода (новых/ пользовательских) команд. Также добавил коллбек "on_user_command" в скрипты, который возвращает строку введенную в команду "user_command" . Данный функционал позволит управлять какими-либо переменными скриптов прямо из консоли.
Пример с использованием...
bind_stalker.script
-- для начала нужно добавить новый колбек в список
function actor_binder:net_destroy()
...
self.object:set_callback(callback.on_user_command, nil)
end
function actor_binder:reinit()
...
self.object:set_callback( callback.on_user_command, self.on_user_command, self )
end
-- теперь добавим функцию с обработкой колбека
-- в этом примере обрабатываются только первые 2 значения после user_command, команда - значение
function actor_binder:on_user_command(cmd)
local cmd_lengh = string.len(cmd)
local com_space = string.find(cmd, " ")
if (com_space ~= nil) then
local command = string.sub(cmd, 1, (com_space - 1))
local com_value_end = string.find(cmd, " ", (com_space + 1))
if (com_value_end == nil) then com_value_end = cmd_lengh end
local com_value = string.sub(cmd, (com_space + 1), com_value_end)
command = string.gsub(command, " ", "")
com_value = string.gsub(com_value, " ", "")
--log3("~ on_user_command: command: ["..command.."], type: "..type(command))
--log3("~ on_user_command: value: ["..com_value.."], type: "..type(com_value))
------------------------------------------------
-- тут можно ловить вызов колбека
-- изначально command и com_value в формате string это нужно учитывать
comand_test(command, com_value) -- вызываем свою функцию
end
end
function comand_test(com, value)
local value_number = tonumber(value) -- конвертировать строку в число (если это нужно)
if (value_number ~= nil) then
if (com == "demo" and value_number == 5) then -- если ввели "user_command demo 5"
log3("com 1 ok")
end
end
if (com == "demo" and value == "kek") then -- если ввели "user_command demo kek"
log3("com 2 ok")
end
end
Добавил консольную команду "user_command" для ввода (новых/ пользовательских) команд. Также добавил коллбек "on_user_command" в скрипты, который возвращает строку введенную в команду "user_command" . Данный функционал позволит управлять какими-либо переменными скриптов прямо из консоли. Пример с использованием...
bind_stalker.script