Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Общие вопросы и ответы
denis2000Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Помощь тем кто хочет знать больше о игре и модах

Если у вас появились вопросы по модостроению в игре S.T.A.L.K.E.R. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[ Если у вас не открывается файл CHM(Этот текст скрыт от гостей) ]

[ Где найти лог игры после вылета ]
[ Получение более подробной информации о вылете (ХОВАН) ]



Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы,
статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


Посты, для которых есть свои категории, из этой темы будут удаляться или перемещаться в соответсвующую тему. Персональных извещений в ЛС о переносе\удалении поста не будет, ищите сами. Учитывайте, что в системах Ucoz тема не обновляется в статистике при переносе поста.
Посты, написанные здесь-же после переноса, будут расцениваться как кросспостинг, со всеми вытекающими


[ Первый юбилей нашей темы(Этот текст скрыт от гостей) ]
 
sergej5500Дата: Сб, 30.07.2016, 23:56 | Сообщение # 2071
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата Бармен ()
как настроить ГГ, чтобы на глобальной карте, он был в нужно месте.


Нужно настраивать файл gamedata\configs\game_maps_single.

Для каждой локации там есть секция типа

[zaton]
global_rect = 307.0, 90.0, 717.0, 500.0
music_tracks = zaton_musics
weathers = dynamic_default

Строка global_rect задает координаты левого верхнего и правого нижнего углов прямоугольника текущей локации на глобальной карте. Эти параметры и меняйте.
 
БарменДата: Пн, 01.08.2016, 05:30 | Сообщение # 2072
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

sergej5500, Благодарю буду пробовать.

Добавлено (01.08.2016, 05:30)
---------------------------------------------
Народ если не сложно, объясните как работает данная функция.

Код
function spawn_npc()
xr_effects.spawn_object(nil, nil, {"npc_1","npc_1_point"})
xr_effects.spawn_object(nil, nil, {"npc_2","npc_2_point"})
xr_effects.spawn_object(nil, nil, {"npc_3","npc_3_point"})
end
 
denis2000Дата: Пн, 01.08.2016, 08:02 | Сообщение # 2073
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Бармен, Спавнит указанных НПС (npc_1,npc_2,npc_3) в нулевых точках путей (npc_1_poin,npc_2_poin,npc_3_poin).

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Пн, 01.08.2016, 08:48 | Сообщение # 2074
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

denis2000, Просто прописываешь в xr_effects.script, и НПС спавниться в указанной точки? И не куда больше нечего, не надо прописывать. А то мне сказали, что в bind_stalker.script апдейт делать.
 
sergej5500Дата: Пн, 01.08.2016, 09:04 | Сообщение # 2075
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата Бармен ()
Просто прописываешь в xr_effects.script, и НПС спавниться в указанной точки? И не куда больше нечего, не надо прописывать.


Еще надо добавить вызов функции спавна в логику рестриктора. Тогда она сработает.

Цитата Бармен ()
А то мне сказали, что в bind_stalker.script апдейт делать.


На апдейт целесообразно вешать функции, которые непрерывно вызываются в ходе игры.
 
БарменДата: Пн, 01.08.2016, 09:08 | Сообщение # 2076
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Цитата sergej5500 ()
Еще надо добавить вызов функции спавна в логику рестриктора. Тогда она сработает.

Ну это я знаю smile

Цитата sergej5500 ()
На апдейт целесообразно вешать функции, которые непрерывно вызываются в ходе игры.

Можешь помочь с апдейтом, а то туплю в этом bind_stalker.script.
 
denis2000Дата: Пн, 01.08.2016, 09:28 | Сообщение # 2077
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Бармен, Так, а что вам от апдейта требуется?

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Пн, 01.08.2016, 09:44 | Сообщение # 2078
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата Бармен ()
Можешь помочь с апдейтом, а то туплю в этом bind_stalker.script.


Можно рассмотреть SGM. Функция actor_binder:update(delta). Она вызывается постоянно и контролирует ГГ. В этой функции есть строка sgm_loader.sigerous_mod_main(). Эта строка и тащит на себе весь СГМ.

[ Код ]


Рассмотрим один из проверяемых файлов sgm_tasks. В нем масса функций типа

if has_alife_info("mil_bolted_influence_reward") and dont_has_alife_info("agr_find_underground_way_news") then
start_game_timer("agr_find_underground_way_news",10)
give_info("agr_find_underground_way_news")
end


Этот код значит следующее. Если выдана инфопорция 1 и не выдана инфопорция 2, то выдать инфопорцию 2 и произвести какое-нибудь действие (выдать квест, заспавнить неписей и т.д. и т.п.). Недостаток способа следующий. Функция проверяется постоянно. И до выдачи инфопорции 1 и после выдачи инфопорции 2. От этого игра тормозит.

