Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
-
Объявления
-
⚙️ Новые онлайн-инструменты для DayZ 07/26/26
-
- 0

Приветствую всех! Первый раз пишу на этот форум, но сижу уже где-то неделю, изучаю EnScript. Суть вопроса такова: для себя пишу что-то вроде админки на основе скриптов, хочу ее поставить на ванильный сервер. Уже несколько часов бьюсь с проблемой спавна вещей и машин. Тестирую со спавном ВСС в руках с обвесом и собранной нивы.
Что и как спавнить я передаю через HTTP, с помощью RestApi
Запрос:
Коллбэк:
CustomRestCallback - наследуется от RestCallback, и в нем просто переписаны OnTimeout() и OnError()
ApiGiveResponse - описание структуры данных для JsonSerializer (Все это нашел в распакованных скриптах, комментариях к коду от самих разрабов)
Данные, которые я передаю:
Коллбэк вызывает функцию Give, которая должна заспавнить вещь в руках игрока (пока что только админа), а затем прикрепить к ней вещи из массива kAttachments
И вот в функции Give происходит непонятное для меня - ВСС спавнится в руках, к нему пристегивается магазин, а дальше происходит вот что:
SCRIPT : [MY_SCRIPT] Module.Give called SCRIPT : [MY_SCRIPT] Module.GetAdmin called SCRIPT : ++++++++++++++++++++++++++++++++++ SCRIPT : string Name = 'VSS' SCRIPT : array<string> kAttachments = 0x000000000d6d60a0 {'Mag_VSS_10Rnd','PSO11Optic'} SCRIPT : array<string> kInventory = 0x000000000d6d5160 {'Mag_VSS_10Rnd','Mag_VSS_10Rnd'} SCRIPT : ---------------------------------- SCRIPT (E): NULL pointer to instance Function: 'Give' Stack trace: $CurrentDir:mpmissions/dayzOffline.chernarusplus/my_scripts/Module.c:46 $CurrentDir:mpmissions/dayzOffline.chernarusplus/my_scripts/Callbacks.c:90 SCRIPT (E): NULL pointer to instance Function: 'Give' Stack trace: $CurrentDir:mpmissions/dayzOffline.chernarusplus/my_scripts/Module.c:46 $CurrentDir:mpmissions/dayzOffline.chernarusplus/my_scripts/Callbacks.c:90И прицел не спавнится, сервер продолжает работу. Со спавном нивы примерно то же самое: спавнится нива, к ней спавнится только капот, а всего остального нет, хотя и двери, и колеса, все было указано во входных данных.
P.S. JsonSerializer все обрабатывает правильно, это видно в логах, и я это отдельно тестил.
Прошу помочь, объясните, что не так. В документации на community.bistudio.com читал про ключевое слово ref и Managed классы, но так до конца и не понял, что к чему, и не понял принцип работы Garbage Collector'а. Возможно, что это все из-за него ?
UPD:
это строка
for (int i = 0; i < kAttachments.Count(); i++)в функции Give, а
это вызов функции Give из коллбэка
Изменено пользователем killreal (история изменений)Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах