Перейти к содержанию

Рекомендуемые сообщения

 
 
16 часов назад, Mawrak сказал:

set_switch_offline всегда должен быть true, и по умолчанию он у них true. Если его сделать false, то они НИКОГДА не отгрузятся в онлайн, даже если они далеко (это плохо и создает огромное число проблем при большом кол-ве таких НПС)

нуу не знаю, я правда в моде на ТЧ делал так, чтоб неписи никогда не выходили в офф-лайн и квестовые и обычные и симуляционные - никаких проблем это не вызывало, кроме падения ФПС:u1F642: на моём не самом мощном проце( наоборот постоянный выход в офф-лай и выход обратно в онлайн сталкеров вызывал безлоговый вылет, то ли из-за забивки стэка памяти (всё-таки движок ТЧ 32-бит, а мод к тому времени жрал 4 ГБ оперативы), то ли из-за некорректного запоминания, ведь при уходе в офф-лайн неписи удаляются как клиентские объекты, а остаются только серверные, потмо при входе в он-лайн, создаётся опять клиентский объект, который по идее должен подгружаться из хранилища и вот на этом этапе могли происходить проблемы, когда объект некорректно ушёл в офф-лайн)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

100 советов по выживанию в Зоне в загрузочном экране. Как увеличить количество до, к примеру, 150-ти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

@Prostomod а что делать если я их двоих удалил и всё равно выдаёт такую-же ошибку

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, bsanek628 сказал:

100 советов по выживанию в Зоне в загрузочном экране. Как увеличить количество до, к примеру, 150-ти?

bsanek628, "loadscreen.script", добавь нужное кол-во в "tips_table" по аналогии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Dyh Разбираться нужно. Их вполне может быль и 10, и 100, зависит от секции, куда прописано. К тому же, нельзя исключать факт, что удаление одного из них может привести к другим проблемам т.к. "объект не будет найден".
Если объект имеет story_id, то можно спавнить его только 1 раз. Так что если предполагается, что будет несколько таких, то или убрать стори_ид вообще, либо делать несколько одинаковых секций, где отличается только стори_ид.
А, ну и ещё мб проблема в самом спавне, например, спавн в цикле. Гадать можно бесконечно т.к. мне неизвестно, какие были внесены правки.

Спойлер

Чтобы пингануть собесебника, нажми на "собачку" между лайком и плюсиком в правом нижнем углу.

 


Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

CiberZold у меня такие НПС, особено walker-ы, через всю карту замечали друг друга и входили в состояние боя. Например, охрана бункера могла заагриться на отряд монолита, ведущий бой на другой части карты. Но это был ЗП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

В SDK 07 у меня при компиляции локации вылетает батник, зависает просто, сделал билд локации без ошибок , только в самом сдк пишет на некоторых объектах   Invalid vertex normal, помогите? 

Скриншот 21-07-2023 144221.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Shew_Power Вообще никакого лога?


Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Вот на этом моменте виснет1565981288_21-07-2023144618.thumb.jpg.6278798aa55ef72c99cd6afdefae14b7.jpg

Изменено пользователем Shew_Power

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Shew_Power Не хватает .thm текстур. По логу найти названия недостающих текстур и из них сгенерируй .thm. В инете много роликов на эту тему.
Ещё вроде как можно поставить флаг игнорирования .thm, но тут не уверен - есть ли он в оригинальных компиляторах. В альтернативных (например, от Sky Loader) он точно есть.

  • Лайк 1

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Dyh сказал:

а что делать если я их двоих удалил и всё равно выдаёт такую-же ошибку

Не исключаю, что в simulation.ltx при старте игры происходит спавн и потом еще через create_squade( вызов из эфектов).  У меня такое было


Дополнено 1 минуту спустя
40 минут назад, Mawrak сказал:

через всю карту замечали друг друга и входили в состояние боя

А отсечение в логике по расстоянию комбат_игноре только для разработчиков?

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, Mass сказал:

А отсечение в логике по расстоянию комбат_игноре только для разработчиков?

В норме не нужно приписывать это. Это лишняя работа и доп. проблемы. Никому не мешаю экспериментировать с этим, но на мой взгляд, отключать отгрузку большого числа НПС это не очень хорошая идея (и еще, когда у вас все отряды начинаются агриться друг на друга на больших расстояниях, ФПС тоже упадет до неиграбельного).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Mawrak Не совсем меня, видимо, поняли. Имелось ввиду отсечение по расстоянию или сквадов чтобы нпс не агрились друг на друга

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Вопрос: Можно ли как-то быстро выделить все inventory_box на локации в СДК?
Просто хочу изменить лут в тайниках на своей локации, но не помню где какой лут расставлял и где вообще они находятся


 

Защитим мир от заразы - Зоны                   Долг.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SoDizzari Не видел такой функции в SDK. Можно включить/выключить отображение всех спавн-объектов, можно глянуть на их список, но чтоб выделить все объекты определённого класса - не помню.

Но могу предложить другой способ. По секрету скажу, что большинство .part файлов в равдате - это файлы формата .ini (ну... или .ltx, разницы в данном случае вообще нет). Если у тебя у всех тайников есть общее что-то в названии, чтобы точно отделить тайники от других спавнов - можешь в этом файле попробовать найти все строчки, содержащую эту общую часть (например, через notepad++ "найти все" или аналогичные функции в других текстовых редакторах). Так сможешь найти имена всех ящиков, а потом просто через object list в SDK поочерёдно выделять их. Если будешь пользоваться этим способом - лучше скопируй spawn.part куда-то и потом открывай и ищи в копии, иначе можно вообще сломать безвозвратно файл, из-за чего потеряешь весь спавн (+ чтобы результаты работы в SDK нормально сохранялись).

