|
[CoP] Модострой: вопросница
|
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница

Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|
|
|
Время Альянса
| Статус: |
 |
| Ветеран: |
 |
| Сообщений: |
4070 |
| Награды: |
16 |
| Регистрация: |
19.07.2013 |
|
Цитата OP_artovod (  ) как искать весь этот краш сохранений? Перво наперво выясняют, в какой момент сейвы начинают крашиться (сразу после начала игры или же после какого то момента) - это облегчит дальнейший анализ. Начинают анализ с возможного переполнения сейва (функция set_save_marker), продолжают с функциями, которые что-то сохраняют в пакет ГГ, заканчивают логикой рестрикторов.
|
|
Пятница, 19.06.2020, 10:16
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
19.07.2013 |
|
|
|
|
|
|
| Статус: |
 |
| Опытный: |
 |
| Сообщений: |
1313 |
| Награды: |
4 |
| Регистрация: |
30.08.2018 |
|
Sidorov, как я понял, эта статья для ТЧ, но с небольшой инфой по ЗП. Надо будет как нить дописать что-ли.
|
|
Пятница, 19.06.2020, 10:31
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
30.08.2018 |
|
|
|
|
|
|
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
125 |
| Награды: |
0 |
| Регистрация: |
28.03.2020 |
|
Цитата AziatkaVictor (  ) Начинают анализ с возможного переполнения сейва (функция set_save_marker) а как определить переполненый пакет?Добавлено (19.06.2020, 10:43) --------------------------------------------- вообще может прога какая есть?
|
|
Пятница, 19.06.2020, 10:43
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
28.03.2020 |
|
|
|
|
|
|
Время Альянса
| Статус: |
 |
| Ветеран: |
 |
| Сообщений: |
4070 |
| Награды: |
16 |
| Регистрация: |
19.07.2013 |
|
OP_artovod, Указанная функция это и делает! Надо вывести ее сообщения в лог и смотреть, что она пишет по этому поводу.
Сообщение отредактировал denis2000 - Пятница, 19.06.2020, 10:56
|
|
Пятница, 19.06.2020, 10:55
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
19.07.2013 |
|
|
|
|
|
|
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
125 |
| Награды: |
0 |
| Регистрация: |
28.03.2020 |
|
а как её в лог вывести?
|
|
Пятница, 19.06.2020, 10:58
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
28.03.2020 |
|
|
|
|
|
|
Время Альянса
| Статус: |
 |
| Ветеран: |
 |
| Сообщений: |
4070 |
| Награды: |
16 |
| Регистрация: |
19.07.2013 |
|
|
|
Пятница, 19.06.2020, 11:03
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
19.07.2013 |
|
|
|
|
|
|
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
125 |
| Награды: |
0 |
| Регистрация: |
28.03.2020 |
|
denis2000, а куда её вписывать?
|
|
Пятница, 19.06.2020, 11:05
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
28.03.2020 |
|
|
|
|
|
|
| Статус: |
 |
| Новичок: |
 |
| Сообщений: |
270 |
| Награды: |
5 |
| Регистрация: |
30.07.2016 |
|
Как заспавнить предмет вне AI сетки? Если использовать функцию spawn_object для спавна на вейпоинте, то ничего не происходит.
Сообщение отредактировал yobakun - Пятница, 19.06.2020, 20:37
|
|
Пятница, 19.06.2020, 20:19
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
30.07.2016 |
|
|
|
|
|
|
| Статус: |
 |
| Новичок: |
 |
