|
Модостроение. Общие вопросы и ответы
|
|
| 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 | Дата: Чт, 22.10.2015, 13:07 | Сообщение # 1486 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| wastuk™, Это вполне возможно, при некоторых условиях: Во первых все ПК на которых будет запускаться игра, должны иметь установленный дополнительный софт, который требует Сталкер (DirectX с требуемыми библиотеками, Microsoft Visual C++ Redistributable нужной версии, и вроде бы OpenAl). Во вторых папка с данными пользователя должна быть помещена внутрь папки с игрой и об этом указано в файле fsgame.ltx параметр $app_data_root$, что типа:
Код $app_data_root$ = true | false | $fs_root$ app_data\
где папка app_data находиться в директории с игрой и содержит настройки, сохранения, логи и т.д. В третьих запуск игры нужно осуществлять из командного файла с содержимым типа:
Код chdir \STALKER\ bin\xrengine.exe Размещенного в корне сменного носителя, и где \STALKER\ - путь к папке с игрой относительно командного файла. В четвертых файл xrengine.exe естественно крякнутый.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| suhar_ | Дата: Пт, 23.10.2015, 03:06 | Сообщение # 1487 |
 Бывалый
Пользователи
Сообщений: 106
| Здравствуйте. Можно ли через скрипт создать оружие в инвентаре ГГ/НПС с уже прикрученным обвесом? Если да, то как? Что-то вроде alife():create("wpn_lr300, scope, silencer, launcher",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) ЗП.
Сообщение отредактировал suhar_ - Пт, 23.10.2015, 03:07 |
| |
|
| Эти 0 пользователя(ей) поблагодарили suhar_ за это полезное сообщение: |
|
|
| makdm | Дата: Пт, 23.10.2015, 07:32 | Сообщение # 1488 |
 Рожденный в СССР
Разработчики
Сообщений: 1294
| Цитата suhar_ (  ) Можно ли через скрипт создать оружие в инвентаре ГГ/НПС с уже прикрученным обвесом? Нет такой функции. Для мода Припять. Точка отсчёта я писАл схему ИИ , которая позволяет НПС устанавливать обвесы на оружие. Файл xr_addons.script Если схема подключена, то достаточно проспавнить скриптом в инвентарь НПС оружие и подходящий для него обвес и НПС сам установит обвес на оружие. Подключите схему в свою игру и получите то, что хотели.
Для ГГ ещё проще. После спавна оружия и до вывода его в он-лайн нужно просто перепаковать нет-пакет и установить флаг обвеса. Перепаковка нет-пакета в этом же файле.
Терпение...... И все получится!
|
| |
|
| Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
| suhar_ | Дата: Пт, 23.10.2015, 21:29 | Сообщение # 1489 |
 Бывалый
Пользователи
Сообщений: 106
| makdm, применил вашу схему. После респавна НПСы зависают. Похоже, что где-то в процессе выполнения всех функций НПС переводится в оффлайн, а в онлайн не возвращается, но где именно это происходит - не нашёл. В коде есть упоминания только о переводе в оффлайн/онлайн оружия. Использовал файл xr_addons.script без глобальных правок + прописал ссылки на функции в modules.script и в xr_logic.script
|
| |
|
| Эти 0 пользователя(ей) поблагодарили suhar_ за это полезное сообщение: |
|
|
| makdm | Дата: Сб, 24.10.2015, 00:10 | Сообщение # 1490 |
 Рожденный в СССР
Разработчики
Сообщений: 1294
| suhar_, нужно ещё прописать айдишники экшена и эвалуатора соответственно в файлах:
xr_actions_id.script xr_evaluators_id.script
Терпение...... И все получится!
|
| |
|
| Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
| suhar_ | Дата: Сб, 24.10.2015, 09:28 | Сообщение # 1491 |
 Бывалый