Изменено пользователем Prostomod

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, SoDizzari сказал:

но не помню где какой лут расставлял и где вообще они находятся

Для этого нужно всем тайникам присваивать имя, которое бы указывало на это, чтобы потом было легко найти его в общем спавне. Думать нужно наперед!!!

Например в моде Лабиринт на локации Кордон всем тайникам присвоены имена: esc_treasure_1, esc_treasure_2 и т.д.

Дальше в SDK выбираете лист со  всеми спавн объектами. Находите нужный тайник. Давите на кнопку "перейти к объекту", если хотите посмотреть где он на локации находится, или не давите,  и в его свойствах меняете его содержимое.

Тут чисто опыт работы в SDK.


Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Expression    : XRAI_CURRENT_VERSION == m_version
Function      : CALifeSpawnHeader::load
File          : C:\Users\Boriss\Downloads\omp-engine-dev\omp-engine-dev\src\xrGame\alife_spawn_registry_header.cpp
Line          : 21
Description   : 'game.spawn' version mismatch!
Вылезает теперь вот такая ошибка при запуске батника, кто знает как это починить? 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Создал новую группировку, создал сквад из этой группировки, убиваешь всё окей, но начинаешь лутать и происходит вылет, что делать?


 

Защитим мир от заразы - Зоны                   Долг.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SoDizzari в misc\death_items_by_communities.ltx и death_manager.script прописать походу забыл.


Дополнено 4 минуты спустя

Dyh если полностью перекомпилировал уровень (то есть сетку тоже), то тогда, помимо all.spawn, надо ещё переносить и level.ai. Находится он в папке с уровнем, берём версию из SDK и заменяем ею версию из геймдаты мода.


Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 минут назад, Prostomod сказал:

SoDizzari в misc\death_items_by_communities.ltx и death_manager.script прописать походу забыл.

Прописал, вот лог: 

Expression    : fatal error
Function      : CScriptEngine::lua_pcall_failed
File          : C:\xray\stcop_engine\src\xrServerEntities\script_engine.cpp
Line          : 213
Description   : <no expression>
Arguments     : LUA error: f:\stalker call of pripyat\gamedata\scripts\xr_logic.script:653: attempt to call a nil value


 

Защитим мир от заразы - Зоны                   Долг.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SoDizzari Хм... сделай-ка две вещи:

1) в _g.script раскомментируй строку error_log(reason) в функции abort, должно получиться:

Спойлер

function abort(fmt, ...)
	local reason = string.format(fmt, ...)
	error_log(reason)
end

 

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

2) Выложи все места, где ты прописывал группировку.


Дополнено 49 минуты спустя

Небольшой вопрос: в оригинале можно как-то временно отключить звук пиликанья детектора аномалий? В ТЧ знаю это завязано на детекторах, а вот в ЗП как с этим дела?
Детектор артов не при чём - даже если его нет в инвентаре, пиликанье остаётся.

Изменено пользователем Prostomod
Немного недописал

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
14 часов назад, Prostomod сказал:

Так у тебя игра будет вылетать по каждому косяку, зато тебе (и остальным) будет проще чинить баги

Зачем делать, чтобы игра вылетала по каждому случаю? Можно все записать в отдельный файл, а после выхода из игры просмотреть его.

Я вывожу всю информацию в файл makdm.log в папку gamedata:

Спойлер

 

local log_path = "gamedata\\makdm.log"
local log_mode = "a+"

-- Крешнуть игру (после вывода сообщения об ошибке в лог)
function abort(fmt, ...)

    local log_file = io.open(log_path, log_mode)
    if io.type(log_file) == "file" then
        local reason = string.format(fmt, ...)
        log_file:write(reason, "\n")
        log_file:flush()
        log_file:close()
    end
--error_log(reason)
end

 

 

  • Лайк 1
  • Мастер! 1
  • Жму руку 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

makdm Можно и так, но у меня часто встречалось, что если вызван аборт, то произошла серьёзная ошибка, которая тянет за собой кучу других, из-за чего в любом случае нужен только первый лог. Тогда и смысла в продолжении работы после аборта нет. Наверно, дело вкуса, или процессов разработки.

А вот для принта - самое то.

Изменено пользователем Prostomod

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
5 минут назад, Prostomod сказал:

Наверно, дело вкуса, или процессов разработки.

Prostomod , каждый сам выбирает методы отладки на свой вкус. Я, например, использую ещё и acdc. Всегда распаковываю all.spawn и просматриваю секции. Мне проще читать пакет объекта и сразу видеть ошибки, чем в SDK искать иголку в стоге сена.

Кстати, по предыдущему вопросу, когда чувак забыл в какой инвентарный ящик что положил и где эти инвентарные ящики на локации находятся, так в acdc по поиску section_name = inventory_box, находятся сразу все. И видно и их имена и содержимое. Можно тут же в SDK их находить в листе и редактировать содержимое.

  • Лайк 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

makdm Если б не пример, я б так и не понял бы, зачем acdc вместе с SDK использовать, спасибо.

Дальше для других, кому лень с acdc возиться: можно просматривать напрямую spawn.part. Пусть не так всё там очевидно читается (тот же ключ section_name там спрятан в секции [искомый_объект_spawndata] под именем 000002, а кастом дата там под ключём 000024), но как альтернатива - работает. Даже больше - после правок и сохранения .part файла из текстового редактора нужно просто переоткрыть уровень без сохранения в SDK, чтобы изменения применились и были видны в SDK (главное, перед открытием .part сохранить всё, а во время его изменения не менять что-либо в SDK). Только аккуратно нужно быть.

Изменено пользователем Prostomod

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу