| 
	
		
		
			| Модостроение. Общие вопросы и ответы |  | 
				
			 |  | 
| denis2000 | Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1 |  |  Полевой исследователь Ученые сталкеры Сообщений: 2399 | Помощь тем кто хочет знать больше о игре и модах 
 Если у вас появились вопросы по модостроению в игре S.T.A.L.K.E.R. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
 
 Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7
 
 Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
 [cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл:
 1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R])
 2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx"
 3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо)
 Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#"
 Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
 [cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти?
 Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда.
 Для того чтоб найти LOG необходимо зайти вот сюда:
 
 В Win хр лог находится:
 
 C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs
 
 Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.
 
 В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs
 
 Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка:
 ...
 $app_data_root$ = true | false| $fs_root$|	 users\(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx)
 ...
 $logs$ = true| false| $app_data_root$| logs\(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи)
 ...
 [/cut][cut=Получение более подробной информации о вылете (ХОВАН)]
 Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...)
 Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
 
 Код function abort(fmt, ...) local reason = string.format(fmt, ...)
 error_log(reason)
 end
Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
 
 Первый:
 
 Код Expression    : !m_error_code Function      : raii_guard::~raii_guard
 File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
 Line          : 748
 Description   : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)
Второй:
 
 Код Expression    : 0 Function      : ErrorLog
 File          : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
 Line          : 49
 Description   : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'
[/cut]
 
 
  Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы,
 статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца",
 возможно Ваш вопрос уже рассматривался.
 
 
 Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
 
 
 Посты, для которых есть свои категории, из этой темы будут удаляться или перемещаться в соответсвующую тему. Персональных извещений в ЛС о переносе\удалении поста не будет, ищите сами. Учитывайте, что в системах Ucoz тема не обновляется в статистике при переносе поста. Посты, написанные здесь-же после переноса, будут расцениваться как кросспостинг, со всеми вытекающими
 
 [cut noguest=Первый юбилей нашей темы]
 
  Здравствуйте господа модостроители, и все так или иначе причастные к этому.
 Нашей теме исполнился 1 год.
 От души поздравляю Всех Вас дорогие друзья, творческих успехов.
 Хочу так же выразить отдельную благодарность denis2000 и ХОВАН.
 
 tracker 23.06.11  
 
 [/cut]
 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |  |  |  | 
| denis2000 | Дата: Сб, 31.01.2015, 18:22 | Сообщение # 1111 |  |  Полевой исследователь Ученые сталкеры Сообщений: 2399 | Цитата asd123 (  ) Что нужно править, чтобы добавить в логику строку show_spot как в ТЧНичего. Эту опцию не убирали ни в ЧН ни в ЗП. (Вспоминаем отсутствие меток на трупе и на медике Треморе в его логове)
 
 
 Цитата asd123 (  ) И, что обозначает строка в логике move_pursue_formation? В xr_move о ней ничего не сказанно. Да не ужели? В этом файле такая строка 8 раз упоминается. Означает как НПС движутся совместно с лидером (ГГ), позади, в линию или вокруг него.
 
 
 Цитата asd123 (  ) работают ли на НПС, которые не состоят в сквадах смарт-коверы? Смартковеры работают на НПС вне зависимости от их состояния в свадах ведь об этом они понятия не имеют.
 
 "Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
 (Чугунный всадник)
 
   |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |  |  |  | 
