Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Это популярное сообщение. Kirgudu 1 204 Опубликовано 15 Декабря 2016 Это популярное сообщение. Поделиться Опубликовано 15 Декабря 2016 (изменено) А сумма вероятностей должна быть = 100?Посмотрел функцию pick_section_from_condlist более внимательно и, судя по всему, надо признать, что был неправ в своих ранних рассуждениях. Случайное число в функции берётся только один раз, при старте. А это значит, что числа в логике инкрементны, должны увеличиваться с каждым шагом и самое большое (последнее из них) не может превышать 100 (но при этом сумма может быть и больше). Например так: meet_dialog = {~20} dialog1, {~40} dialog2, {~50} dialog3, {~70} dialog4, {~90} dialog5, {~99} dialog6, dialog7В реальности первый диалог будет выбран с вероятностью 20%, второй - 20%, третий - 10%, четвёртый - 20%, пятый - 20%, шестой - 9% и седьмой - 1%. Вот уже эта сумма равна 100%. А вот в такой записи meet_dialog = {~30} dialog1, {~60} dialog2, {~10} dialog3третий диалог не будет выбран никогда (и в 40% случаев не будет выбран ни один диалог), так как попадает в диапазон вероятности первого диалога. Поэтому совет насчёт отсутствия числа в последнем элементе остаётся в силе. Изменено 15 Декабря 2016 пользователем Kirgudu 2 2 4 Инструмент Ссылка на комментарий
TomlnFerno 1 Опубликовано 19 Декабря 2016 Поделиться Опубликовано 19 Декабря 2016 (изменено) Прошерстил форум но подобного не нашел, так что рискну спросить (хотя скорее всего плохо искал, но не важно). В общем такая проблема. Создаю новый смарт террейн на кордоне (через алл спавн разумеется), вот код: [4848] ; cse_abstract properties section_name = smart_terrain name = esc_stalker_smart_terrain position = 112.035, -7.627, -16.692 direction = 0.975047,0.000000,-0.221997 id = 65535 version = 118 script_version = 6 spawn_id = 101 ; cse_alife_object properties game_vertex_id = 115 distance = 9.09999942779541 level_vertex_id = 413857 object_flags = 0xffffffbe custom_data = <<END [smart_terrain] type = esc_stalker_smart_terrain capacity = 3 squad = 1 groups = 5 END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0 :offset = 0,0,0 shape0:radius = 20.55957102775574 ; cse_alife_space_restrictor properties restrictor_type = 3 ; se_smart_terrain properties Далее прописываю логику в gulag_escape.ltx такого вида: [logic@esc_stalker_smart_terrain_stalker1_guard] active = guard@esc_stalker_smart_terrain_stalker1 [guard@esc_stalker_smart_terrain_stalker1] path_walk = stalker1_walk path_look = stalker1_look [logic@esc_stalker_smart_terrain_stalker2_kamp] active = kamp@esc_stalker_smart_terrain_stalker2 [kamp@esc_stalker_smart_terrain_stalker2] center_point = stalker2_kamp path_walk = stalker2_kamp_task [logic@esc_stalker_smart_terrain_stalker3_guard] active = guard@esc_stalker_smart_terrain_stalker3 [guard@esc_stalker_smart_terrain_stalker3] path_walk = stalker3_walk path_look = stalker3_look После прописываю работу для нпс в gulag_escape.script function load_job(sj, gname, type, squad, groups) if type == "esc_stalker_smart_terrain" then t = { section = "logic@esc_stalker_smart_terrain_stalker1_guard", idle = 0, prior = 4, state = {0, 1}, online = true, in_rest = "", out_rest = "", } table.insert(sj, t) t = { section = "logic@esc_stalker_smart_terrain_stalker2_kamp", idle = 0, prior = 3, state = {0, 1}, online = true, in_rest = "", out_rest = "", } table.insert(sj, t) t = { section = "logic@esc_stalker_smart_terrain_stalker3_guard", idle = 0, prior = 2, state = {0, 1}, online = true, in_rest = "", out_rest = "", } table.insert(sj, t) end function load_states(gname, type) if type == "esc_stalker_smart_terrain" then return function(gulag) return 0 end end function checkStalker(npc_community, gulag_type, npc_rank, se_obj) if gulag_type == "esc_stalker_smart_terrain" then return npc_community == "stalker" end Ну и соответственно прописываю точки путей в way_l01_escape.ltx [stalker2_kamp] points = p0 p0:name = wp00 p0:position = 110.979, -6.744, -40.293 p0:game_vertex_id = 124 p0:level_vertex_id = 412974 [stalker2_kamp_task] points = p0 p0:name = wp00 p0:position = 110.947, -7.415, -37.927 p0:game_vertex_id = 124 p0:level_vertex_id = 412131 [stalker1_walk] points = p0 p0:name = wp00 p0:flags = 0x1 p0:position = 93.997, -7.186, -11.203 p0:game_vertex_id = 121 p0:level_vertex_id = 391697 [stalker1_look] points = p0 p0:name = wp00 p0:flags = 0x1 p0:position = 86.658, -7.793, -11.119 p0:game_vertex_id = 114 p0:level_vertex_id = 382592 [stalker3_walk] points = p0 p0:name = wp00 p0:flags = 0x2 p0:position = 94.466, -7.183, -23.725 p0:game_vertex_id = 121 p0:level_vertex_id = 392591 [stalker3_look] points = p0 p0:name = wp00 p0:flags = 0x2 p0:position = 85.350, -7.911, -23.875 p0:game_vertex_id = 114 p0:level_vertex_id = 380758 И получаю вылет FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...\s.t.a.l.k.e.r\gamedata\scripts\smart_terrain.script:836: attempt to index a function value Кто в этом разбирается, буду признателен если глянете и объясните где ошибки и какие (чистый Сталкер ТЧ 1.0004) Изменено 20 Декабря 2016 пользователем Kirgudu Ссылка на комментарий
Hadzirim Hajad 5 Опубликовано 22 Декабря 2016 Поделиться Опубликовано 22 Декабря 2016 Какие файлы отвечают за редактирование ГГ перед началом игры в моде Freeplay Start 1.3? Ссылка на комментарий
AndrewMor 527 Опубликовано 24 Декабря 2016 Поделиться Опубликовано 24 Декабря 2016 Камрады, вот интересно стало. Количество инфопорций ведь не беспредельно, наверное? Есть какой-то определенный лимит на их количество или нет? И еще вдогонку: инфа о выданных/отобранных инфо пишется в хранилище актора? Сталкер - наше всё! Ссылка на комментарий
losiara 13 Опубликовано 24 Декабря 2016 Поделиться Опубликовано 24 Декабря 2016 Подскажите господа как называется секция в all.spawn бочки красного цвета кот. при нанесении хита взрывается, типа с горючим??? И еще каким образом например на Радаре сделана сценка когда монолитовцы (в чистой игре) сбрасывают эти бочки на ГГ при приближении??? СПАСИБО! Жизнь следует измерять поступками, а не временем... Ссылка на комментарий
UnLoaded 313 Опубликовано 24 Декабря 2016 Поделиться Опубликовано 24 Декабря 2016 бочки красного цвета кот. при нанесении хита взрывается, типа с горючим??? В weapons.ltx, ближе к концу файла, то что после строки ";; Explosive Inventory Items" - секции всяких взрывающихся бочек и баллонов. И еще каким образом например на Радаре сделана сценка когда монолитовцы (в чистой игре) сбрасывают эти бочки на ГГ при приближении???Хит с типом "импульс" наносится этим бочкам в нужном направлении... 1 Ссылка на комментарий
losiara 13 Опубликовано 24 Декабря 2016 Поделиться Опубликовано 24 Декабря 2016 Сделал бочку все получилось, прописал логику в рестрикторе типа: [logic]active = sr_idle[sr_idle]on_actor_inside = {-esc_propusk_done} sr_idle1 %=hit_obj(7018:barrel:0.02:1500)% Бочка летит при заходе в рестриктор, но направление ее хаотично, как можно задать вектор полета (куда покатится)??? Нужно соот. в сторону ГГ. Есть такая конструкция "hit_src=npc:position())" - правильно я понял что при прописывании сего хит будет производится из определенной точки??? Жизнь следует измерять поступками, а не временем... Ссылка на комментарий
Charsi 440 Опубликовано 25 Декабря 2016 Поделиться Опубликовано 25 Декабря 2016 (изменено) @losiara, пятым аргументом в функции xr_effects.hit_obj задается вейпонит или story_id объекта, из позиции которого наносится хит. По умолчанию хит наносится с позиции объекта, из логики которого вызывается hit_obj. Чтобы хит был в сторону актора, можно в xr_effects.hit_obj if not sid then h.direction = vector():sub(patrol(p[5]):point(0), obj:position()) end заменить на if p[5]=="actor" then h.direction = vector():sub(obj:position(), actor:position()) elseif not sid then h.direction = vector():sub(patrol(p[5]):point(0), obj:position()) end и вызывать %=hit_obj(7018:barrel:0.02:1500:actor)% Изменено 25 Декабря 2016 пользователем Charsi 1 Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
dPlayer 451 Опубликовано 25 Декабря 2016 Поделиться Опубликовано 25 Декабря 2016 (изменено) @AndrewMor, тут говорили, что большое кол-во поршней может привести к тормозам. @Charsi, но ведь тогда перестанут работать другие ситуации, использующие xr_effects.hit_obj? А что, ф-ия хr_effects.alien_control работает? -- переключает камеру на монстра или на актёра function alien_control( actor, npc, p ) printf( "alien_control(%s)", p[1] ) npc:set_alien_control( p[1] == "true" ) end Изменено 25 Декабря 2016 пользователем dPlayer Ссылка на комментарий
AndrewMor 527 Опубликовано 25 Декабря 2016 Поделиться Опубликовано 25 Декабря 2016 тут говорили, что большое кол-во поршней может привести к тормозам. Тормоза - это полбеды. Есть мысль. что в конце концов увеличение кол-ва выданных поршней сверх определенного предела начинает бить сейвы. Потому и спрашивал, сколько инфо можно безопасно выдать, не краша игру? Сталкер - наше всё! Ссылка на комментарий
UnLoaded 313 Опубликовано 25 Декабря 2016 Поделиться Опубликовано 25 Декабря 2016 сколько инфо можно безопасно выдать, не краша игру? Об этом, наверное, надо в разделе правки движка спросить - кто уже по-разобрался в исходниках, могут глянуть этот момент и сказать точно. но ведь тогда перестанут работать другие ситуации, использующие xr_effects.hit_obj? Ну так создай в xr_effects другую ф-цию, к примеру hit_obj2 и вызывай ее из своей логики. Ссылка на комментарий
Jekyll 92 Опубликовано 26 Декабря 2016 Поделиться Опубликовано 26 Декабря 2016 Здравствуйте. Как изменить тип урона, наносимого монстром? На изменение параметра hit_type не реагирует. New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
AndrewMor 527 Опубликовано 29 Декабря 2016 Поделиться Опубликовано 29 Декабря 2016 Вопрос к знающим. Трабла такая: вытащил из ЗП двери, поднимающиеся вверх. Но они не желают подниматься ни в какую (пытался ввести в ТЧ). Это как-то можно поправить? Если нужно копаться в модели, то тут я, скорее всего, пас. Может, кто уже делал такое? Сталкер - наше всё! Ссылка на комментарий
naxac 2 445 Опубликовано 29 Декабря 2016 Поделиться Опубликовано 29 Декабря 2016 (изменено) @AndrewMor, двери из ЗП не подходят для ТЧ, надо править модель. Изменено 29 Декабря 2016 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
CiBrAiKeR 4 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 (изменено) Добрые люди подскажите, я правильно понял - в скрипте amk_anoms.script есть строки отвечающие за количество аномалий на локации. Если я хочу увеличить их количество на Кордоне, то это привиться здесь? l01_escape={90,120,1000,{mosquito_bald=34, gravi=20, mincer=20, sakbuzz=15, electra=10, teleport_esc=1}} И если да, то есть 3 вопроса: 1 - gravi=20 это именно количество таких аномалий или их процентное отношение к общему числу всех аномалий на локации? 2 - 90,120,1000 - это что? Минимум и максимум всех аномалий на Кордоне? Тогда что означает 1000? 3 - после всех изменений нужна ли НИ или достаточно пережить Выброс? ЗЫ: заранее спасибо за помощь... Изменено 1 Января 2017 пользователем CiBrAiKeR Ссылка на комментарий
dsh 3 824 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 gravi=20 это именно количество таких аномалий или их процентное отношение Соотношение. Это веса. Все веса складываются, берется случайное число от 1 до этой суммы. Далее в цикле, из этого числа вычитается вес первой аномалии, если стало == 0, значит генерируем ее, иначе повторяем. Грубо - это шкала. Вот в какую часть шкалы попадет случайное число, ту аномалию и генерируем. 2 - 90,120,1000 - это что? Минимум и максимум. Третье число не используется. после всех изменений нужна ли НИ или достаточно пережить Выброс? Достаточно загрузить сейв, если реализация именно AMK-шная. А если это из NLC7, то там, вероятно, нужно Выброса ждать. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
MegaStalker 66 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 Оооо, народ тут объясняет как раз по моей теме! Если тут еще и расскажут, что в каком скрипте отвечает в АМК за способность контролёра зомбировать сталкеров(в буквальном смысле, сталкер переходит в группировку "Зомбированные"), то я вообще на седьмом небе буду. Все зовут меня Пришедший из Ниоткуда...Почему?Потому что я пришел из ниоткуда и иду в никуда... Ссылка на комментарий
CiBrAiKeR 4 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 (изменено) Ясно, спс, будем ждать выброса. Вот в какую часть шкалы попадет случайное число, ту аномалию и генерируем. А это шкала может быть больше 100? Просто я обратил внимание, что если сложить все соотношения в этом конкретном примере, то получается 100. Если я сделаю больше 100, к примеру 198: l01_escape={180,240,1000,{mosquito_bald=68, gravi=40, mincer=40, sakbuzz=30, electra=20, teleport_esc=1}} Так можно делать и на что это может повлиять? Изменено 1 Января 2017 пользователем CiBrAiKeR Ссылка на комментарий
dsh 3 824 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 А это шкала может быть больше 100? Не только может, а и будет. В данном случае у тебя на шкале первые 68 отметин для mosquito_bald, следующие 40 для gravi и последняя одна для teleport_esc. Вот в какую отметину рандом попадет, такая аномалия и будет. Т.е. чем больше вес по отношению к сумме всех весов, тем больше вероятность этой аномалии. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
CiBrAiKeR 4 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 @dsh, Спасибо огромное. очень помог! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти