[CoP] Модострой: вопросница
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус :
Бывалый :
Сообщений :
1081
Награды :
19
Регистрация :
11.06.2015
[CoP] Модострой: вопросница Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Воскресенье, 31.12.2017, 13:17
Статус :
Сообщений :
666
Регистрация :
11.06.2015
Статус :
Новичок :
Сообщений :
236
Награды :
2
Регистрация :
19.11.2017
Цитата denis2000 (
)
Хотят ответ на вопрос - предъявляют лог вылета и внесенные правки подробно
я все предъявил, я кинул сайт, по которому я все делал, в точности, только названия менял, а лога вылета у меня нет, т.к не вылетает, а они просто не агрятся и не реагируют вообще никак на мои выстрелы в них.Добавлено (06.10.2018, 12:33) ---------------------------------------------
Сообщение отредактировал svo6o9a - Суббота, 06.10.2018, 12:36
Суббота, 06.10.2018, 12:22
Статус :
Сообщений :
666
Регистрация :
19.11.2017
Статус :
Бывалый :
Сообщений :
882
Награды :
6
Регистрация :
31.08.2012
Друзья, прошу помощи. При компиляции спавна локации вылезает ошибка с жалобой на некорректные переходы, хотя их вообще нет на локации. Как это устранить? Полный лог прикладываю.
* Detected CPU: AuthenticAMD , F15/M0/S1, 3192.00 mhz, 41-clk 'rdtsc' * CPU Features: RDTSC, MMX, SSE, SSE2 Initializing File System... $fs_root$ = C:\x_ray_sdk_cs\editors using fs-ltx fsgame.ltx FS: 43840 files cached 0 archives, 7176Kb memory used. Init FileSystem 1.841925 sec 'xrCore' build 0, (null) CRT heap 0x04590000 Process heap 0x00f10000 true 0 Loading DLL: xrSE_Factory.dll 'xrCore' build 0, (null) CRT heap 0x04590000 Process heap 0x00f10000 "LevelBuilder v4.1" beta build Compilation date: May 13 2010 Startup time: 16:57:45 cannot delete file game_graph cannot delete file local_graph_agroprom cannot delete file local_graph_agroprom_underground cannot delete file local_graph_darkvalley cannot delete file local_graph_escape cannot delete file local_graph_garbage cannot delete file local_graph_hospital cannot delete file local_graph_l02_garbage_old cannot delete file local_graph_limansk cannot delete file local_graph_marsh cannot delete file local_graph_military cannot delete file local_graph_red_forest cannot delete file local_graph_stancia_2 cannot delete file local_graph_yantar cannot delete file raw_cross_table_agroprom cannot delete file raw_cross_table_agroprom_underground cannot delete file raw_cross_table_darkvalley cannot delete file raw_cross_table_escape cannot delete file raw_cross_table_garbage cannot delete file raw_cross_table_hospital cannot delete file raw_cross_table_l02_garbage_old cannot delete file raw_cross_table_limansk cannot delete file raw_cross_table_marsh cannot delete file raw_cross_table_military cannot delete file raw_cross_table_red_forest cannot delete file raw_cross_table_stancia_2 cannot delete file raw_cross_table_yantar * New phase started: Processing level graphs level 107 l02_garbage_old * New phase started: Building level game graph level "c:\x_ray_sdk_cs\editors\gamedata\levels\l02_garbage_old\" Loading AI map 1287932 nodes loaded Loading graph points * loading script _G.script * loading script class_registrator.script * loading script sim_faction.script * loading script smart_terrain.script * loading script se_respawn.script * loading script se_switcher.script * loading script se_level_changer.script * loading script se_actor.script * loading script se_stalker.script * loading script se_car.script * loading script se_zones.script * loading script se_item.script * loading script se_smart_cover.script * loading script se_artefact.script * loading script se_monster.script * loading script game_registrator.script * loading script smart_covers.script ! [LUA] 0 : [C] [C](-1) : ! [LUA] 1 : [main] ..._sdk_cs\editors\gamedata\scripts\smart_covers.script(1) : * trying to access variable object, which doesn't exist, or to load script object.script, which doesn't exist too * loading script smart_covers_cover_loophole_1.script ! [LUA] 0 : [C] [C](-1) : ! [LUA] 1 : [main] ...amedata\scripts\smart_covers_cover_loophole_1.script(2) : ! [LUA] 2 : [C] [C](-1) : ! [LUA] 3 : [main] ..._sdk_cs\editors\gamedata\scripts\smart_covers.script(554) : * trying to access variable move, which doesn't exist, or to load script move.script, which doesn't exist too * loading script smart_covers_loophole_1.script * loading script smart_covers_cover_loophole_2.script * loading script smart_covers_loophole_2.script * loading script smart_covers_cover_loophole_3.script * loading script smart_covers_loophole_3.script * loading script smart_covers_cover_loophole_1_2.script * loading script smart_covers_cover_loophole_2_3.script * loading script smart_covers_cover_loophole_1_3.script * loading script smart_covers_cover_loophole_1_2_3.script * loading script smart_covers_cover_loophole_4.script * loading script smart_covers_loophole_4.script * loading script smart_covers_cover_loophole_5.script * loading script smart_covers_loophole_5.script * loading script smart_covers_cover_loophole_4_5.script * loading script smart_covers_cover_loophole_6.script * loading script smart_covers_loophole_6.script * loading script smart_covers_cover_loophole_7.script * loading script smart_covers_loophole_7.script * loading script smart_covers_cover_loophole_6_7.script * loading script smart_covers_cover_loophole_8.script * loading script smart_covers_loophole_8.script * loading script smart_covers_cover_loophole_9.script * loading script smart_covers_loophole_9.script * loading script smart_covers_cover_loophole_10.script * loading script smart_covers_loophole_10.script * loading script smart_covers_cover_loophole_11.script * loading script smart_covers_loophole_11.script * loading script smart_covers_cover_loophole_10_11.script * loading script smart_covers_cover_loophole_10_8.script * loading script smart_covers_cover_loophole_8_11.script * loading script smart_covers_cover_loophole_10_8_11.script * loading script smart_covers_cover_loophole_1_jump.script * loading script smart_covers_cover_loophole_2_jump.script * loading script smart_covers_cover_loophole_3_jump.script * loading script smart_covers_cover_loophole_1_2_jump.script * loading script smart_covers_cover_loophole_2_3_jump.script * loading script smart_covers_cover_loophole_1_3_jump.script * loading script smart_covers_cover_loophole_1_2_3_jump.script * loading script smart_covers_cover_loophole_lead_sit_sleep_mechanic.script * loading script smart_covers_loophole_lead_sit_sleep_mechanic.script * loading script smart_covers_cover_loophole_lead_sit_sleep_write.script * loading script smart_covers_loophole_lead_sit_sleep_write.script * loading script smart_covers_cover_loophole_lead_sit_sleep_write_temp.script * loading script smart_covers_cover_loophole_lead_sit_strong.script * loading script smart_covers_loophole_lead_sit_strong.script * loading script smart_covers_cover_loophole_lead_stand_hit_tv.script * loading script smart_covers_loophole_lead_stand_hit_tv.script * loading script smart_covers_cover_loophole_lead_stand_lean_on_bar.script * loading script smart_covers_loophole_lead_stand_lean_on_bar.script * loading script smart_covers_cover_loophole_lead_stand_look_at_table.script * loading script smart_covers_loophole_lead_stand_look_at_table.script * loading script smart_covers_cover_loophole_lead_stand_look_down_2.script * loading script smart_covers_loophole_lead_stand_look_down_2.script * loading script smart_covers_cover_loophole_lead_stand_look_down_3.script * loading script smart_covers_loophole_lead_stand_look_down_3.script * loading script smart_covers_cover_loophole_lead_stand_look_in_window.script * loading script smart_covers_loophole_lead_stand_look_in_window.script * loading script smart_covers_cover_loophole_lead_stand_look_up.script * loading script smart_covers_loophole_lead_stand_look_up.script * loading script smart_covers_stc_cover_1.script * loading script smart_covers_stc_cover_2.script * loading script smart_covers_stc_cover_3.script * loading script smart_covers_cover_loophole_lead_forester_idle_talk.script * loading script smart_covers_loophole_lead_forester_idle.script * loading script smart_covers_loophole_lead_forester_talk.script * loading script smart_covers_cover_loophole_1_3_test.script * loading script smart_covers_cover_barricade_0.script * loading script smart_covers_loophole_barricade_0.script * loading script smart_covers_cover_barricade_1.script * loading script smart_covers_loophole_barricade_1.script * loading script smart_covers_cover_barricade_2.script * loading script smart_covers_loophole_barricade_2.script * loading script smart_covers_cover_barricade_3.script * loading script smart_covers_loophole_barricade_3.script * loading script smart_covers_cover_barricade_commander.script * loading script smart_covers_loophole_barricade_commander.script * loading script smart_covers_cover_loophole_minigunner.script * loading script smart_covers_loophole_minigunner.script ! removing graph point [l02_garbage_old_graph_point_0035][220.778885][11.740000][-98.237976] because it is outside of the AI map ! removing graph point [l02_garbage_old_graph_point_0078][-77.903053][-0.609998][273.814575] because it is outside of the AI map 152 graph points loaded Building cross table Saving cross table Loading cross table Building graph Generating edges 742 edges built Checking graph connectivity Optimizing graph edges before optimization : 742 edges after optimization : 402 Saving graph 8911 bytes saved Level graph is generated successfully Freeing resources * New phase started: Adding interconnection points Cannot find level with level_id -1. Connection point will not be generated! Cannot find level with level_id -1. Connection point will not be generated! Cannot find level with level_id -1. Connection point will not be generated! * New phase started: Saving graph being merged cross_table offset: 738598 * New phase started: Freeing resources being allocated level 107 l02_garbage_old Level [l02_garbage_old] : searching for AI map separators space restrictors Level [l02_garbage_old] : no separators found List of the level changers which are invalid for some reasons level_changer_from_l02_garbage_old_to_l04_darkvalley_old FATAL ERROR [error]Expression : m_level_changers.empty() [error]Function : CGameSpawnConstructor::verify_level_changers [error]File : .\game_spawn_constructor.cpp [error]Line : 166 [error]Description : Some of the level changers setup incorrectly stack trace: FATAL ERROR [error]Expression : fatal error [error]Function : xrDebug::backend [error]File : .\xrDebugNew.cpp [error]Line : 226 [error]Description : <no expression> [error]Arguments : nodefault reached
Сообщение отредактировал Бессмертный - Суббота, 06.10.2018, 17:04
Суббота, 06.10.2018, 16:03
Статус :
Сообщений :
666
Регистрация :
31.08.2012
Статус :
Бывалый :
Сообщений :
701
Награды :
5
Регистрация :
22.10.2016
Бессмертный , Цитата Бессмертный (
)
с жалобой на некорректные переходы, хотя их вообще нет на локации.
Я ни разу не спец, конечно. Но как Вы собираетесь попадать на такую локацию или уходить с неё? Возможно, потому и ругается, что переходов нет вообще .
Суббота, 06.10.2018, 16:29
Статус :
Сообщений :
666
Регистрация :
22.10.2016
Статус :
Бывалый :
Сообщений :
882
Награды :
6
Регистрация :
31.08.2012
crystal , ставлю там актера.
Сообщение отредактировал Бессмертный - Суббота, 06.10.2018, 17:07
Суббота, 06.10.2018, 17:04
Статус :
Сообщений :
666
Регистрация :
31.08.2012
Статус :
Новичок :
Сообщений :
290
Награды :
4
Регистрация :
09.01.2017
Всем привет. В ЗП есть функция.function npc_has_item(actor, npc, p) return p[1] ~= nil and npc:object( p[1] ) ~= nil end Проверяет, есть ли у непися что-то. На основе её сделал функцию для инвентарного ящика.-- есть ли в инвентарном ящике некий предмет? function inv_box_has_item(actor, obj, p) return p[1] ~= nil and obj:object(p[1]) ~= nil end Сделал ящик. Прописал логику.[logic] active = ph_idle@spawn [ph_idle@spawn] tips = st_default_rukzak nonscript_usable = true on_info = {=inv_box_has_item(wpn_ak74)} ph_idle@no_enable [ph_idle@no_enable] tips = st_no_default_rukzak nonscript_usable = false Если в ящик засунуть АК-74, то он станет неюзабельным. Кладу туда АК и ничего не происходит. Ящик юзабелен. Если я пишу логику так[logic] active = ph_idle@spawn [ph_idle@spawn] tips = st_default_rukzak nonscript_usable = true on_info = {!inv_box_has_item(wpn_ak74)} ph_idle@no_enable [ph_idle@no_enable] tips = st_no_default_rukzak nonscript_usable = false то ящик отлично переключается на неюзабельную секцию. То есть логика работает на отсутствие предмета и не срабатывает на присутствие. Как это исправить?
Суббота, 06.10.2018, 17:38
Статус :
Сообщений :
666
Регистрация :
09.01.2017
makdm
Суббота, 06.10.2018, 18:33 | Сообщение # 2361
Время Альянса
Статус :
Опытный :
Сообщений :
1787
Награды :
19
Регистрация :
22.11.2012
Цитата sergej5500 (
)
Как это исправить?
function inv_box_has_item( actor, inv_box, p ) if p and p[1] then local item_section = p[ 1 ] local function relocate( inv_box, item ) if item_section == item:section() then return true end end inv_box:iterate_inventory_box( relocate, inv_box ) end return false end Насколько я помню вам такая функция мною ранее уже была предоставлена.
Суббота, 06.10.2018, 18:33
Статус :
Сообщений :
666
Регистрация :
22.11.2012
Время Альянса
Статус :
Ветеран :
Сообщений :
4070
Награды :
16
Регистрация :
19.07.2013
Цитата svo6o9a (
)
я все предъявил, я кинул сайт, по которому я все делал, в точности
А я вам сразу и ответил: Все работает - косяк ваш! Хоть десять ссылок на уроки кидайте ошибка в 100% случаев в gamedata.Цитата Бессмертный (
)
Как это устранить?
Устраните ошибки в конфигурации конкретного объекта: level_changer_from_l02_garbage_old_to_l04_darkvalley_old Раз на него ссылается программа в своем логе.sergej5500 , У ГГ есть колбек на взятие предмета из ящика (callback.take_item_from_box) не хотите задействовать его вместо периодической проверки предмета в ящике?
Сообщение отредактировал denis2000 - Суббота, 06.10.2018, 19:20
Суббота, 06.10.2018, 18:46
Статус :
Сообщений :
666
Регистрация :
19.07.2013
Статус :
Новичок :
Сообщений :
290
Награды :
4
Регистрация :
09.01.2017
Цитата makdm (
)
Насколько я помню вам такая функция мною ранее уже была предоставлена.
попробовал. Результата нет. Что ваша функция, что моя - результат один. При проверке на отсутствие ящик переключается. Вариант on_info = {!inv_box_has_item(wpn_ak74)} ph_idle@no_enable При проверке на наличие ящик остается на первой секции.
Суббота, 06.10.2018, 19:24
Статус :
Сообщений :
666
Регистрация :
09.01.2017
Время Альянса
Статус :
Ветеран :
Сообщений :
4070
Награды :
16
Регистрация :
19.07.2013
sergej5500 , Может это и не относиться к данному случаю, но я помню проблему которая возникала с багажником транспорта в некоторых модах ТЧ, она заключалась в том что предмет помещенный в багажник вовсе не сразу подхватывался движком и требовались манипуляции с переводом его в офлайн. Возможно суть вашей проблемы кроется в тех же затыках движка и проверка наличия предмета не срабатывает по аналогичным причинам. Что если объект будет сразу при спавне лежать в ящике? Или посмотрите в сторону использования колбека.
Сообщение отредактировал denis2000 - Суббота, 06.10.2018, 19:33
Суббота, 06.10.2018, 19:30
Статус :
Сообщений :
666
Регистрация :
19.07.2013
makdm
Суббота, 06.10.2018, 19:34 | Сообщение # 2365
Время Альянса
Статус :
Опытный :
Сообщений :
1787
Награды :
19
Регистрация :
22.11.2012
Цитата sergej5500 (
)
попробовал. Результата нет. Что ваша функция, что моя - результат один.
Хорошо, пусть будет по вашему. Тогда вот такую функцию попробуйте: function inv_box_has_item( actor, inv_box, p ) local count = 0 if p and p[1] then local item_section = p[ 1 ] local function relocate( inv_box, item ) if item_section == item:section() then count = 1 end end inv_box:iterate_inventory_box( relocate, inv_box ) end return count > 0 end
Суббота, 06.10.2018, 19:34
Статус :
Сообщений :
666
Регистрация :
22.11.2012
Статус :
Новичок :
Сообщений :
290
Награды :
4
Регистрация :
09.01.2017
Цитата denis2000 (
)
требовались манипуляции с переводом его в офлайн.
пробовал бегать на другой конец локации. Бокс при этом точно уходит в оффлайн. Никаких изменений. Проверка на наличие не срабатывает. На отсутствие срабатывает мгновенно после спавна бокса.
Суббота, 06.10.2018, 19:38
Статус :
Сообщений :
666
Регистрация :
09.01.2017
makdm
Суббота, 06.10.2018, 19:43 | Сообщение # 2367
Время Альянса
Статус :
Опытный :
Сообщений :
1787
Награды :
19
Регистрация :
22.11.2012
Цитата sergej5500 (
)
пробовал бегать на другой конец локации. Бокс при этом точно уходит в оффлайн.
Инвентарный ящик НИКОГДА не уходит в оффлайн, пока вы не покинете локацию. Он , как и рестриктор, ВСЕГДА онлайн пока вы на локации.
Сообщение отредактировал makdm - Суббота, 06.10.2018, 20:01
Суббота, 06.10.2018, 19:43
Статус :
Сообщений :
666
Регистрация :
22.11.2012
Статус :
Новичок :
Сообщений :
290
Награды :
4
Регистрация :
09.01.2017
makdm , Последний вариант функции сработал. Возник еще вопрос. Можно ли принудительно закрыть окно осмотра бокса? Какая функция подойдет?
Суббота, 06.10.2018, 19:53
Статус :
Сообщений :
666
Регистрация :
09.01.2017
makdm
Суббота, 06.10.2018, 20:00 | Сообщение # 2369
Время Альянса
Статус :
Опытный :
Сообщений :
1787
Награды :
19
Регистрация :
22.11.2012
Цитата sergej5500 (
)
Последний вариант функции сработал.
Прошлый вариант был не хуже. Цитата sergej5500 (
)
Можно ли принудительно закрыть окно осмотра бокса?
get_hud():HideActorMenu() не работает?
Суббота, 06.10.2018, 20:00
Статус :
Сообщений :
666
Регистрация :
22.11.2012
Статус :
Новичок :
Сообщений :
290
Награды :
4
Регистрация :
09.01.2017
Цитата makdm (
)
не работает?
Работает. Заинтересовался вопросом. Функция от разраблов function npc_has_item(actor, npc, p) return p[1] ~= nil and npc:object( p[1] ) ~= nil end для НПС работает отлично. Проверяет присутствие без всякой итерации. Тестировал на неписях. Ту же функцию прописал боксу. on_info = {!npc_has_item(wpn_sig550)} ph_idle@no_enable %=disable_hud% Вылета не было. Отсутствие предмета проверяется отлично - бокс переключился. А вот присутствие ни в какую. Интересно, почему функция может пересчитать рюкзак непися и не может инвентарный ящик.
Суббота, 06.10.2018, 20:33
Статус :
Сообщений :
666
Регистрация :
09.01.2017