В рестрикторе это условие можно написать так.

[ Пример ]


Здесь рестриктор после выполнения действия переключился на пустую секцию. При этом он не вызывает тормозов в игре. Если рестриктор более не нужен, то его вообще можно удалить. Если у нас последовательная цепочка квестов, то в рестрикторе проверяется только одна из секций. Секция выполняемого квеста. В СГМ проверяются все квесты. Независимо от того, выполнены они или ещё не взяты.
 
БарменДата: Пн, 01.08.2016, 11:02 | Сообщение # 2079
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Цитата denis2000 ()
Так, а что вам от апдейта требуется?

Ну у меня все эксклюзивные НПС, спавняться не прописаны в smart_terrain. Я решил их заспавнить, через скрипт. Один из разработчиков скинул мне функцию, что я указал выше и сказал "И в bind_stalker ставь на апдейт". Вот и спрашиваю, как поставить это апдейт.

Цитата sergej5500 ()
Можно рассмотреть SGM. Функция actor_binder:update(delta). Она вызывается постоянно и контролирует ГГ. В этой функции есть строка sgm_loader.sigerous_mod_main(). Эта строка и тащит на себе весь СГМ.

Эх был бы еще это SGM на ПК, нужно будет как-то скачать, и посмотреть. А так спасибо за информацию.

Цитата sergej5500 ()
Здесь рестриктор после выполнения действия переключился на пустую секцию. При этом он не вызывает тормозов в игре.

А можно в рестриктор, прописать около 20-30 НПС, игра тормозить точно не будет smile
 
sergej5500Дата: Пн, 01.08.2016, 11:14 | Сообщение # 2080
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата Бармен ()
А можно в рестриктор, прописать около 20-30 НПС, игра тормозить точно не будет


Можно заспавнить хоть 100 НПС. Рестриктору без разницы. Спавнить неписей лучше, когда точка спавна далеко от игрока. Игра будет притормаживать, когда эти НПС окажутся в зоне видимости игрока. Как в любом месте с большим кол-вом НПС.
 
denis2000Дата: Пн, 01.08.2016, 11:17 | Сообщение # 2081
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Бармен ()
Один из разработчиков скинул мне функцию, что я указал выше и сказал "И в bind_stalker ставь на апдейт".

Очень плохой совет, такого разработчика самого на апдейт поставить нужно. По спавну НПС смотрите КМБ Урок 3 и 4. Или внемлите советам sergej5500.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Сб, 06.08.2016, 14:52 | Сообщение # 2082
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Цитата sergej5500 ()
Можно заспавнить хоть 100 НПС. Рестриктору без разницы. Спавнить неписей лучше, когда точка спавна далеко от игрока.

Намотаю на ус.

Цитата denis2000 ()
Очень плохой совет, такого разработчика самого на апдейт поставить нужно. По спавну НПС смотрите КМБ Урок 3 и 4. Или внемлите советам sergej5500.

Ну вот я и написал, можно назвать Профи-Разработчику, а можно использовать вот такую функцию. Вместо той, что в уроке 3 и 4?
Код
function spawn_red_greh_voron()
           if not has_alife_info("spawn_red_greh_voron") then
   xr_effects.spawn_object(actor, nil, {"red_greh_voron","red_greh_voron_spawn_point"})
            give_info("spawn_red_greh_voron")
           end           
end

Добавлено (06.08.2016, 14:52)
---------------------------------------------
Всем снова привет, заспавнил я эксклюзивного НПС, через скрипт вот так.

Код
function spawn_black_valley_stalker_base_lider()
           if not has_alife_info("spawn_black_valley_stalker_base_lider") then
   xr_effects.spawn_object(actor, nil, {"black_valley_stalker_base_lider","black_sim_nps_1_spawn_point"})
            give_info("spawn_black_valley_stalker_base_lider")
           end           
end

Вроде заспавнился все отлично, только он на место куда надо не идет. Начинает гулять по территории, будто в симуляции находиться. Что делать, работаю на ЗП если что.
 
sergej5500Дата: Сб, 06.08.2016, 15:42 | Сообщение # 2083
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата Бармен ()
только он на место куда надо не идет. Начинает гулять по территории, будто в симуляции находиться.


Вероятнее всего, указан неверный путь к файлу логики.
 
БарменДата: Сб, 06.08.2016, 19:21 | Сообщение # 2084
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Цитата sergej5500 ()
Вероятнее всего, указан неверный путь к файлу логики.

Да нет указан правильно.
 
sergej5500Дата: Сб, 06.08.2016, 19:54 | Сообщение # 2085
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Бармен,

Тогда выложите спавн-секцию и файл логики
 
Поиск: