- 921
- 618
может не совсем подходящий раздел, но на днях пытался понять, почему на серверные объекты не накладывается свет от фар автомобиля, столбов и всего прочего, но особо так ни к чему и не пришел, но как понял:
опкод создания объекта (0107), используемый сампом для создания серверных объектов, создаёт их не совсем так, как это делается для стандартных объектов, подгружаемых с .ipl файлов (не размечает их позицию, используемую при расчете падения света от фар, или ещё что в этом роде)
изначально заметил эту проблему только при замене стандартных объектов на другие, и поэтому решил копать в сторону RemoveBuildingForPlayer, узнал что самп для удаления объекта прост меняет его модельку на невидимую 19300 (причем делает это даунским способом, из-за чего и требуется перезаход в игру для восстановления объекта) - ради теста решил вместо замены модельки, менять ид интерьера, тем самым просто скрывая объект, сохраняя его настоящую модель - и действительно, на местах, где был удален стандартный объект, и вместо него поставлен тот же самый (с применением ретекстура например) - свет начинает падать так, как и должен, т.е. функции, работающие с освещением начинают понимать, что тут есть объект
в идеале бы, конечно, дополнить опкод, чтобы он размещал объект также, как это сделано для всех прочих стандартных объектов, возможно кто-то уже разбирался в их устройстве поглубже и сможет помочь)
опкод создания объекта (0107), используемый сампом для создания серверных объектов, создаёт их не совсем так, как это делается для стандартных объектов, подгружаемых с .ipl файлов (не размечает их позицию, используемую при расчете падения света от фар, или ещё что в этом роде)
изначально заметил эту проблему только при замене стандартных объектов на другие, и поэтому решил копать в сторону RemoveBuildingForPlayer, узнал что самп для удаления объекта прост меняет его модельку на невидимую 19300 (причем делает это даунским способом, из-за чего и требуется перезаход в игру для восстановления объекта) - ради теста решил вместо замены модельки, менять ид интерьера, тем самым просто скрывая объект, сохраняя его настоящую модель - и действительно, на местах, где был удален стандартный объект, и вместо него поставлен тот же самый (с применением ретекстура например) - свет начинает падать так, как и должен, т.е. функции, работающие с освещением начинают понимать, что тут есть объект
в идеале бы, конечно, дополнить опкод, чтобы он размещал объект также, как это сделано для всех прочих стандартных объектов, возможно кто-то уже разбирался в их устройстве поглубже и сможет помочь)