Пользователи
Сообщений: 106
| makdm, благодарю, теперь всё работает как надо. Порылся в других скриптах: заинтересовала схема стрельбы НПС из подствольников и схема рукопашного боя. С подствольниками разобрался довольно быстро, а рукопашный бой, как понмаю, пока недоработан и в игру не введён, верно?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили suhar_ за это полезное сообщение: |
|
|
| makdm | Дата: Сб, 24.10.2015, 10:31 | Сообщение # 1492 |
 Рожденный в СССР
Разработчики
Сообщений: 1294
| suhar_, схема подключена. Можете начать игру и сразу пойти в Прачечную. Там на втором этаже у торговца Хряща в сейфе лежит артефакт. Попробуйте его украсть. Сразу схему рукопашного боя на ножах увидите в действии.
Терпение...... И все получится!
|
| |
|
| Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
| sergej5500 | Дата: Сб, 24.10.2015, 11:43 | Сообщение # 1493 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый день.
Сделал в чистом ЗП дистанционные заряды взрывчатки. Как в СГМ.
[cut=Бустеры]
[remote_explosive_charge]:booster $spawn = "devices\remote_explosive_charge" visual = dynamics\devices\dev_rukzak\dev_rukzak.ogf inv_name = st_remote_explosive_charge_name inv_name_short = st_remote_explosive_charge_name description = st_remote_explosive_charge_descr inv_weight = 3.0 inv_grid_width = 2 inv_grid_height = 2 inv_grid_x = 14 inv_grid_y = 23 cost = 20000 boost_time = 0.0 boost_health_restore = 0.0 boost_radiation_restore = 0.0 boost_bleeding_restore = 0.0
[remote_explosive_pda]:booster $spawn = "devices\remote_explosive_pda" visual = dynamics\devices\dev_pda\dev_pda.ogf inv_name = st_remote_explosive_pda_name inv_name_short = st_remote_explosive_pda_name description = st_remote_explosive_pda_descr inv_weight = 0.3 inv_grid_width = 1 inv_grid_height = 1 inv_grid_x = 6 inv_grid_y = 13 cost = 10 can_trade = false boost_time = 0.0 boost_health_restore = 0.0 boost_radiation_restore = 0.0 boost_bleeding_restore = 0.0 [/cut]
[cut=Скрипты] function actor_binder:use_inventory_item(obj) if(obj) then local s_obj = alife():object(obj:id()) if (s_obj) and (s_obj:section_name()=="drug_anabiotic") then xr_effects.disable_ui_only(db.actor, nil) level.add_cam_effector("camera_effects\\surge_02.anm", 10, false, "bind_stalker.anabiotic_callback") level.add_pp_effector("surge_fade.ppe", 11, false) give_info("anabiotic_in_process") _G.mus_vol = get_console():get_float("snd_volume_music") _G.amb_vol = get_console():get_float("snd_volume_eff") get_console():execute("snd_volume_music 0") get_console():execute("snd_volume_eff 0") end if (s_obj) and (s_obj:section_name()=="remont_toolkit") then addon_callbacks.remont_toolkit_init() end if (s_obj) and (s_obj:section_name()=="money_pda") then xr_effects.give_random_money_to_actor(db.actor) end if (s_obj) and (s_obj:section_name()=="personal_rukzak") then alife():create("personal_rukzak_box",vector():set(db.actor:position().x,db.actor:position().y,db.actor:position().z),db.actor:level_vertex_id(),db.actor:game_vertex_id()) end if (s_obj) and (s_obj:section_name()=="artefact_gps") then addon_callbacks.artefact_gps_init() end if (s_obj) and (s_obj:section_name()=="remote_explosive_charge") then addon_callbacks.remote_explosive_charge_init() end if (s_obj) and (s_obj:section_name()=="remote_explosive_pda") then give_info("remote_explosive_pda_init") end end end
function remote_explosive_charge_init() if has_alife_info("remote_explosive_pda_init") then if xr_conditions.object_exist(nil,nil,{"remote_explosive_box_1"}) then xr_effects.destroy_object(actor,npc,{"story","remote_explosive_box_1"}) end if xr_conditions.object_exist(nil,nil,{"remote_explosive_box_2"}) then xr_effects.destroy_object(actor,npc,{"story","remote_explosive_box_2"}) end if xr_conditions.object_exist(nil,nil,{"remote_explosive_box_3"}) then xr_effects.destroy_object(actor,npc,{"story","remote_explosive_box_3"}) end if xr_conditions.object_exist(nil,nil,{"remote_explosive_box_4"}) then xr_effects.destroy_object(actor,npc,{"story","remote_explosive_box_4"}) end if xr_conditions.object_exist(nil,nil,{"remote_explosive_box_5"}) then xr_effects.destroy_object(actor,npc,{"story","remote_explosive_box_5"}) end disable_info("remote_explosive_pda_init") end if db.actor:object("remote_explosive_pda") == nil then give_object_to_actor("remote_explosive_pda") end if not xr_conditions.object_exist(nil,nil,{"remote_explosive_box_1"}) then alife():create("remote_explosive_box_1",vector():set(db.actor:position().x,db.actor:position().y,db.actor:position().z),db.actor:level_vertex_id(),db.actor:game_vertex_id()) elseif not xr_conditions.object_exist(nil,nil,{"remote_explosive_box_2"}) then alife():create("remote_explosive_box_2",vector():set(db.actor:position().x,db.actor:position().y,db.actor:position().z),db.actor:level_vertex_id(),db.actor:game_vertex_id()) elseif not xr_conditions.object_exist(nil,nil,{"remote_explosive_box_3"}) then alife():create("remote_explosive_box_3",vector():set(db.actor:position().x,db.actor:position().y,db.actor:position().z),db.actor:level_vertex_id(),db.actor:game_vertex_id()) elseif not xr_conditions.object_exist(nil,nil,{"remote_explosive_box_4"}) then alife():create("remote_explosive_box_4",vector():set(db.actor:position().x,db.actor:position().y,db.actor:position().z),db.actor:level_vertex_id(),db.actor:game_vertex_id()) elseif not xr_conditions.object_exist(nil,nil,{"remote_explosive_box_5"}) then alife():create("remote_explosive_box_5",vector():set(db.actor:position().x,db.actor:position().y,db.actor:position().z),db.actor:level_vertex_id(),db.actor:game_vertex_id()) else game.start_tutorial("remote_explosive_no_use") give_object_to_actor("remote_explosive_charge") end end [/cut] [cut=Основа заряда - inventory_box с логикой]
[remote_explosive_box_1]:inventory_box $spawn = "devices\remote_explosive_box_1" visual = dynamics\devices\dev_rukzak\dev_rukzak.ogf custom_data = scripts\remote_explosive_box_1.ltx story_id = remote_explosive_box_1
[remote_explosive_box_2]:inventory_box $spawn = "devices\remote_explosive_box_2" visual = dynamics\devices\dev_rukzak\dev_rukzak.ogf custom_data = scripts\remote_explosive_box_2.ltx story_id = remote_explosive_box_2
[remote_explosive_box_3]:inventory_box $spawn = "devices\remote_explosive_box_3" visual = dynamics\devices\dev_rukzak\dev_rukzak.ogf custom_data = scripts\remote_explosive_box_3.ltx story_id = remote_explosive_box_3
[remote_explosive_box_4]:inventory_box $spawn = "devices\remote_explosive_box_4" visual = dynamics\devices\dev_rukzak\dev_rukzak.ogf custom_data = scripts\remote_explosive_box_4.ltx story_id = remote_explosive_box_4
[remote_explosive_box_5]:inventory_box $spawn = "devices\remote_explosive_box_5" visual = dynamics\devices\dev_rukzak\dev_rukzak.ogf custom_data = scripts\remote_explosive_box_5.ltx story_id = remote_explosive_box_5[/cut]
[cut=Взрывающиеся объекты]
[rukzak_explosive]:explosive_grenade $spawn = "dynamic_objects\scene_objects\rukzak_explosive" story_id = rukzak_explosive hit_type_blast = chemical_burn hit_type_frag = chemical_burn visual = dynamics\light\light_signal.ogf blast = 2.0 blast_r = 5 frags = 15 frags_r = 10.0 frag_hit = 0.7
[rukzak_explosive_1]:rukzak_explosive story_id = rukzak_explosive_1 blast = 5.0 blast_r = 20.0 frags = 20 frags_r = 30.0 frag_hit = 1.5 fixed_bones = link
[rukzak_explosive_2]:rukzak_explosive_1 story_id = rukzak_explosive_2
[rukzak_explosive_3]:rukzak_explosive_1 story_id = rukzak_explosive_3
[rukzak_explosive_4]:rukzak_explosive_1 story_id = rukzak_explosive_4
[rukzak_explosive_5]:rukzak_explosive_1 story_id = rukzak_explosive_5[/cut]
[cut=Логика][logic] active = ph_idle
[ph_idle] nonscript_usable = false on_info = {+remote_explosive_pda_init} %=remote_explosive_box_1_activate%[/cut]
[cut=Функция подрыва]function remote_explosive_box_1_activate(actor,obj) alife():create("rukzak_explosive_1",vector():set(obj:position()),obj:level_vertex_id(),obj:game_vertex_id()) level.add_call( function() if get_story_object("rukzak_explosive_1") ~= nil then return true end end, function() expl_obj = get_story_object("rukzak_explosive_1") expl_obj:explode(0) end ) local sobj = alife():object(obj:id()) if sobj then alife():release(sobj,true) end end[/cut]
У всех рюкзаков логика и функция подрыва однотипны и отличаются только порядковыми номерами.
Обнаружил следующее. Установил я пять зарядов. Выбрал место с хорошим обзором зарядов. Подорвал их. Вижу, что все пять зарядов успешно взорвались. Вспышки точно в местах установки зарядов. Но через долю секунды в окрестностях взрывается еще один или несколько зарядов. В местах, не совпадающих с точками закладки штатно сработавших зарядов. Откуда могут взяться лишние заряды?
Сообщение отредактировал sergej5500 - Сб, 24.10.2015, 11:49 |
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| denis2000 | Дата: Сб, 24.10.2015, 12:09 | Сообщение # 1494 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, Для начала подправьте логику:
Код [logic] active = ph_idle
[ph_idle] nonscript_usable = false on_info = {+remote_explosive_pda_init} nil %=remote_explosive_box_1_activate%
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Сб, 24.10.2015, 13:00 | Сообщение # 1495 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата denis2000 (  ) Для начала подправьте логику:
Попробовал логику в таком виде.
[cut=Логика][logic] active = ph_idle
[ph_idle] nonscript_usable = false on_info = {+remote_explosive_pda_init} nil %=remote_explosive_box_1_activate =destroy_object%[/cut]
Картина не меняется. Заложенные рюкзаки исчезают безотказно. Но они исчезали и при первом варианте логики.
Проводил тесты с разным кол-вом заложенных зарядов. Какой-то закономерности не видно. При одном сработавшем заряде может быть один взрыв в точке установки заряда. А может быть и пять взрывов. Один в точке установки заряда. Другие в окрестностях. Иногда в десятках метров от места установки. Все объекты, способные взрываться, (бочки с топливом и т.д.), были с локации удалены при подключении.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| denis2000 | Дата: Сб, 24.10.2015, 17:05 | Сообщение # 1496 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, Попробовал ваши коды и честно сказать указанных вами проблем у меня не было. Сколько заложено точек столько и взрывается. Поэтому ничего не могу предположить.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Сб, 24.10.2015, 20:04 | Сообщение # 1497 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата denis2000 (  ) Поэтому ничего не могу предположить.
Проводя эксперименты, обнаружил следующее.
[cut=Родительская секция][rukzak_explosive]:explosive_grenade $spawn = "dynamic_objects\scene_objects\rukzak_explosive" story_id = rukzak_explosive hit_type_blast = chemical_burn hit_type_frag = chemical_burn visual = dynamics\light\light_signal.ogf blast = 2.0 blast_r = 5 frags = 15 frags_r = 10.0 frag_hit = 0.7 [/cut]
Её я просто скопировал из аддона Время Альянса, когда делал кодовые рюкзаки. Сегодня обратил внимание на две строки.
hit_type_blast = chemical_burn hit_type_frag = chemical_burn
Непонятно, зачем они там. Они вроде относятся к химическим аномалиям. После их удаления посторонние подрывы прекратились. Сделал 10 пробных установок зарядов по пять штук. Ни одного лишнего взрыва.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| denis2000 | Дата: Сб, 24.10.2015, 21:06 | Сообщение # 1498 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, Хм... интересно, я правда использовал в качестве родителя для взрывающихся объектов explosive_fuelcan: [cut][explosive_fuelcan]:identity_immunities,delayed_action_fuse,default_weapon_params
GroupControlSection = spawn_group discovery_dependency = $spawn = "weapons\explosive\fuelcan" $prefetch = 16 class = S_EXPLO cform = skeleton visual = dynamics\balon\balon_01.ogf inv_name = inv_name_short = inv_weight = .1
inv_grid_width = 1 inv_grid_height = 1 inv_grid_x = 9 inv_grid_y = 9
;вещь невозможно подобрать can_take = false
cost = 50 ;------------------------------------------------------------------------------- blast = 1.50 blast_r = 8 blast_impulse = 250 ;delete blast_impulse_factor = 1
frags = 5 frags_r = 15 frag_hit = 0.75 frag_hit_impulse = 150
hit_type_blast = explosion hit_type_frag = light_burn
up_throw_factor = 1.0 ;------------------------------------------------------------------------------- wm_size = 0.1
explode_particles = explosions\explosion_fuelcan
light_color = 1.9,1.3,0.5 light_range = 30.0 light_time = 1.5
;трассы от осколков fragment_speed = 100
explode_duration = 5 ;подолжительность взрыва (с) ;wallmarks wallmark_section = explosion_marks ;звуки snd_explode = weapons\f1_explode immunities_sect = explosive_fuelcan_immunities_sect
[explosive_fuelcan_immunities_sect] ;коэффициенты для попаданий различными типами хитов burn_immunity = 0.0 strike_immunity = 1.0 shock_immunity = 1.0 wound_immunity = 1.0 radiation_immunity = 1.0 telepatic_immunity = 1.0 chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 0.7[/cut] Видимо поэтому никаких глюков и не ловил.
Цитата sergej5500 (  ) Непонятно, зачем они там. Это тип урона от взрыва и осколков, почему они химические мне тоже не очень понятно. И главное не понятно, что взрывалось то? Некие взрывоопасные объекты не имеющие иммунитета к химическому урону?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| alex_xp_77 | Дата: Вс, 25.10.2015, 13:47 | Сообщение # 1499 |
|
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Всем доброго дня, давненько меня не было, занят книгой нужно закончить произведение, ну сейчас не об этом, вопрос по дверям, лаборатория х2 почти готова, но двери не дают мне покоя, получается ставишь дверь в три дс максе, а sdk прописывать ей логику? Или все делать в sdk?? И ставить двери и прописывать логику, некоторые двери просто сделал выбитыми, ну как бы проходные они называются, но вот вход в отдельные комнаты нужно прописать, если можно пожалуйста поподробней, какова именно логика на двери, хотя бы для начала что бы открывалась на клавишу е, скорее всего логику на кодовую выпишу из гемдаты, заранее большое спасибо!!
|
| |
|
| Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
| Бармен | Дата: Вс, 01.11.2015, 17:38 | Сообщение # 1500 |
 Ветеран
Свобода
Сообщений: 370
| Всем привет народ, помоги у меня вот такая проблема это происходит при Компиляция_спавна в SDK 0.7. Я создал переходы прописал все правильно, ну при Компиляция_спавна ошибка.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Бармен за это полезное сообщение: |
|
|
|