Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndrewMor 527 Опубликовано 28 Августа 2014 Поделиться Опубликовано 28 Августа 2014 Просьба наставить на путь истинный. С чего начать, нужно написать скрипт, проверяющий наличие на локации конкретных видов мобов и конкретного количества НПС по группировкам. Нужно для написания скриптового респавна. Или может уже кто-то что-то такое придумал? Если так, где можно сие посмотреть? Сталкер - наше всё! Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 28 Августа 2014 Поделиться Опубликовано 28 Августа 2014 (изменено) Для начала - уточнить: на локации, или в онлайне ? Если на локации - изучать amk_offline_alife из amk-мода. Или task_manager. Если в онлайне - они отсортированы в db.script, и дальше добавить проверку по clsid() для монстров/community() для неписей. Upd: Тогда лучше для начала se_respawn.script изучить тщательно. Правда там принцип совершенно обратный: если ГГ близко - ничего не спавнится. И это правильно: если монстры/неписи появляются из воздуха прямо перед игроком - это странно выглядит. Изменено 28 Августа 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Хемуль36рус 1 789 Опубликовано 29 Августа 2014 Поделиться Опубликовано 29 Августа 2014 (изменено) http://ap-pro.ru/_fr/104/2539828.jpg Народ, вопрос конечно нубский, но я что-то не пойму проблему. На скрине, новая группировка не прописана как ей должно. В профиле она отражается как "Избранный" , а в ПДА нет. В текстовом файле она естественно прописана. Изменено 29 Августа 2014 пользователем Хемуль36рус Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий
Comador 203 Опубликовано 29 Августа 2014 Поделиться Опубликовано 29 Августа 2014 Хемуль36рус, а в stable_statistic_caption.xml прописано? 1 Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо. "Худ" и "Умное выпадание частей монстров" для Народной солянки Ссылка на комментарий
AndrewMor 527 Опубликовано 29 Августа 2014 Поделиться Опубликовано 29 Августа 2014 (изменено) Сталкеры, а какой звуковой файл отвечает за звук шагов ГГ? Как называется и где лежит? Хотелось бы потише его сделать, в СДК это возможно? Путь вроде нашел: sounds\material\actor\step. Но как можно уменьшить громкость всех файлов, что там лежат? Через СДК? Или есть какой другой способ? Изменено 29 Августа 2014 пользователем AndrewMor Сталкер - наше всё! Ссылка на комментарий
Comador 203 Опубликовано 29 Августа 2014 Поделиться Опубликовано 29 Августа 2014 AndrewMor, вот ссылка на патч, уменьшающий вдвое громкость шагов ГГ. Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо. "Худ" и "Умное выпадание частей монстров" для Народной солянки Ссылка на комментарий
AndrewMor 527 Опубликовано 29 Августа 2014 Поделиться Опубликовано 29 Августа 2014 В свое время я выкладывал лог вылета, не зная причины. stack trace:001B:7C812FD3 kernel32.dll001B:78158E89 MSVCR80.dll, EH_prolog()001B:02BC6DA8 xrGame.dll001B:02DE79DD xrGame.dll[error][ 183] : Невозможно создать файл, так как он уже существует. Так вот, у меня причиной такого вылета служило большое количество точек радиации, заспавненных на локации, больше 100. Я так понял, что именно сотня является критической массой, при 99 точках вылет пропадал. Может кому пригодится. @Comador, Спасибо, я уже нужные файлы через Audacity прогнал. 1 Сталкер - наше всё! Ссылка на комментарий
AndreySol 215 Опубликовано 30 Августа 2014 Поделиться Опубликовано 30 Августа 2014 @AndrewMor Правкой соответствующих данных нет-пакета объекта при спавне. Подробнее, к примеру в ридми к модулю нет-пакетов от Artos'а Ссылка на комментарий
AndrewMor 527 Опубликовано 30 Августа 2014 Поделиться Опубликовано 30 Августа 2014 (изменено) Ну а если написать так:local obj = alife():create("имя_секции1",vector():set(x,y,z),lvid,gvid)obj.direction = vector():set(0, 1.57, 0)set_desired_direction() тогда уж. Но это, вроде, только для "живых". Остальное - пакетом. dc Изменено 31 Августа 2014 пользователем Dennis_Chikin Сталкер - наше всё! Ссылка на комментарий
Wolkodav 0 Опубликовано 30 Августа 2014 Поделиться Опубликовано 30 Августа 2014 Ну тогда не знаю как его развернуть через скрипт, сколько пробовал безполезно... Так товарищи,подскажите,проблема нарисовалась такая, при прописи Сидоровичу предметов в продажу,получилось около 250 новых предметов для продажи,все нормально,продает все что прописал. Вот собственно проблема: когда прописал все тоже самое бармену возникло непредвиденное, половина предметов спавнятся у него по ногами а не в продажу...Как так сказать, расширить вместительность асортимента для продажи??срочно нужна помощь... Ссылка на комментарий
AndrewMor 527 Опубликовано 30 Августа 2014 Поделиться Опубликовано 30 Августа 2014 Нет, если написать вот так local obj = alife():create("имя_секции1",vector():set(x,y,z),lvid,gvid) obj.direction = vector():set(0, 1.57, 0) ничего не выходит. @AndreySol, а где его взять? Сталкер - наше всё! Ссылка на комментарий
Zander_driver 10 331 Опубликовано 30 Августа 2014 Поделиться Опубликовано 30 Августа 2014 (изменено) Кузнецов, ну вот оффтопик же... 8( Текст замечательный, и тем не менее - оффтопик. Лучший совет здесь дал Murarius: изложить в указанной им теме, что именно и как именно хотелось бы, и ждать, кто заинтересуется. По сути - это глобальная переделка игры, хотя ковырять собственно движок и не требуется. А почему посты о глобальной переделке игры считаются оффтопиком для данной темы? И кстати ткните носом, куда дели "замечательный текст" о котором идет речь. Любопытно стало. Здесь про потроха. И, кстати, "общие рассуждения", а тем более юморески про горнопроходческий комбайн и способы изведения тушканов здесь вряд-ли кто найдет. В литтворчестве и разговорах о модах шансов больше. Вообще тема про неприличное слово в разделе была бы уместна, но ее здесь не захотели. 8( И, пожалуй, какой-то общей готовности к конструктиву по ней нет. Увы, опять же. dc Изменено 30 Августа 2014 пользователем Dennis_Chikin 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Wolkodav 0 Опубликовано 30 Августа 2014 Поделиться Опубликовано 30 Августа 2014 (изменено) Wolkodav, увеличить переносимый вес Бармена в bar_barman.ltx? Нет,не помогло... Да есть тут живые?мне поможет кто нибудь?? Не помогло после новой игры ? Вообще, с таким эффектом вряд-ли кто встречался. 250 предметов в продажу - это довольно нетривиальная идея. dc Изменено 30 Августа 2014 пользователем Dennis_Chikin Ссылка на комментарий
AndrewMor 527 Опубликовано 31 Августа 2014 Поделиться Опубликовано 31 Августа 2014 (изменено) Dennis_Chikin, пробовал по всякому:alife():create("conserva",vector(),0,0,54549)alife():create("conserva",vector():set(0, 0, 0),0,0,54549)alife():create("conserva",vector(),1152755,4019,54549)alife():create("conserva",vector():set(132.84954833984, 8.5610275268555, -19.224378585815),1152755,4019,54549)alife():create("conserva",vector():set(132.84954833984, 8.5610275268555, -19.224378585815),0,0,54549)и ничего в рюкзак не спавнится. Секция рюкзака: ; cse_abstract propertiessection_name = inventory_boxname = pred_inventory_boxposition = 132.84954833984, 8.5610275268555, -19.224378585815direction = 0, 0, 0id = 65535version = 118script_version = 6; cse_alife_object propertiesgame_vertex_id = 4019distance = 0level_vertex_id = 1152755object_flags = 0xffffff3bstory_id = 54549; cse_visual propertiesvisual_name = equipments\item_rukzak alife():create("conserva",vector(),0,0,54549) Пробовал вместо 54549 ставить 0 - предмет спавнится в инвентарь ГГ.А при чем здесь sid ?local obj = alife():object( "pred_inventory_box" )if obj then alife():create( "conserva", vector(), 0, 0, obj.id ) endРюкзак в это время должен быть в офлайне. dc Dennis_Chikin, "Рюкзак в это время должен быть в офлайне. dc" А вот и нет. Предмет прекрасно заспавнился в рюкзак, который был от ГГ в 10 метрах, значит, в онлайне. У некоторых почему-то не работает. dc Изменено 31 Августа 2014 пользователем Dennis_Chikin 1 Сталкер - наше всё! Ссылка на комментарий
Vinozavr 33 Опубликовано 3 Сентября 2014 Поделиться Опубликовано 3 Сентября 2014 (изменено) Нужна помощь. Столкнулся с проблемой когда сделал для свох нужд конфиг снайпера (под спойлером ниже) - он невидит монстров даже в упор! В чем дело не могу понять. Помогите решить эту проблему плиз. [stalker_antisniper2_condition]satiety_v = 0.00001 ;скорость уменьшения сытости со временемradiation_v = 0.0001 ;скорость уменьшения радиацииsatiety_power_v = 0.0005 ;увеличение силы при уменьшении сытостиsatiety_health_v = 0.0 ;0.0001 ;увеличение здоровья при уменьшении сытостиsatiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшатьсяradiation_health_v = 0.000 ;уменьшение здоровья при воздействии радиацииmorale_v = 0.0001 ;скорость восстановления моралиhealth_hit_part = 0.8 ;процент хита, уходящий на отнимание здоровьяpower_hit_part = 0.2 ;процент хита, уходящий на отнимание силыpsy_health_v = 0.01 ; скорость восстановления psy-здоровьяhealth_restore_v = 0.002 ;скорость восстановления здоровьяsleep_health = 1.0 ;коэффициенты скоростей изменения параметров во время снаsleep_power = 1.0sleep_satiety = 1.0sleep_radiation = 1.0sleep_psy_health = 1.0;---LIMPING STATE-----------------------------------------------------use_limping_state = offlimping_threshold = 0.5;открытые раныbleeding_v = 0.0 ;потеря крови при номинальной ране в секундуwound_incarnation_v = 0.001 ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)min_wound_size = 0.01[stalker_antisniper2_immunities]:stalker_immunitiesburn_immunity = 1.0 ;коэффициенты иммунитетаstrike_immunity = 1.0shock_immunity = 1.0wound_immunity = 1.0radiation_immunity = 0.0telepatic_immunity = 1.0chemical_burn_immunity = 1.0explosion_immunity = 1.0fire_wound_immunity = 1.0wound_2_immunity = 1.0[stalker_antisniper2]:stalker;---LEVEL EDITOR------------------------------------------------------$spawn = "stalkers\stalker_antisniper2" ; option for Level Editor;---CRITICAL WOUND------------------------------------------------------------------critical_wound_threshold = 5000.1critical_wound_decrease_quant = 1body_parts_section_id = critical_wound_body_parts_sectioncritical_wound_weights = 1,1,1species = zombiecondition_sect = stalker_antisniper2_condition;---IMMUNITIES -------------------------------------------------------immunities_sect = stalker_antisniper2_immunities;---VISIBILITY--------------------------------------------------------vision_danger_section = stalker_antisniper2_vision_dangervision_free_section = stalker_antisniper2_vision_freeeye_fov = 110eye_range = 1000far_plane_factor = 1.0 ; фактор дальности туманаfog_density_factor = 0.05 ; фактор плотности тумана[stalker_antisniper2_vision_free]min_view_distance = 0.01 ; коэффициент, который множится на eye_range, в зависимости от углаmax_view_distance = 1 ; коэффициент, который множится на eye_range, в зависимости от углаvisibility_threshold = 10.0 ; значение, при достижении суммой которого объект считается видимымalways_visible_distance = 0.8time_quant = 0.001decrease_value = 0.01 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинамvelocity_factor = 2.5luminocity_factor = 0.5 ; фактор освещения (только для Актёра)transparency_threshold = 0.1 ; 0.25[stalker_antisniper2_vision_danger]min_view_distance = 0.01 ; коэффициент, который множится на eye_range, в зависимости от углаmax_view_distance = 1 ; коэффициент, который множится на eye_range, в зависимости от углаvisibility_threshold = 10.0 ; значение, при достижении суммой которого объект считается видимымalways_visible_distance = 0.8time_quant = 0.001decrease_value = 0.01 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинамvelocity_factor = 2.5luminocity_factor = 0.5 ; фактор освещения (только для Актёра)transparency_threshold = 0.1 ; 0.25disp_walk_stand = 0.1 ;6disp_walk_crouch = 0.1 ;3disp_run_stand = 0.1 ;12;8disp_run_crouch = 0.1 ;4disp_stand_stand = 0.1disp_stand_crouch = 0.1disp_stand_stand_zoom = 0.1 ;1disp_stand_crouch_zoom = 0.1;1ignore_monster_threshold = 0.0 ;0.6 ;0.8max_ignore_distance = 15.0panic_threshold = 0.02;---SOUND PLAYER------------------------------------------------------sound_death = fight\death\death_sound_anomaly_death = fight\death\death_sound_hit = fight\hit\hit_sound_humming = states\idle\idle_sound_alarm = fight\enemy\enemy_sound_backup = fight\backup\backup_,fight\threat\threat_close_sound_detour = fight\detour\detour_,fight\fire\fire_,fight\threat\threat_close_sound_friendly_fire =sound_panic_human =sound_panic_monster =sound_tolls = fight\tolls\tolls_sound_grenade_alarm = fight\grenade\grenade_sound_friendly_grenade_alarm =sound_need_backup = fight\cover_fire\cover_fire_sound_running_in_danger =sound_walking_in_danger =sound_kill_wounded = help\wounded\kill_wounded_sound_enemy_critically_wounded = fight\enemy_hit\enemy_hit_sound_enemy_killed_or_wounded = fight\enemy_down\enemy_down_; obsolete after next updatesound_attack = fight\attack\attack_sound_search = fight\searching_enemy\search_; new after next updatesound_attack_no_allies = fight\fire\fire_,fight\threat\threat_distant_sound_attack_allies_single_enemy = fight\attack\attack_,fight\attack\attack_one_,fight\fire\fire_sound_attack_allies_several_enemies = fight\attack\attack_,fight\attack\attack_many_,fight\fire\fire_sound_search1_no_allies = fight\threat\threat_distant_sound_search1_with_allies = fight\searching_enemy\search_,fight\searching_enemy\enemy_lost_ species = zombie, далее смотрим game_relations.ltxdc Изменено 3 Сентября 2014 пользователем Dennis_Chikin Ссылка на комментарий
Zander_driver 10 331 Опубликовано 3 Сентября 2014 Поделиться Опубликовано 3 Сентября 2014 @NHOK, В таких случаях каких советов вы ждете? Перечитать еще раз, как-то по другому может быть. Вопрос к знающим людям, я вот оказался не знающий, и пытаться разобраться в происходящем, включив вывод в лог всего на свете, это немного тяжко.Так вот собственно вопрос. Разъясните кто знает, принципы функционирования смарттеррейнов и гулагов. В плане того, что в какой последовательности активируется и вызывается.класс smart_terrain, описанный в файле smart_terrain.script - это собственно объект смарта, тот объект который спавнится через алл.спавн к примеру.в файле bind_smart_terrain.script лежит его биндер, который отслеживает нет_спавн и нет_дестрой, а так же занимается апдейтом.А класс gulag из файла xr_gulag.script - это что? вообще хотелось бы понять разделение целей и задач gulag и smart_terrain, четко разграничить для чего один и для чего другой.Это все риторика, мотивированная тем что мне хочется наконец таки понять как это все работает.А в частности есть еще практический вопрос - как извне, принудительно переключить состояние гулага/смарта. И как этими состояниями правильно пользоваться.Неудачный пример: в gulag_general.script в load_job часть видов работ переделал таким образом t = { section = "logic@"..way_name, idle = 0, prior = 8-i, state = {0,1,2}, squad = squad, group = groups[1], position_threshold = 50, in_rest = "", out_rest = "" } я думал что "state" - это в каких состояниях эта работа будет считаться доступной. В порядке эксперимента сделал так: function load_states(gname, type) if type == "general_lager" then return function(gulag) return 2 end end Но в результате неписи просто разбрелись со всех работ, гулаги прекратили работу. А из логов я узнал, что load_Job в таком случае даже не вызывалась. т.е. состояние 2 это какое то невозможное для гулага, и он может находиться только в состояниях 0 или 1, так чтоли? Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 3 Сентября 2014 Поделиться Опубликовано 3 Сентября 2014 (изменено) Zander_driver, а это: return function(gulag) return 2 - вообще как ??? Оно даже запускаться не должно. А большую статью - ну вот как только руки дойдут - так и сразу. Изменено 3 Сентября 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Desertir 202 Опубликовано 3 Сентября 2014 Поделиться Опубликовано 3 Сентября 2014 (изменено) - вообще как ??? Каком. Надо знать, что функции - такие же переменные в Lua, ну или не писать на эту тему, выбирать тебе. Вполне стандартная практика - вернуть функцию, да еще с замыканием. Ты о каллбеках что-нибудь слышал? Изменено 3 Сентября 2014 пользователем Desertir 1 ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
AndrewMor 527 Опубликовано 3 Сентября 2014 Поделиться Опубликовано 3 Сентября 2014 @Dennis_Chikin, "У некоторых почему-то не работает. dc" Интересно, почему, в чем причина? Принцип-то один. Сталкер - наше всё! Ссылка на комментарий
Zander_driver 10 331 Опубликовано 3 Сентября 2014 Поделиться Опубликовано 3 Сентября 2014 @Dennis_Chikin,Окей, вот функция полностью в оригинале, мои правки закомментированы. function load_states(gname, type) if type == "general_lager" then return function(gulag) if gulag.state == 0 then -- return 1 -- add by zander if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.smrttrn, gulag.state_switch_1) ~= nil then --level.map_add_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready", "Ready") return 1 end return 0 elseif gulag.state == 1 then -- return 2 --- add by zander if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.smrttrn, gulag.state_switch_0) ~= nil then --level.map_remove_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready") return 0 end return 1 end end end if type == "general_lair" then return function(gulag) if gulag.state == 0 then if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.object, gulag.state_switch_1) ~= nil then --level.map_add_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready", "Ready") return 1 end return 0 elseif gulag.state == 1 then if gulag.population_comed == 0 then return 0 end if xr_logic.pick_section_from_condlist(db.actor, gulag.object, gulag.state_switch_0) ~= nil then --level.map_remove_object_spot(gulag.smrttrn.id, "alife_presentation_smart_ready") return 0 end return 1 end end end end Так всегда работало и работает, при том что она возвращает функцию. Почему не должно запускаться - я собственно и хочу выяснить. Или как надо делать чтоб запустилось. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти