Overf1rst 1 546 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 7 4 1 3 1 4 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Андронов 37 Опубликовано Четверг в 15:40 (изменено) Лютый Бюрер function check_used_item(obj) on_item_take(obj) local info=nil local sect=obj:section() if sect=="твой предмет" then db.actor:give_info_portion("твой инфопорш") end end function on_item_take(item) if item:section() == separator then return end if (inventory_open == false) then if (separator_spawned == true) then db.actor:inventory_for_each(del_separator) separator_spawned = false end belt_need_update = true end end Функцию check_used_item(obj) надо прописать в binder_stalker.script в функции actor_binder:on_item_take (obj) После if sect == .... можно с новой строки написать "elseif sect==..." и так много предметов, всё в одной функции. Дополнено 48 минуты спустя Здесь кто-то знает, как НПС присвоить story id, которого спавнит через скрипт? all.spawn не при чём Изменено Четверг в 15:46 пользователем Сергей Андронов Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лютый Бюрер 4 Опубликовано Четверг в 21:04 Сергей Андронов Expression : fatal error Function : CScriptStorage::namespace_loaded File : E:\stalker\sources\trunk\xr_3da\xrGame\script_storage.cpp Line : 445 Description : <no expression> Arguments : Error : the namespace name is already being used by the non-table object! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Андронов 37 Опубликовано Четверг в 21:09 (изменено) Лютый Бюрер в биндер сталкер нужно после всего названия функции с красной строки написать "файл, где расположен скрипт.check_used_item(obj)" А вылет когда возникает? Изменено Четверг в 21:11 пользователем Сергей Андронов Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лютый Бюрер 4 Опубликовано Четверг в 21:28 Сергей Андронов Типа так? function actor_binder:on_item_take (obj) level_tasks.proceed(self.object) xr_effects.check_used_item(self.object) end А вызывать откуда? Из bind_sralker или из скрипта, где прописана функция? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Андронов 37 Опубликовано Четверг в 21:32 (изменено) Лютый Бюрер нет, где "(self.object)" замените на "(obj)". В биндер прописали и та функция сама будет проверять наличие предметов и выдавать инфо. Изменено Четверг в 21:34 пользователем Сергей Андронов Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лютый Бюрер 4 Опубликовано Четверг в 22:07 Сергей Андронов Хорошо, я прописал, при старте новой игры получаю вылет Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...ow of chernobyl\gamedata\scripts\bind_stalker.script:194: attempt to call field 'check_used_item' (a nil value) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 749 Опубликовано Четверг в 22:13 Лютый Бюрер в бинд сталкере нет твоей строчки теперь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лютый Бюрер 4 Опубликовано Четверг в 22:23 Hunter Вот функция из бинд сталкер function actor_binder:on_item_take (obj) level_tasks.proceed(self.object) --game_stats.update_take_item (obj, self.object) xr_effects.check_used_item(obj) end Вот функция на проверку предмета function check_used_item(obj) on_item_take(obj) local info=nil local sect=obj:section() if sect=="z1" then db.actor:give_info_portion("have_a_pda") end end function on_item_take(item) if item:section() == separator then return end if (inventory_open == false) then if (separator_spawned == true) then db.actor:inventory_for_each(del_separator) separator_spawned = false end belt_need_update = true end end Что, собственно, не так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Андронов 37 Опубликовано Четверг в 22:24 Лютый Бюрер может скинете пару этих файлов тогда уж 😁. Место скрипта и бинд сталкер. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лютый Бюрер 4 Опубликовано Четверг в 22:26 Сергей Андронов xr_effects.scriptbind_stalker.script Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Андронов 37 Опубликовано Четверг в 22:34 Лютый Бюрер У меня на ТЧ 1.0006 даже твои файлы работают, только я прописал водку предмет и инфо о выключении выжигателя. Может в другом месте накосячил. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лютый Бюрер 4 Опубликовано Пятница в 00:39 Сергей Андронов Да, всё заработало, видать я накосячл в другом файле Дополнено 1 минуту спустя И ещё такой вопрос, народ, как сделать, чтобы текст нормально переносился на другую строчку? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Андронов 37 Опубликовано Пятница в 09:28 Лютый Бюрер "Как я сюда попал?\n бла бла бла". Вот эта штука "\n" делает с красной строки текст. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Лютый Бюрер 4 Опубликовано Пятница в 09:29 Сергей Андронов Уже пытался, это работает только для текста НПС Дополнено 7 минуты спустя Сергей Андронов Да и нужно чтобы он автоматически переносился, а не уходил за границу диалогового окна Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Купер 108 Опубликовано Пятница в 12:44 (изменено) talk.xml / talk_16.xml <question_item x="0" y="0" width="527" height="20" min_height="13"> <content_text x="0" y="0" width="520" height="20"> <!-- здесь для complex_mode="..." выставить значение 1> --> <text font="letterica18" r="255" g="232" b="208" align="l" complex_mode="1"/> <text_color> <t r="231" g="168" b="12"/> <e r="255" g="232" b="208"/> <h r="255" g="255" b="255"/> </text_color> </content_text> </question_item> Плюс размеры самих фреймов <questions_list ... /> <question_item ... /> <content_text ... /> Изменено Пятница в 13:02 пользователем Купер 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 849 Опубликовано Пятница в 13:22 (изменено) Есть ли где-нибудь нормальное, полноценное описание ТЧ параметров для погоды? Смотрю тут и в половине случаев идет какое-то гадание на чайных крошках, "кажется этот параметр делает вот это, но хз", "значение не в секундах (А В ЧЕМ???)", "про r1 говорить нет смысла"... https://sdk.stalker-game.com/ru/index.php?title=Настройка_погоды_и_освещения Изменено Пятница в 13:22 пользователем Mawrak Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 150 Опубликовано Пятница в 14:43 Mawrak [weather_name_00] flares = flares_default ; секция светила из flares.ltx (удалить, если не нужно) sky_texture = sky\sky_2_cube ; имя текстуры скайкуба sky_rotation = 0 ; его вращение sky_color = 0.41, 0.41, 0.41 ; и цвет (яркость), на р2 влияет на освещение clouds_texture = sky\sky_oblaka ; имя текстуры облаков clouds_color = 0.81, 0.81, 0.81, 0.4, 1.0 ; их цвет, 4-й параметр - прозрачность (0 - отключает облака), 5-й параметр - множитель на цвет (max 2.5) far_plane = 350 ; дальность видимости fog_distance = 300 ; дистанция, с которой начинается туман (fog_distance < far_plane) fog_color = 0.12, 0.12, 0.12 ; цвет тумана fog_density = 0.9 ; его плотность rain_density = 0.0 ; плотность дождя (0 - выключает его) rain_color = 0.3, 0.3, 0.3 ; и его цвет thunderbolt = thunderbolt_collection_default ; секция грозы из thunderbolt.ltx (удалить, если не нужно) bolt_period = 3.f ; таймаут между вспышками bolt_duration = 0.25f ; их продолжительность wind_velocity = 20 ; сила ветра wind_direction = 0 ; и его направление (оба параметра влияют на дождь) ambient = 0.08, 0.08, 0.08 ; цвет окружающего света (снаружи и в помещениях) lmap_color = 1.0, 1.0, 1.0 ; цвет лайтмап hemi_color = 0.35, 0.35, 0.35, 1.0 ; цвет окружающего света на р1 (только снаружи), на р2 влияет на прозрачные объекты (вода, стекло) sun_color = 0.50, 0.47, 0.415 ; цвет света от светила, на р2 при нулевых значениях - отключаются тени объектов от солнца sun_dir = -22, 292.0 ; 1-й параметр - высота светила над горизонтом (min/max: -0.01/-179, зенит: -90) ; 2-й параметр - и положение относительно его сторон: 0 - юг, 90 - восток, 180 - север, 270 - запад, 360 - юг env_ambient = ambient_env_day ; секция фоновых звуков из env_ambient.ltx (удалить, если не нужно) ##################################################################### Соответствие параметров: ТЧ ЧН / ЗП flares -> sun thunderbolt -> thunderbolt_collection bolt_period -> thunderbolt_duration bolt_duration -> thunderbolt_period ambient -> ambient_color hemi_color -> hemisphere_color sun_dir (y, x) -> sun_longitude = y, sun_altitude = x env_ambient -> ambient flares.ltx: flare_opacity - непрозрачность каждого отражения, в порядке от дальнего к ближнему flare_position - позиция каждого отражения на оси, порядок соотв. верхнему flare_radius - радиус каждого отражения, порядок соотв. верхнему flare_textures - имена текстур, использованных на каждое отражение, порядок аналогичен flare_shader - шейдер текстур flares - параметр включает или выключает блики, например, для луны - они не уместны gradient - параметр, включающий / выключающий ореол вокруг светила, дающий эффект ослепления gradient_opacity - непрозрачность ореола gradient_radius - радиус ореола gradient_texture - имя текстуры ореола gradient_shader - шейдер текстуры ореола source - параметр, включающий / выключающий отображение светила, то есть самого солнца или луны source_radius - радиус светила source_texture - имя используемой текстуры source_shader - шейдер текстуры source_ignore_color - игнорирование цвета светила (sun_color в конфиге погоды) blend_time - скорость перехода одной текстуры в другую, например из flares = flares_sun_rise во flares = flares_default10 blend_rise_time - скорость появления, если в предыдущей погодной секции был пустой flares = blend_down_time - скорость исчезновения, если в последующей погодной секции пустой flares = 2 1 1 1 https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sumrak6835 251 Опубликовано Пятница в 14:58 Yara Ты первый человек, который полностью описал все параметры погоды. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 849 Опубликовано Пятница в 15:18 Yara вот да, серьзено, кратко и по делу. Лучше любого гайда, который я видел. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Optimus_Prime 0 Опубликовано Пятница в 18:01 (изменено) Привет сталкеры, помогите разобратья с проблемой, хочу чуть модифицировать один файл, но чёт навыка не хватает ) Мне надо чтоб по заданиям 'найти предмет', вещи удалялись, а не передавались заказчику. По этому в task_manager.script вставляю такую конструкцию: --... --' Забираем у игрока квестовый предмет. local can_finish = true if task_desc.type == "artefact" then if db.actor:object(task_desc.target) == nil then can_finish = false else dialogs.relocate_item_section(npc, task_desc.target, "out") end elseif task_desc.type == "monster_part" then if db.actor:object(task_desc.target) == nil then can_finish = false else dialogs.relocate_item_section(npc, task_desc.target, "out") end elseif task_desc.type == "find_item" then if db.actor:object(task_desc.target) == nil then can_finish = false else -- dialogs.relocate_item_section(npc, task_desc.target, "out") -->> local se_obj = alife():object(task_desc.target) if se_obj then alife():release(se_obj, true) end -->> end end --... Не работает, задание сдаю, получаю награду, но предмет остаётся у меня в инвентаре. Изменено Пятница в 18:05 пользователем Optimus_Prime Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorHICHnik 0 Опубликовано вчера в 12:49 Всем хай! Возник вопрос по солянке 2016 (обычной), подошёл к насосной станции на болотах и вылетело, теперь вобще не могу с места сохранения уйти (отхожу метров на 10-20 и вылет)... Лог прикрепил... xray_slavg_07-26-25_15-40-08.mdmp.log Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Андронов 37 Опубликовано 14 часов назад Кто-нибудь понимает что-то в вылетах, когда игра жалуется на xr.gulag 'calculatestates' в логе? При чём вылет этот только после Х16, когда прыгаешь в трубу, ходишь там минуты две и стабильно вылетает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты