Pir@t@s 36 Опубликовано 15 Октября 2015 Прошу помощи. Как создать укрытия от выброса на новых локациях. Смотрел как это сделано на примере других модов , но так ничего не понял. Подскажите где найти данный материал. Прошу прошения забыл указать платформу SoC 1.0004 Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 18 Декабря 2016 Добавил спальный мешок в Тень Чернобыля 1.0004 ( добавлял так, как написано в этой статье). но теперь ГГ сам по себе время от времени засыпает. Иногда даже во время боя. Как это исправить, подскажите пожалуйста. SoC. Спальный мешок.txt Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 21 Июля 2017 9 часов назад, naxac сказал: @CRAZY_STALKER666 , Показать local can_leave = { wpn_knife = true, wpn_binoc = true, device_pda = true } local sim, obj = alife(), nil db.actor:iterate_inventory( function (dummy, item) obj = sim:object(item:id()) if obj and can_leave[item:section()] == nil then sim:release(obj, true) end end, nil ) куда это нужно приписывать что бы активировать? Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 24 Июля 2017 Подскажите, пожалуйста, как отловить момент выстрела из РПГ через скрипт? Суть вопроса: У меня РПГ - 22 (одноразовый), выстрел, и у нас в место РПГ остается пустой контейнер. Платформа: ТЧ 1.0004 Ссылка на РПГ -22 https://yadi.sk/d/h0V8gPx83LN9aU Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 6 Сентября 2017 (изменено) @BossBoroda Попробуй через таймер запустить: ==================================== function action_timer() .... ваш код по истечению таймера .... end function start_timer() -- взводим таймер на 10 секунд local iTimer = time_global() + 10000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer, action_timer) end ------------------------------------------------------------------------------------- Изменено 6 Сентября 2017 пользователем KURT2013 Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 7 Сентября 2017 @BossBoroda Ты сообщения как запускаешь, через поршень или диалог? Если через поршень, то это будет примерно так: <info_portion id="твой поршень"> <action>твой скрипт.go</action> <action>my_timers.start_timer</action> </info_portion> А в скрипте пишешь: function start_timer() -- взводим таймер на 60 секунд local iTimer = time_global() + 60000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer, action_timer) end function action_timer() твой скрипт. go2() end скрипт с сообщениями: funtion go() news_manager.send_tip(db.actor, "st_test1", 2, "default", 6000) end funtion go2() news_manager.send_tip(db.actor, st_test2, 8, "default", 6000) end Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 12 Сентября 2017 @BossBoroda ищи тут : gamedata\config\creatures\monsters.ltx Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 12 Сентября 2017 Всем добра! У меня вопрос: Недавно в одном моде увидел такую функцию в bind_stalker.script Скрытый текст --------------------------------------------------------------------------- function actor_binder:net_spawn(data) -- Случайный спавн мутантов при заходе на локацию: spawn_sluchainji.random_spawn() printf("actor net spawn") level.show_indicators() self.bCheckStart = true self.weapon_hide = false-- спрятано или нет оружие при разговоре. weapon_hide = false-- устанавливаем глобальный дефолтовый флаг. if object_binder.net_spawn(self,data) == false then return false end db.add_actor(self.object) if self.st.disable_input_time == nil then level.enable_input() end self.weather_manager:reset() -- game_stats.initialize () if(actor_stats.add_to_ranking~=nil)then actor_stats.add_to_ranking(self.object:id()) end --' Загружаем настройки дропа death_manager.init_drop_settings() ogsm_funcs.on_game_load() --================================================================== if level.name() == "l03u_agr_underground" then get_console():execute("start_my_script_level_name_=_"..level.name()) spawn_sluchainji.podz_agro_rats() end if level.name() == "l10u_bunker" then get_console():execute("start_my_script_level_name_=_"..level.name()) spawn_sluchainji.podz_vjzhigatelya_rats() end --=============================================================== return true end ----------------------------------------------------------------------- Подскажите возможно ли вынести эту функцию в отдельный скрипт или она должна быть именно здесь? Если это возможно, то как это делать что бы не поймать вылет? Платформа ТЧ 1.004. Заранее большое спасибо за ответ Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 12 Сентября 2017 13 минут назад, BFG сказал: Она у тебя уже вынесена в отдельный скрипт, вроде как. Смотри в скрипте spawn_sluchainji.script функцию random_spawn() Вы совершенно правы, так и есть. Просто,я хотел при помощи этой функции аномалии на локациях заспавнить. Потому что, у меня получается так. Скрытый текст Если я спавню аномалию через скрипт на болоте, то при переходе к примеру на кордон эта аномалия появляется так же на кордоне. А по планам, хотелось бы заспавнить конкретные аномалии на конкретных локациях. К примеру "Туман" только на болотах и янтаре, а не по всей зоне. Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 13 Сентября 2017 Всем привет! Подскажите пожалуйста есть ли функция для SoC позволяющая поссорить между собой 2 нейтральные группировки через скрипт? Я нашел что то подобное в интернете, но только для Зова Припяти. Скрытый текст источник : http://st-md.ru/viewtopic.php?id=317 ------------------------------------------------- Николай ввёл несколько новых группировок в дополнение к имеющимся: bandit_alies - бандиты из группы Чапая killer_alies - Юпитерские наймы rasvet - Рассвет monolith_alies - Монолит в кинотеатре на Припяти alfa_force - Альфа Старые группировки: actor - единственный член группировки - ГГ dolg - Долг freedom - Свобода bandit - бандиты killer - наймы stalker - сталкеры monolith - Монолит Кроме того Николай прописал функцию изменения взаимоотношений между группировками. set_faction_to_faction_relation(from_faction,to_faction,type_relation) где from_faction - наименование группировки, которая будет менять отношение to_faction - наименование группировки, к которой будет изменяться отношение type_relation - отношение. Можно задавать следующие значения: "e" - установить вражеские отношения "n" - установить нейтральные отношения "f" - установить дружеские отношения Тут возникает широкое поле деятельности. Например, геймерам, истомлённым Альфой поссорить её с бандитами. Рисуем: set_faction_to_faction_relation("bandit","alfa_force","e") После выполнения функции, при встрече бандитов с Альфой "Кушай лимончик, падла!" - гарантирую. Но мы о краснухе. Краснуха возникает при отстреле члена группировки, заступе на территорию группы без разрешения и глючков игры. Вот этот последний случай и попробуем лечить. Рисуем лечение отношений между Чапаевцами и ГГ: set_faction_to_faction_relation("bandit_alies","actor","n") После выполнения функции Чапа и его команда станут жёлто-равнодушными к ГГ. Всё? Неа...А куда вписать эту функцию и как её запустить? Не буду изобретать паровоз: в файл меню, забиндив её на F6. Открываем \scripts\ui_main_menu.script Ищем elseif db.actor~=nil and dik==DIK_keys.DIK_F5 then self:mod_options() Ниже вставляем elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then set_faction_to_faction_relation("bandit_alies","actor","n") Сохраняем, закрываем, запускаем игру. В игре Esc-F6-Esc Что мы сделали? Теперь все вновь рождённые бандиты на Лесничестве (неудачный пример: эти не спавнятся) будут нейтральны к ГГ. А эти, уже рождённые? Будут красными. А их надо примирять с ГГ персонально. Надо перебрать все объекты на уровне, отфильтровать сталкеров с нужной группировкой и каждого примирить с ГГ. Постреляем, к примеру в Долговцев - они стали красными. Лечим. Находим в томже файле меню: elseif db.actor~=nil and dik == DIK_keys.DIK_F5 then self:mod_options() --после вставляем фрагмент: elseif db.actor~=nil and dik == DIK_keys.DIK_F6 then local id, obj, kto for id=0, 65535 do obj = level.object_by_id(id) if obj and IsStalker(obj) then kto = obj:character_community() if (kto == "dolg") then obj:force_set_goodwill(0, db.actor) --0 - нейтрал, 5000 - друг, -5000 - враг end end end Видим красных долговцев - жмём Esc-F6-Esc Можно перекрашивать и другие кланы, заменив "dolg" на, например "bandit" Всё! Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 15 Сентября 2017 Всем привет! Скажите,возможно ли поссорить две нейтральных клана с помощью этого: function limansk(community1, community2) relation_registry.set_community_goodwill ("bandit", "killer", -500) end Или это работает только относительно актера? Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 3 Октября 2017 Всем привет. Играю в SoC -1.004, добавил Dynamic News+ Blowout Mod. А теперь вопрос: Как отключить показ новостей во время выброса? Зарание спасибо. Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 4 Октября 2017 3 часа назад, BossBoroda сказал: на "главном экране"? В смысле на "главном экране"? Может тебе на худе нужно отображение патронов убрать? Но это не в скриптах делается, нужно править вот тут: gamedata\config\ui\maingame.xml. Если я не прав, то пусть меня поправят "старшие товарищи" Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 7 Ноября 2017 Всем привет. Подскажите пожалуйста как при помощи скрипта отключить кнопки использования ПДА. Суть вопроса: Скрытый текст Создал отдельный предмет "пда для актера" и по моему сюжету, если гг теряет свой пда кнопки вызова (карта, контакты и задания - не доступны). Только как это сделать не знаю. Потому что знание скриптов 0 Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 21 Декабря 2017 Добрый день! У меня вопрос по поводу некоторых функций в SoC 1.004. Скрытый текст Вот функция проверки находится ГГ на Кордоне или нет: function go_to_marsh_complete() if level_name == "l01escape" then return true else return false end end ------------------------------------------------------- А как нужно написать проверку, что бы при заходе ГГ на Кордон выполнялось какое либо действие? И в каком скрипте ее прописывать, что бы подключить к игре. Заранее большое спасибо за ответ. Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 18 Июня 2021 @Rod_K Если нпс уходит гулять после спавна сам по себе, это ошибка в логике. 1 Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 10 Июля 2021 @Rod_K Я пользуюсь вот этим скриптом https://disk.yandex.ru/d/NplvqDlKuNoeiQ 1 Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 1 Ноября 2021 День добрый товарищи. У меня вопрос, вот какого плана: Как установить метку на предмет, если использовать «Рандомный спавн объектов» от тов. Singapur22? Пример функции: function my_spawn() local tbl = { {129.204,-6.337,-12.101,427496,133}, {101.002,-7.632,-4.966,398683,116}, {106.678,-7.494,8.702,406288,118} } local items = { 'af_medusa', 'af_vyvert', 'af_blood' } xr_effects.uni_random_spawn(items, tbl, kol) end Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 1 Ноября 2021 @I am Dead https://disk.yandex.ru/d/QTFcsaIC8tGV2g И прощу прощения, забыл указать: Игра ТЧ 1.0006@I am Dead Поделиться этим сообщением Ссылка на сообщение
Pir@t@s 36 Опубликовано 8 Сентября 2022 День добрый. Подскажите пожалуйста: Как сделать проверку на состояние предметов в слотах (слот 1,слот 2, слот 6)? Версия игры : SoC 1.0006 Поделиться этим сообщением Ссылка на сообщение