на главную
об игре
Far Cry 23.03.2004

Скриптинг и кодинг, вопрос по Weapon ID

Привет ! Делаю мод с большим количеством оружия. Столкнулся с проблемой движок не хочет регистрировать больше чем 49 видов оружия.

По адресу SCRIPTS\Default\Entities\Weapons есть скрипт WeaponSystem.lua в котором регистрируется оружие и приписывается ID для каждого вида. Все отлично получалось пока не добрался до ID=50.
При попытке зарегать любое оружие под номером 50 и выше движок сразу же отказывается его переваривать.
Уровень уже не загружается если в нём есть оружие с таким ID, а если загрузить удачно сохраненную игру то при получения в руки оружия с ID=50 будут вылеты при сохранении игры. С номерами от 1 до 49 всё отлично работает.
Кто-нибудь знает в чём причина ? Или может кто-то встречал моды в которых более 30 видов дополнительного оружия и он работает без вылетов ?

Вот так выглядит скрипт WeaponSystem.lua

назначение id

ID для оружия я так понимаю нужен для оптимизации при загрузке и сохранении игры, т.к. 2-х значное число занимает меньше места в памяти чем длинный адрес к скрипту.

как проверить и увидеть проблему на практике

Можете сами самостоятельно на своей версии игры все испытать. Зайдите по адресу SCRIPTS\Default\Entities\Weapons откройте WeaponSystem.lua и встрочке для Falcon поставьте не 10, а например 50, 90, 450 любые числа и попробуйте загрузить игру, если чудом она загрузилась попробуйте сохранить игру - сразу же игра зависнет, при попытке нажать клавишу она и вовсе отключится

Комментарии: 1
Ваш комментарий

Так это лимит, поэтому, увы, никак не обойти эту проблему. Возможно её в длл где-то можно пофиксить но это нужно быть профессиональным программистом (насчёт этого я точно не знаю).

0