| Сообщений: |
290 |
| Награды: |
4 |
| Регистрация: |
09.01.2017 |
|
Цитата yobakun (  ) Как заспавнить предмет вне AI сетки?
Можно в СДК, если отключить привязку к сетке. Или скриптом типа
alife():create("секция предмета",vector():set(db.actor:position().x+2,db.actor:position().y,db.actor:position().z), db.actor:level_vertex_id(),db.actor:game_vertex_id())
Вместо db.actor:position().x+2 пишете нужные координаты.
Сообщение отредактировал sergej5500 - Пятница, 19.06.2020, 21:08
|
|
Пятница, 19.06.2020, 20:51
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
09.01.2017 |
|
|
|
|
|
|
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
Цитата sergej5500 (  ) Можно в СДК, если отключить привязку к сетке. Или скриптом Функция spawn_object - скриптовая функция, которая содержит в себе вызов alife():create(...), так что работает это всё по одной и той же схеме. Как вариант, можно попробовать использовать obj:use_ai_locations(false) при создании объекта. Я использовал это, когда нужно было, чтобы предметы из дроп боксов не привязывались к сетке (провалы предметов с крыш на первый этаж). Мне помогло.
|
|
Пятница, 19.06.2020, 21:50
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|
|
|
| Статус: |
 |
| Новичок: |
 |
| Сообщений: |
290 |
| Награды: |
4 |
| Регистрация: |
09.01.2017 |
|
Цитата Overfirst (  ) spawn_object - скриптовая функция, которая содержит в себе вызов alife():create(...), так что работает это всё по одной и той же схеме
Это так, но не совсем. Я для интереса проводил тесты. Ставил пойнт вне сетки. Вызывал spawn_object. Ничего не получалось. А вот alife():create с нужными координатами срабатывало. Даже вне сетки.
Пример, СГМ. Там один из тайников на носу Скадовска на верхней палубе. Сетки там точно нет. Применялась функция alife():create.
|
|
Пятница, 19.06.2020, 22:01
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
09.01.2017 |
|
|
|
|
|
|
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
Можно попробовать ради интереса в конце spawn_object добавить:
Код se_obj:use_ai_locations(false) upd: лучше это сделать отдельным параметром, а не по умолчанию выключать привязку к сетке. Применять только к тому, для чего это необходимо. А добавить даже лучше не в конец, а в блок для поворота физ. объектов - для сталкеров-то это не будет работать. Стабильность точно гарантировать нельзя будет.
Проверять уже без меня - не до тестов сейчас. Может, поможет. Всяко лучше, чем каждый раз дёргать alife():create(...) и спавнить по координатам.
Цитата sergej5500 (  ) Я для интереса проводил тесты. Ставил пойнт вне сетки. Вызывал spawn_object. Ничего не получалось. Это странно. Никаких предпосылок в функции spawn_object для таких проблем нет. По крайней мере, я пока не вижу.
|
|
Пятница, 19.06.2020, 22:08
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|
|
|
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
125 |
| Награды: |
0 |
| Регистрация: |
28.03.2020 |
|
Цитата denis2000 (  ) ---------------------------------------------------- -- Ведение отдельного лог-файла ----------------------------------------------------
--Инициализация лога function init_log_file() local file=io.open("gamedata//log_file.log","w") file:write("Start loggong on "..os.date(),"\n") file:close() end
--Запись строки в лог function print_log(save_string,script_name) if script_name == nil then script_name = "_g.script" end local file=io.open("gamedata//log_file.log","a") file:write(os.date().."|"..script_name.."|"..save_string,"\n") file:close() end
куда это вписывать или это можно отдельным файлом сделать
|
|
Пятница, 19.06.2020, 22:14
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
28.03.2020 |
|
|
|
|
|
|
| Статус: |
 |
| Новичок: |
 |
| Сообщений: |
270 |
| Награды: |
5 |
| Регистрация: |
30.07.2016 |
|
Код se_obj:use_ai_locations(false) работает.
Цитата sergej5500 (  ) пишете нужные координаты. Это неудобно когда надо заспавнить объект через логику.
Цитата Overfirst (  ) Это странно В этом то и загвоздка. В некоторых моментах функция просто ничего не создает.
|
|
Пятница, 19.06.2020, 22:28
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
30.07.2016 |
|
|
|
|
|
|
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
Я там обновил пост свой. Сделай лучше, как там написано в upd.
Цитата yobakun (  ) В некоторых моментах функция просто ничего не создает.
Встречал такое недавно, когда спавнили призрачный поезд с товарищем Policai для его мода. Впервые тогда это увидел. Раньше не сталкивался (ибо редко юзаю spawn_object).
|
|
Пятница, 19.06.2020, 22:31
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|