| asd123 | Дата: Сб, 31.01.2015, 18:37 | Сообщение # 1112 |  |  Mr. «Магма» Военные сталкеры Сообщений: 1386 | Цитата denis2000 Означает как НПС движутся совместно с лидером (ГГ), позади, в линию или вокруг него.Понятно. Спасибо.
 
 Добавлено (31.01.2015, 18:37)
 ---------------------------------------------
 denis2000, А добавляя space_restrictor`ы в all.spawn обязательно начинать новую игру? И есть ли возможность их создавать, не подвергаясь НИ
 
 У мутантов тоже есть группировки. © Движок X-Ray
 
 
   
 
 
 Сообщение отредактировал asd123 - Сб, 31.01.2015, 18:38 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |  |  |  | 
| makdm | Дата: Сб, 31.01.2015, 18:54 | Сообщение # 1113 |  |  Рожденный в СССР Разработчики Сообщений: 1294 | asd123, всё что вы добавляете в all.spawn в alife файлы требует новой игры, если добавляете в way файлы, то новая игра не нужна. 
 Цитата asd123 (  ) И есть ли возможность их создавать, не подвергаясь НИ Легко и непринуждённо, и даже прописать им логику, изменяя state данные нет-пакета.
 
 З.Ы. Также можно спавнить и вертолёты, аномалии и переходы, не испульзуя all.spawn
 
 Терпение......
 И все получится!
 
 
 Сообщение отредактировал makdm - Сб, 31.01.2015, 19:00 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |  |  |  | 
| asd123 | Дата: Сб, 31.01.2015, 19:11 | Сообщение # 1114 |  |  Mr. «Магма» Военные сталкеры Сообщений: 1386 | makdm, а можно поконкретнее? 
 У мутантов тоже есть группировки. © Движок X-Ray
 
 
   
 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |  |  |  | 
| makdm | Дата: Сб, 31.01.2015, 20:07 | Сообщение # 1115 |  |  Рожденный в СССР Разработчики Сообщений: 1294 | asd123, Вот - конкретней некуда. 
 Если покажется сложным и непонятным, то значит ещё не пришло ваше время.
 Нужно немного подучиться.
 
 http://rghost.ru/8DwGXdVSL
 
 Терпение......
 И все получится!
 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |  |  |  | 
| Ay49Mihas | Дата: Вс, 01.02.2015, 08:25 | Сообщение # 1116 |  |  Полевой исследователь Ученые сталкеры Сообщений: 218 | Цитата asd123 (  ) а можно поконкретнее? Делаю мод к SGM'у. У меня было так:
 
 Код create_restrictor("scripts\\red_forest\\red_tower_door_restrictor.ltx", 2, 27.030838012695, 0.0048873424530029, 15.30470085144, 80231, 2186)То есть, создаёшь рестриктор с заранее созданной логикой из файла. Использована функция create_restrictor() из SGM'а, которая является обёрткой к модификации нетпакета.
 
 
 Сообщение отредактировал Ay49Mihas - Вс, 01.02.2015, 08:41 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили Ay49Mihas за это полезное сообщение: |  |  |  | 
| asd123 | Дата: Вс, 01.02.2015, 10:50 | Сообщение # 1117 |  |  Mr. «Магма» Военные сталкеры Сообщений: 1386 | Ay49Mihas, ага.. то есть, эта модификация добавляет новые команды для спавна, в которых еще и логику можно вбивать сразу же? А как этой модификацией спавнить вертолеты, аномалии, переходы?
 
 У мутантов тоже есть группировки. © Движок X-Ray
 
 
   
 
 
 Сообщение отредактировал asd123 - Вс, 01.02.2015, 10:56 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |  |  |  | 
| Ay49Mihas | Дата: Вс, 01.02.2015, 11:25 | Сообщение # 1118 |  |  Полевой исследователь Ученые сталкеры Сообщений: 218 | Цитата asd123 (  ) то есть, эта модификация добавляет новые команды для спавна, в которых еще и логику можно вбивать сразу же? Не команды. Это функция, которая реализована в рамках мода.
 
 Код function create_restrictor(custom_add,radius,x,y,z,lv,gv) if z==nil and lv==nil and gv==nil then
 se_obj=alife():create("space_restrictor",level.vertex_position(x),x,y)
 else
 se_obj=alife():create("space_restrictor",vector():set(x,y,z),lv,gv)
 end
 local custom_pack="[logic]\n".."cfg = "..custom_add
 sgm_packet.setup_restrictor(se_obj,custom_pack,radius,x,y,z,lv,gv)
 end
В ней вызывается прослойка работы с нетпакетом (sgm_packet, которая также реализована в рамках мода). То, что предложил makdm, это тоже прослойка работы с нетпакетом, но отвязанная от мода. Если SGM в досягаемости, можешь порыться в исходниках и узнать, как там всё реализовано.
 
 
 Цитата asd123 (  ) А как этой модификацией спавнить вертолеты, аномалии, переходы? Ну поройся да посмотри
  Может имеет смысл весь этот функционал тебе взять из SGM'а в свой мод? 
 
 Сообщение отредактировал Ay49Mihas - Вс, 01.02.2015, 11:32 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили Ay49Mihas за это полезное сообщение: |  |  |  | 
| asd123 | Дата: Вс, 01.02.2015, 13:43 | Сообщение # 1119 |  |  Mr. «Магма» Военные сталкеры Сообщений: 1386 | Ay49Mihas, да я не строю моды) Просто добавляю что-то в СГМ.. вертолеты, квесты, квестовиков в разных местах, рестрикторы.. Спасибо. Поищу что-нибуть. 
 Добавлено (01.02.2015, 13:43)
 ---------------------------------------------
 У меня должно получиться примерно такое?
 
 Код function create_helicopter(name,model,custom_add,,x,y,z,lv,gv)   if z==nil and lv==nil and gv==nil then
 se_obj=alife():create("helicopter",level.vertex_position(x),x,y)
 else
 se_obj=alife():create("helicopter",vector():set(x,y,z),lv,gv)
 end
 local custom_pack="[logic]\n".."cfg = "..custom_add
 end
 У мутантов тоже есть группировки. © Движок X-Ray
 
 
   
 
 
 Сообщение отредактировал asd123 - Вс, 01.02.2015, 13:51 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |  |  |  | 
| Akame | Дата: Вс, 01.02.2015, 21:45 | Сообщение # 1120 |  | Удаленные 
 
 
 | Дорогие друзья подскажите пожалуйста, как в Зов Припяти мода СГМ посл версии, ввести в игру, "Комбинезон Монолита" ? Хотелось бы чтоб мой Дектирев ) с иконкой монолита, ступил ногой на Кордон, именно в этом комбинезоне ))
 Нов игре его как я понял нет
 как его прописать чтоб он был.
 и что там вообще нужно писать... так как из ничего сложно создать что то....
 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили Akame за это полезное сообщение: |  |  |  | 
| juvecol | Дата: Вс, 01.02.2015, 22:31 | Сообщение # 1121 |  |  Снайпер 7-го усиленного оперативного квада Долг Сообщений: 445 | Akame, я вступил на кордон в Экзоскелете Долга а монолита наверно там нет есть свобода и одиночек 
 
     ® Чернобыль  12419-й день ®
 ® Лучшая группировка это ДОЛГ ®
 ® Легко обижается тот, кто не слишком собой доволен ®
 
     |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили juvecol за это полезное сообщение: |  |  |  | 
| asd123 | Дата: Вс, 01.02.2015, 22:39 | Сообщение # 1122 |  |  Mr. «Магма» Военные сталкеры Сообщений: 1386 | Akame, есть два костюма группировки Монолит в СГМ 2.2 - экзоскелет и заслон(СЕВА) 
 Хотите сделать новый? Пожалуйста. Нужно править файл sgm_outfits.ltx. Добавить новый костюм - не так уж и сложно. Нужно иметь при себе ингредиенты: иконку, модельку(чтобы когда ГГ одевал комбез - менялся визуал), описание и название, дерево апгрейдов(не обязательно. Можете вписать уже существующий)
 
 У мутантов тоже есть группировки. © Движок X-Ray
 
 
   
 
 
 Сообщение отредактировал asd123 - Вс, 01.02.2015, 22:40 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |  |  |  | 
| Akame | Дата: Вс, 01.02.2015, 22:41 | Сообщение # 1123 |  | Удаленные 
 
 
 | Цитата asd123 (  ) иметь в руках иконку, модельку(чтобы когда ГГ одевал комбез - менялся визуал)
 хм а где его обычно можно найти ?
 PS Наверное из чистого неба ?
 
 
 Сообщение отредактировал Akame - Вс, 01.02.2015, 22:50 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили Akame за это полезное сообщение: |  |  |  | 
| asd123 | Дата: Вс, 01.02.2015, 23:02 | Сообщение # 1124 |  |  Mr. «Магма» Военные сталкеры Сообщений: 1386 | Akame, Воу. Зачем в ЧН лезть? У нас ведь есть gameplay. Открываем character_desc_general, находим персонажей с такими названиями: sim_default_monolith_ Там смотрим строку visual. Там можно встретить такие модели:
 stalker_monolith_1 - монолитовец в заслоне(СЕВА)
 stalker_monolith_2 - Монолитовец в обычном костюме с противогазом
 stalker_monolith_3 - Монолитовец в экзоскелете без сервоприводов.
 stalker_monolith_4 - Экзоскелет монолита
 
 Какую модель взять - решать Вам.
 
 У мутантов тоже есть группировки. © Движок X-Ray
 
 
   
 
 
 Сообщение отредактировал asd123 - Вс, 01.02.2015, 23:03 |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |  |  |  | 
| Akame | Дата: Пн, 02.02.2015, 00:18 | Сообщение # 1125 |  | Удаленные 
 
 
 | asd123, [monolit_2]:outfit_base,mod_monolit_2,cost_monolit_2
 GroupControlSection	= spawn_group
 discovery_dependency =
 $spawn 			= "outfit\monolit_2"
 class			= E_STLK
 cform = skeleton
 visual = dynamics\outfit\stalker_monolith
 actor_visual	 = actors\stalker_monolith\stalker_monolith_2.ogf
 player_hud_section	= actor_hud_05
 ef_equipment_type	= 3
 inv_name		= st_monolit_2_name
 inv_name_short		= st_monolit_2_name
 description		= st_monolit_2_description
 inv_weight		= 6.0
 inv_grid_width		= 2
 inv_grid_height		= 3
 inv_grid_x		= 36
 inv_grid_y		= 32
 upgr_icon_x		= 976
 upgr_icon_y		= 467
 upgr_icon_width		= 298
 upgr_icon_height 	= 135
 full_icon_name		= npc_icon_monolit_2
 slot			= 6
 full_scale_icon		= 14,11
 additional_inventory_weight = 13
 additional_inventory_weight2 = 13
 artefact_count = 6
 default_to_ruck = false
 immunities_sect		= sect_monolit_2_immunities
 burn_protection 	= 0.0750
 shock_protection 	= 0.300
 radiation_protection 	= 0.0040
 chemical_burn_protection = 0.0425
 telepatic_protection 	= 0.0
 strike_protection 	= 0.25
 explosion_protection 	= 0.2
 wound_protection	= 0.25
 hit_fraction_actor	= 0.75
 bones_koeff_protection 	= set_value_24
 control_inertion_factor = 1.2
 power_loss 		= 0.6
 upgrades = up_gr_firsta_killer_outfit, up_gr_firstc_killer_outfit, up_gr_firstd_killer_outfit, up_gr_firste_killer_outfit, up_gr_secona_killer_outfit, up_gr_seconc_killer_outfit, up_gr_second_killer_outfit, up_gr_secone_killer_outfit, up_gr_seconf_killer_outfit, up_gr_thirda_killer_outfit, up_gr_thirdc_killer_outfit, up_gr_thirdd_killer_outfit, up_gr_thirde_killer_outfit, up_gr_tech_fort_killer_outfit
 installed_upgrades =
 upgrade_scheme = upgrade_scheme_killer_outfit
 [sect_killer_outfit_immunities]
 burn_immunity		= 0.03
 strike_immunity		= 0.0
 shock_immunity		= 0.03
 wound_immunity		= 0.03
 radiation_immunity	= 0.0
 telepatic_immunity	= 0.0
 chemical_burn_immunity	= 0.03
 explosion_immunity	= 0.03
 fire_wound_immunity	= 0.015
 [sect_killer_outfit_immunities_add]
 burn_immunity		= -0.015
 strike_immunity		= 0.0
 shock_immunity		= -0.015
 wound_immunity		= -0.015
 radiation_immunity	= 0.0
 telepatic_immunity	= 0.0
 chemical_burn_immunity	= -0.015
 explosion_immunity	= -0.015
 fire_wound_immunity	= -0.005
 
 выдает ошибку почему то...
 Добавлено (02.02.2015, 00:18)---------------------------------------------
 в общем не знаю... полазаю в инете мож че найду...
  |  |  |  |   
  
 | Эти 0 пользователя(ей) поблагодарили Akame за это полезное сообщение: |  |  |  |