Overf1rst 1 481 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 18 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Vint_the_stalker_ 437 Опубликовано Пятница в 18:17 Вечер добрый. Не подскажет кто-нибудь, есть где-то какие-нибудь видеоролики или скажем пособия, в обращении с SDK для ЗП, как вообще пользоваться им, ну и.т.д? Самоуверенность ничто. Болты наше всё.Скиталец, бродящий в поисках модов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 179 Опубликовано Пятница в 20:33 Здравствуйте, у меня вот такая проблема с картой: Спойлер Общая карта ужалась, а при наведении на ТД не высвечивается название, хотя в game_maps_single всё прописал Дополнено 1 минуту спустя Vint_the_stalker_ Посмотри на ютубе шеву сталкера (старые видео) и Бориса Шепелёва. Так же тут на сайте есть тема с вопросами по СДК 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 515 Опубликовано Пятница в 21:19 (изменено) 2 часа назад, Skala сказал: Общая карта ужалась, а при наведении на ТД не высвечивается название, хотя в game_maps_single всё прописал А что вы делали до того, как стало так Вы меняли общую карту на ТЧ? Мне кажется тогда ей нужно тоже прописать отдельно правильные настройки в game_maps_single. Изменено Пятница в 21:48 пользователем Mawrak Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 179 Опубликовано Пятница в 21:35 Mawrak У меня мод для конкурса на ЗП. Я в чновском game_maps_single скопировал секцию с тд и вставил в game_maps_single из моей геймдаты. Скопировал ui_global_map.dds из чн к себе в геймдату, тоже сделал и с картой тд. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hrust 470 Опубликовано Пятница в 21:36 @Skala, советую воспользоваться Map Dragger. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 515 Опубликовано Пятница в 21:50 Skala а эти секции тоже перенесли? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 179 Опубликовано Суббота в 06:33 8 часов назад, Mawrak сказал: Skala а эти секции тоже перенесли? Нет Дополнено 32 минуты спустя Скопировал, всё заработало Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 69 Опубликовано Суббота в 10:49 (изменено) Здравствуйте. На локации есть монстр c логикой mob_walker, по инфопоршню он должен пробежать с одного вейпоинта на другой. В точках walk я указал "r=true", чтобы монстр именно бежал. Но в игре результат другой, монстр и вправду по инфопоршню идет на нужную точку, но делает это медленной походкой, хотя в вейпоинте указывал r=true, тобишь бег. Спойлер Спойлер [logic@dv_a2_going_flash] active = mob_walker@idle suitable = {=check_npc_name(dv_a2_going_flash)} true prior = 75 monster_job = true [mob_walker@idle] path_walk = fls_2_walk path_look = fls_2_look actor_friendly = true combat_ignore_cond = {=check_enemy_name(military_start_1)} true, {=check_enemy_name(military_start_2)} true, {=check_enemy_name(actor)} true aggressive = false friendly = true npc_friendly = true on_info = {+lejt_came} mob_walker@attack [mob_walker@attack] path_walk = atk_1_walk path_look = atk_1_look actor_friendly = true combat_ignore_cond = {=check_enemy_name(military_start_1)} true, {=check_enemy_name(military_start_2)} true, {=check_enemy_name(actor)} true aggressive = true friendly = true npc_friendly = true Изменено Суббота в 10:51 пользователем vasyan54636 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 667 Опубликовано Суббота в 12:08 1 час назад, vasyan54636 сказал: На локации есть монстр c логикой mob_walker У вас все смешалось в логике. Не путайте ТЧ и ЗП. Где вы этого всего насмотрелись? 1 час назад, vasyan54636 сказал: aggressive = false friendly = true npc_friendly = true Эти параметры не используется в логике mob_walker в ЗП. Сразу "в топку". 1 час назад, vasyan54636 сказал: actor_friendly = true Это туда же. Для перемещения монстра из одной точки в другую лучше использовать не скриптовую mob_walker, а движковую логику mob_home. В этом случае: 1. Если параметр aggressive равен true - бежим в точку. 2. Если параметр aggressive равен false - идем в точку. 1 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 896 Опубликовано Суббота в 13:02 (изменено) В 04.10.2024 в 13:13, Flanceton сказал: Ну получается что второй вариант если это не слишком сложно, там скрипты небось шерудить какие то... Посидел на досуге и придумал, как добавить тайники в ящиках, для схемы тайников в ЗП. Для этого меняем скрипт treasure_manager.script. Функция CTreasureManager:initialize() должна принять такой вид: Спойлер function CTreasureManager:initialize() local ini = ini_file("misc\\secrets.ltx") local n = ini:line_count("list") for i=0,n-1 do local result, id, value = ini:r_line("list",i,"","") if(ini:section_exist(id)) then if string.find(id,"_hiding_box_") then self.secrets[id] = {items = {}, given = false, empty = nil, refreshing = false, checked = false, to_find = 0, box = true} else self.secrets[id] = {items = {}, given = false, empty = nil, refreshing = false, checked = false, to_find = 0, box = false} end local items_count = ini:line_count(id) local item_section = "" for i=0,items_count-1 do result, item_section, str = ini:r_line(id,i,"","") if(item_section=="empty") then local parsed_condlist = xr_logic.parse_condlist(nil, "treasure_manager", "empty_cond", str) self.secrets[id].empty = parsed_condlist elseif(item_section=="refreshing") then local parsed_condlist = xr_logic.parse_condlist(nil, "treasure_manager", "refreshing_cond", str) self.secrets[id].refreshing = parsed_condlist else self.secrets[id].items[item_section] = {} local tbl = utils.parse_spawns(str) if(#tbl==0) then abort("There is no items count set for treasure [%s], item [%s]", id, item_section) end for i=1,#tbl do local tbl = {count = tonumber(tbl[i].section), prob = tonumber(tbl[i].prob or 1)} table.insert(self.secrets[id].items[item_section], tbl) end end end else abort("There is no section [%s] in secrets.ltx", tostring(id)) end end end А функция CTreasureManager:spawn_treasure такой: Спойлер function CTreasureManager:spawn_treasure(treasure_id) if not(self.secrets[treasure_id]) then abort("There is no stored secret [%s]", tostring(treasure_id)) end if(self.secrets[treasure_id].given) then printf("Secret [%s] already given!", treasure_id) return end for item_section,item_params in pairs(self.secrets[treasure_id].items) do for num = 1,#item_params do for i = 1,item_params[num].count do local prob = math.random() if(prob<item_params[num].prob) then if(item_params[num].item_ids and item_params[num].item_ids[i]) then local se_obj = alife():object(item_params[num].item_ids[i]) local obj = alife():create( item_section, se_obj.position, se_obj.m_level_vertex_id, se_obj.m_game_vertex_id) obj.angle = se_obj.angle obj:use_ai_locations(se_obj:used_ai_locations()) self.items_from_secrets[obj.id] = self.secret_restrs[treasure_id] self.secrets[treasure_id].to_find = self.secrets[treasure_id].to_find + 1 end if (self.secrets[treasure_id].box) then local box_id = get_story_object_id(treasure_id) self.secret_restrs[treasure_id] = box_id local inv_box = alife():object(box_id) local obj = alife():create( item_section, inv_box.position, inv_box.m_level_vertex_id, inv_box.m_game_vertex_id, box_id) self.items_from_secrets[obj.id] = self.secret_restrs[treasure_id] self.secrets[treasure_id].to_find = self.secrets[treasure_id].to_find + 1 end end end end end end Ящик используемый в качестве тайника должен называться в духе: zat_hiding_box_1 и иметь стори ид равный названию! А также логику обычного ящика, для того чтобы ГГ мог его лутать. Ящик нужно внести в структуру secrets.ltx аналогично с остальными тайниками. Изменено 2 часа назад пользователем denis2000 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 179 Опубликовано 18 часов назад Можно ли сделать так, чтобы при попытке выкинуть определённый предмет проигрывался звук? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KILDIN 1 Опубликовано 16 часов назад (изменено) Skala bind_stalker.script, функция on_item_drop, там где тебе нужно пишешь xr_sound.set_sound_play(db.actor:id(), "ПУТЬ до звука или название секции в misc\script_sound.ltx") Изменено 16 часов назад пользователем KILDIN 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 726 Опубликовано 14 часов назад (изменено) Как можно узнать текстуры у определенного партикла? Изменено 14 часов назад пользователем Крим Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 896 Опубликовано 14 часов назад Крим Открыть в редакторе и посмотреть. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 726 Опубликовано 14 часов назад denis2000 А точно, я забыл, что у партиклов свой редактор есть :) Дополнено 0 минут спустя Спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 179 Опубликовано 13 часов назад (изменено) KILDIN А как туда нужный мне предмет прописать? Мне это для одной вещи нужно Изменено 13 часов назад пользователем Skala Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Кадоре 0 Опубликовано 9 часов назад Всем добрый вечер. У меня вопрос к знатокам: есть ли возможность из ТЧ удалить каким-либо образом тайник? В смысле, вообще стереть его из игры полностью, как будто его и не было. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Flanceton 5 Опубликовано 9 часов назад В 05.10.2024 в 23:02, denis2000 сказал: Посидел на досуге и придумал, как добавить тайники в ящиках, для схемы тайников в ЗП. безмерно благодарен, правда при заходе такая штука: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...\stalkercoc\gamedata\scripts\treasure_manager.script:140: 'for' limit must be a number Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 896 Опубликовано 9 часов назад Flanceton Накосячили в конфигах. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Flanceton 5 Опубликовано 9 часов назад 2 минуты назад, denis2000 сказал: Flanceton Накосячили в конфигах. конкретно в game_story_ids имя тайника указано, в secret_(локация) и лист и секция тайника - всё без ошибок 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано 8 часов назад поставил на свой мод stalker 2k FATAL ERROR [error]Expression : Ran out of memory [error]Function : CRender::texture_load [error]File : D:\prog_repository\sources\trunk\Layers\xrRenderDX10\dx10Texture.cpp [error]Line : 502 [error]Description : D3DX10CreateTextureFromMemory ( HW.pDevice,S->pointer(),S->length(), &LoadInfo, 0, &pTexture2D, 0 ) [error]Arguments : f:\s.t.a.l.k.e.r\s.t.a.l.k.e.r. call of pripyat\gamedata\textures\veh\veh_vagon1_01_bump.dds stack trace: 0023:69737365 nvwgf2um.dll Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drive 12 Опубликовано 4 часа назад (изменено) В 05.10.2024 в 18:02, denis2000 сказал: local tbl = {count = tonumber(tbl.section), prob = tonumber(tbl.prob or 1)} table.insert(self.secrets[id].items[item_section], tbl) Ошибка в коде, вы не указали элемент массива tbl "i". Скорее всего возвратит nil значение. @Flanceton Решение вашей проблемы на скриншоте ниже: P.S. Видимо не ошибка в коде, а почему-то не отображаются квадратные скобки с "i" в сообщении, c моим сообщением так-же, прикол) Изменено 4 часа назад пользователем Drive 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 896 Опубликовано 2 часа назад (изменено) Flanceton Drive Прошу прощения, из-за того, что текст из скрипта был вставлен без контейнера КОД его покорежило при сохранении сообщения. Добавил тег и снова скопировал код. У меня все четко работает, будьте внимательны при вставке кода! Если снова возникают ошибки, вот ссылка на файл treasure_manager.script treasure_manager.script Кадоре Не та тема! 6 часов назад, Flanceton сказал: конкретно в game_story_ids имя тайника указано Эта файл в ЗП не используется! 1 час назад, Drive сказал: отображаются квадратные скобки с "i" Абсолютно точно движок форума считает, что это открывающий тег для курсива! Изменено 2 часа назад пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты