попытки там и не было никакой. Недаром в хл2 от этих скриптов вообще отказались. Изначально, видимо да, планировалось вынести основное действия оружия в скрипт, чтобы их мог и клиент обрабатывать и сервер.
А потом плюнули и просто засунули код оружий на с++ прямо в клиент.длл
fire64 писал: На самом деле sc файлы, это грязный хак, для передачи индексов кеширования эвентов.
ничего это не хак, ты просто красоту всей идеи не оценил.
Итак, как это было задумано:
1. нам нужны клиентские пушки с предиктингом
2. код пушек находится на сервере
3. вынесем код выстрелов в особые скриптовые файлики, которые будет проигрывать как клиент, так и сервер (см. glock1.sc как пример).
4. получится красивая реализация предиктинга оружия.
Как это было реализовано:
1. на деле скрипты подобного вида уже не тянут на простой парсер, это уже небольшая виртуальная машинка со стёком.
2. не совсем понятно, если машинка в движке, как вывести из нее код вызова тех или иных функций. Делать набор эффектов? Неудобно, ограниченно. Вынести код в клиентку и Hl.dll? опять паста.
3. в итоге пошли на компромисс: эвенты сами по себе стали абсолютно не нужны, но от первоначальной задумки осталась их связь с именем вполне конкретного файла, который проверяется системой даунлоада.
4. имена эвентов обязаны указывать на вполне реальные файлы, но вот тип этих файлов не имеет ровным счето никакого значения. Я указывал вместо файлов .sc пути к спрайтам, моделям и прочей ерунде. Халфа совершенно спокойно к этому относилась.
Примечание: Xash3D вообще никак не проверяет наличие реальных файлов эвента, указанных при кэшировании. Для него путь к файлу - просто имя эвента. Если мод делается чисто под ксаш, вы можете с таким же успехом вписать туда что-то типа evMP5Fire вместо пути к файлу events/mp51.sc и это тоже будет работать.