Здравствуйте! Сегодня решил попробовать свои силы в создании модов для Сталкера, так как это моя любимая игра. Когда-то раньше пробовал, но почему-то забросил... Я в основном занимаюсь Web-программированием, а сегодня попробовал скрипты, минут за 20 сделал такую штуку, как механизм событий и их обработчиков, это что-то вроде биндинга, но по-другому работает. Принцип сейчас покажу в коде:
function handler()
-- Тут всякий код
end
function handler2()
-- Тут всякий код
end
setHander("test_action", handler)
setHander("test_action", handler2)
setAction("test_acton")
-- Будет выполнен код из функций handler() и hander2()
Такая штука будет очень полезна, когда нужно обработать какое-то событие в моде и вся эта система должна содержаться в порядке. Вызывать события можно вообще любые: setAction("bla-bla-bla"). Если нет обработчиков, то ничего не произойдёт, но ошибок не будет Регистрировать обработчики можно в любом месте любого скрипта, будет работать. Например при заходе на локацию вызывать событие on_location_zaton, тогда можно будет событие обрабатывать. В общем система очень простая и полезная, можно много применений найти. Её можно использовать в любой версии Сталкера, так как она использует только возможности языка Lua Также в приведённом коде есть ещё некоторые функции, они может и не самые полезные, но их тоже можно использовать. Я хочу заделать что-то вроде прослойки между теми скриптовыми функциями, что сейчас есть и модами, чтобы облегчить использование некоторых возможностей.
Мог объяснить не очень понятно, просто спать уже хочу... Критикуйте) буду только рад
Как вам моя идея? Есть ли у неё перспективы? Если есть предложения, чего бы ещё сделать, предлагайте)