Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Painter 3 373 Опубликовано 19 Июля 2014 Поделиться Опубликовано 19 Июля 2014 (изменено) function gravity() local defv=19.620 --/ чем меньше значение, тем меньше и гравитация. level.physics_world():set_gravity(defv) end Не уверен, правда, что корректно работает на ТЧ, однако стоит попробовать. Изменено 19 Июля 2014 пользователем Jurok Портфолио Ссылка на комментарий
Zander_driver 10 333 Опубликовано 21 Июля 2014 Поделиться Опубликовано 21 Июля 2014 Не уверен, правда, что корректно работает на ТЧ Кажется в справочнике упоминалось, что эта функция есть только в ЗП Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Музафир 1 Опубликовано 21 Июля 2014 Поделиться Опубликовано 21 Июля 2014 Кто-нибудь знает, как переместить уже существующего (ранее заспавненного) нпс на другие координаты? В справочнике написано, что функция set_npc_position добавлена только в ЗП, а мне надо для ТЧ Ссылка на комментарий
Callisto 2 Опубликовано 21 Июля 2014 Поделиться Опубликовано 21 Июля 2014 нпс на другие координаты?Многого уже не помню, первое, что пришло в голову 1. Задать в логике ему путешествие на новую позицию. 2. Удалить и заспавнить на новой позиции. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 21 Июля 2014 Поделиться Опубликовано 21 Июля 2014 (изменено) Музафир,npc:set_dest_level_vertex_id( vid ), и таки да, в первом посте:"Перед тем как задать вопрос прочтите следующую информацию:Если Вы:Воспользовались поиском на форуме;Изучили материалы по ссылками ниже;Ознакомились со "всякими полезными советами по правке игры версия 6", собранными для Вас n6260 (архив 200 Кб: sendspace, ifolder);Но так и не нашли ответ на свой вопрос, который хотите задать, задайте его здесь."вот здесь http://www.amk-team.ru/forum/index.php?showtopic=7450 - это есть.Установить координаты для живого непися - просто не имеет смысла. И, да, все это бесполезно в отрыве от конкретного случая, поскольку чуть-ли не половина скриптов вычисляет и устанавливает для неписей новые вертексы в тех или иных ситуациях. Изменено 21 Июля 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndrewMor 527 Опубликовано 22 Июля 2014 Поделиться Опубликовано 22 Июля 2014 @Музафир, тебе правильно ответили. Можно через смарт-террейн по выдаче поршня поменять местоположение НПС, правда, он может не дойти, если в онлайне его кто-нибудь скушает... Пример - смарты на базе Свободы на АС. При выдаче поршня aes_arrive_to все свободовцы срываются в сторону Припяти, бывает, гибнут на подходах к Радару или на самом Радаре, бывает, до Припяти доходят... Ну или спавнить дубля с аналогичным профилем. Пример - Круглов на Янтаре. Сталкер - наше всё! Ссылка на комментарий
xer-urg 0 Опубликовано 22 Июля 2014 Поделиться Опубликовано 22 Июля 2014 Доброго времени суток! Вопрос будет нубский, поэтому заранее прошу прощения. Поиском пользовался, но то ли не могу вопрос внятно сформулировать, то ли хочу того, чего нет. Где прописываются предметы/оружие и визуал для обычного НПС? Я так понимаю, что в чарактер_деск_* файлах прописываются визуалы уникальных или жёстко заданных ребят, так где же ковырять, что изменить внешку и прижизненный набор вещей для обычного неуникального/неквестового НПС? https://github.com/xer-urg/xray-1.0007rc1 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 22 Июля 2014 Поделиться Опубликовано 22 Июля 2014 (изменено) "чарактер_деск_* файлах прописываются визуалы уникальных или жёстко заданных ребят," - всех. Вообще всех. Также может быть задано в allspawn, но для этого надо, чтобы он непись в нем вообще был. http://www.amk-team.ru/forum/index.php?showtopic=5734 http://www.amk-team.ru/forum/index.php?showtopic=6356 P.S. Мда, ну ведь оффтопик же получается. Самый настоящий оофтопик. В одном и том же разделе темы. 8( Ну и ораторам выше - то же самые ссылки. Изменено 22 Июля 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Xagen 0 Опубликовано 22 Июля 2014 Поделиться Опубликовано 22 Июля 2014 (изменено) Подскажите, пожалуйста, как сделать так, чтобы задание давал один НПС, а награду я получал у другого? Например: задание " убить сталкера" от Сидора. Можно ли сделать так, чтобы награду давал, допустим Бармен? @Dennis_Chikin, Благодарю. Но у меня такая проблема: защитил Барьер от Монолита, но Кэп умер. Можно ли сделать так, чтобы последний пункт( поговорить с командиром Барьера) посылал меня допустим к Лукашу? То есть, проблема - в проваленном задании ? Тогда 2 варианта: выковыривать остатки диалога кэпа, и прописывать Лукашу как самостоятельный диалог, либо смотреть, что делается в этом самом остатке, и куда-то воткнуть принудительное выполнение этих остатков - в смысле, без всяких разговоров. dc Изменено 9 Декабря 2014 пользователем Dennis_Chikin Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 22 Июля 2014 Поделиться Опубликовано 22 Июля 2014 2 разных квеста. Условием начала второго является завершение первого. Подробности должны быть в разделе диалогов. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndreySol 215 Опубликовано 22 Июля 2014 Поделиться Опубликовано 22 Июля 2014 (изменено) но Кэп умер. Можно ли сделать так, чтобы последний пункт( поговорить с командиром Барьера) посылал меня допустим к Лукашу? Насколько мне известно, уже проинициализированное задание(проще говоря - уже выданное) изменить нельзя. Но можно проявить фантазию, допустим так: использовать для завершающего подзадания(последнего пункта) <function_fail>, в котором проверив, что этот самый Кэп помер, выдать ГГ сообщение, типа "Это Лукаш, зайди ко мне - поговорить надо", и выдать какую-то инфо-порцию. Ну и соответственно Лукашу прописать в диалоги ветку, разблокирующуюся по наличию этой выданной и-п, с соболезнованиями по поводу смерти Кэпа и выдачей полагающейся награды. И далее фантазируем - если не охота портить статистику игрока проваленным квестом, можно использовать <function_complete> и завершать квест успехом, но в ф-ции выдавать сообщение с намеком у кого получить вознаграждение. Вообще - можно, но ну его нафиг, такое извращение. Как-то думал, чтобы проваленные задания в истории не хранились, потом плюнул. Можно еще просто тупо поршни поснимать совсем. Но тоже извращение. dc Изменено 22 Июля 2014 пользователем Dennis_Chikin Ссылка на комментарий
aztec_1997 7 Опубликовано 27 Июля 2014 Поделиться Опубликовано 27 Июля 2014 подскажите пожалуйста какие строки в конфигах оружия отвечают за приселивание через мушку? Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 28 Июля 2014 Поделиться Опубликовано 28 Июля 2014 подскажите пожалуйста какие строки в конфигах оружия отвечают за приселивание через мушку? За положение оружия в режиме прицеливания отвечают эти строчки: zoom_offset = OX,OY,OZ zoom_rotate_x = RX zoom_rotate_y = RY Всем привет ребята. Может кто-то знает как реализовать смену моделей после какого-то действия через скрипт в сталкер тч ? Примерно как в моде :"Худ ТЧ: Смена рук при смене костюма " , только нужно чтобы руки не прятались когда меняешь костюм/модель. Заранее благодарю. Ссылка на комментарий
demon96 8 Опубликовано 28 Июля 2014 Поделиться Опубликовано 28 Июля 2014 (изменено) Всем привет ребята. Может кто-то знает как реализовать смену моделей после какого-то действия через скрипт в сталкер тч ? Примерно как в моде :"Худ ТЧ: Смена рук при смене костюма " , только нужно чтобы руки не прятались когда меняешь костюм/модель. Заранее благодарю.Не понимаю для чего это нужно, но единственный вариант, это попробовать заменить анимацию draw на idle, так как смена оружия сопровождается анимацией draw( доставание). если использовать этот метод то модель будет меняться плавно (как мне надо ) , но вот доставаться оружие будет неправильно - сразу появляться Так а что ты хочешь конкретно? Изменено 13 Января 2015 пользователем Dennis_Chikin поправил цитату Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 28 Июля 2014 Поделиться Опубликовано 28 Июля 2014 А может еще кто-то знает как заскриптить смену модели не таким способом как в моде "Худ ТЧ: Смена рук при смене костюма " где меняються все модели оружия , а мне надо только выборочно один предмет. Скрипт Кирака плохо понял. local exowpnid local restore_slot local suit_last_sect local g_change local re_sect local wdat = {} local upd = 0 local suit_table = { no_outfit = "noou_", novice_outfit = "ntrl_", stalker_outfit = "ntrl_", scientific_outfit = "dolm_", exo_outfit = "ntre_", bandit_outfit = "bndl_", killer_outfit = "dolm_", monolit_outfit = "ntrl_", military_outfit = "dolm_", specops_outfit = "milm_", svoboda_light_outfit = "milm_", svoboda_heavy_outfit = "milm_", dolg_outfit = "bndl_", dolg_scientific_outfit = "dolm_", ecolog_outfit = "ecol_", protection_outfit = "ecoh_", outfit_novice_m1 = "ntrl_", outfit_stalker_m1 = "ntrl_", outfit_stalker_m2 = "ntrl_", outfit_exo_m1 = "ntre_", outfit_bandit_m1 = "bndl_", outfit_killer_m1 = "dolm_", outfit_specnaz_m1 = "milm_", outfit_svoboda_m1 = "milm_", outfit_dolg_m1 = "bndl_", mp_exo_outfit = "ntre_" } --[[Состав: noou=Нет костюма, свитер ntrl=Оригинал, Новичок ntrm=Оригинал, Нейтрал ntrs=Чёрный кисть закрыты, Сева Нейтрал учёный ntre=Экзо bndl=Чёрный кисть открыта, Бандит kilm=Чёрный кисть закрыты, Наёмники monm=Оригинал, Монолит milm=Зелёный защитный, Военный milh=Зелёный защитный, Спецназ svom=Зелёный защитный, Свобода Лёгкий svoh=Зелёный защитный, Свобода Тяжёлый dolm=Чёрный кисть закрыты, Долг dols=Чёрный кисть закрыты, Долг учёный ecol=Жёлтый кисть закрыты, учёный ecoh=Зелёный кисти закрыты, укреплённый учёный Оригинал+ЖКЗ+ЗКЗ+экзо+ЧКЗ+ЧКО+ЗЗ+НК]] function change_pattern(str,pat1,pat2) -- замена в строке str n-го фрагмента pat1 на фрагмент pat2 if not pat2 then pat2 = "" end -- если pat2 не задано, фрагмент pat1 просто вырезается local i,o = string.find(str,pat1) if not i then return str end local str_i = string.sub(str,1,i-1) local str_o = string.sub(str,o+1,-1) return str_i..pat2..str_o end function insert_pattern(str,pat,pos) if not pat or not pos then return str end -- if pos < 0 then pos = pos + string.len(str) + 1 end local str_i = string.sub(str,1,pos-1) local str_o = string.sub(str,pos,-1) return str_i..pat..str_o end function update() if exowpnid ~= nil then -- если условие выполняется, значит на прошлом апдейте меняли оружие, надо его подобрать и выйти upd = upd + 1 local weapon = level.object_by_id(exowpnid) if weapon then db.actor:transfer_item(weapon,db.actor) exowpnid = nil upd = 0 wdat = {} re_sect = nil else if upd > 100 then get_console():execute ("load exo_weapons.script line 66: re-spawning") get_console():execute ("flush") alife():release(alife():object(exowpnid),true) local pos = device().cam_pos pos.x = pos.x + 0.5 local sobj = alife():create(re_sect, pos, db.actor:level_vertex_id(), db.actor:game_vertex_id()) if sobj then exowpnid = sobj.id weap_data.set_weapon_data(wdat,sobj) re_sect = ch_sect upd = 0 end end end return end if restore_slot then db.actor:activate_slot(restore_slot) restore_slot = nil end local suit = db.actor:item_in_slot(6) local active_sect, suit_sect local act_slot = db.actor:active_slot() local active = db.actor:item_in_slot(act_slot) -- костюм if suit then suit_sect = suit:section() else suit_sect = "no_outfit" end -- [[ if not suit_last_sect then suit_last_sect = suit_sect end if suit_last_sect ~= suit_sect then -- костюм изменился if act_slot == 3 then -- если активны гранаты db.actor:activate_slot(1) g_change = true return else change_grens(suit_sect) -- спокойно меняем if g_change then db.actor:activate_slot(3) g_change = nil end end end suit_last_sect = suit_sect -- оружие local pref_len = 0 -- болт if active then active_sect = active:section() if string.sub(active_sect,1,8) == "grenade_" then -- гранаты pref_len = 8 elseif string.sub(active_sect,1,4) == "wpn_" then -- все остальное pref_len = 4 end else return -- Если нет предмета в активном слоте, то и менять нечего, выход end local mod_section, mod_pattern if string.len(active_sect) < (pref_len + 6) or not system_ini():section_exist(string.sub(active_sect,1,pref_len)..string.sub(active_sect,(pref_len + 6),-1)) then mod_section = false -- немодифицированный вариант mod_pattern = "" else mod_section = true -- модифицированный вариант mod_pattern = string.sub(active_sect,(pref_len + 1),(pref_len + 5)) end local ch_sect, ch_pattern ch_pattern = suit_table[suit_sect] or "ntrl_" if mod_pattern == ch_pattern then return -- модификация оружия соответствует костюму end if mod_section then -- оружие - модифицированный вариант ch_sect = change_pattern(active_sect,mod_pattern,ch_pattern) else ch_sect = insert_pattern(active_sect,ch_pattern,(pref_len + 1)) end if not system_ini():section_exist(ch_sect) then -- если заменять надо бы, но не на что, то выходим return end -- если надо менять и есть на что - меняем if act_slot == 1 or act_slot == 2 then -- пистолет или автомат local wobj = alife():object(active:id()) wdat = weap_data.get_weapon_data(wobj) alife():release(wobj,true) local pos = device().cam_pos pos.x = pos.x + 0.5 local sobj = alife():create(ch_sect, pos, db.actor:level_vertex_id(), db.actor:game_vertex_id()) if sobj then exowpnid = sobj.id weap_data.set_weapon_data(wdat,sobj) re_sect = ch_sect end restore_slot = act_slot elseif act_slot == 3 then -- гранаты -- ничего не делаем, гранаты меняются в другом месте elseif act_slot == 5 then -- болт. у этой сволочи нет серверного объекта, просто выбрасываем db.actor:drop_item(active) alife():create(ch_sect, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) restore_slot = 5 else -- бинокль, нож local wobj = alife():object(active:id()) alife():release(wobj,true) alife():create(ch_sect, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) restore_slot = act_slot end end function change_grens_on_take(item) local suit = db.actor:item_in_slot(6) local suit_sect if suit then suit_sect = suit:section() else suit_sect = "novice_outfit" end local ch_pattern = suit_table[suit_sect] or "ntrl_" if (db.actor:active_item() == nil or (db.actor:active_item() ~= nil and db.actor:active_item():id() ~= item:id())) then local active_sect = item:section() local mod_section, mod_pattern if string.len(active_sect) < 14 or not system_ini():section_exist(string.sub(active_sect,1,8)..string.sub(active_sect,14,-1)) then mod_section = false -- немодифицированный вариант mod_pattern = "" else mod_section = true -- модифицированный вариант mod_pattern = string.sub(active_sect,9,13) end if mod_pattern ~= ch_pattern then local ch_sect if mod_section then -- оружие - модифицированный вариант ch_sect = change_pattern(active_sect,mod_pattern,ch_pattern) else ch_sect = insert_pattern(active_sect,ch_pattern,9) end if system_ini():section_exist(ch_sect) then -- если заменять надо, и есть на что, то меняем local wobj = alife():object(item:id()) alife():release(wobj,true) alife():create(ch_sect, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end end end end function change_grens() db.actor:iterate_inventory( function(dummy, item) if string.sub(item:section(),1,8) == "grenade_" then local wobj = alife():object(item:id()) alife():release(wobj,true) alife():create(item:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end end ,db.actor) end . Ссылка на комментарий
Gaz24 6 Опубликовано 31 Июля 2014 Поделиться Опубликовано 31 Июля 2014 Из-за чего может быть вызван такая проблема, когда на Свалке, после убийства 3 бандитов у перехода на Кордон, Юрик игнорирует разговоры и идет в сторону лагеря бандитов у бетонных плит? P.S. Установлен blowout mod v1.0. Ссылка на комментарий
AndreySol 215 Опубликовано 31 Июля 2014 Поделиться Опубликовано 31 Июля 2014 Юрик игнорирует разговоры и идет в сторону лагеря бандитов у бетонных плит Накосячено в логике и диалогах Юрика. Однозначно.... Ссылка на комментарий
Gaz24 6 Опубликовано 31 Июля 2014 Поделиться Опубликовано 31 Июля 2014 Накосячено в логике и диалогах Юрика. Однозначно.... А могло это зависеть от ковыряния all.spawn? А то изменял одну секцию оружия и количество жизни у НПС. Ссылка на комментарий
Хемуль36рус 1 789 Опубликовано 2 Августа 2014 Поделиться Опубликовано 2 Августа 2014 (изменено) Народ, что-то не могу найти гулаг Борова в Темной. Все файлы перерыл, где логика Борова. В алспавне только val_lager_bandits. Но этот смарт так и не нашел. Поиск по файлам выдает только, что такая строка есть в task_manager, и все. Но это явно не то. val_bandit_borov с этим то понятно, а где продолжение этого скрипта, то которое в папке misc должно быть. Сама логика. Вот её я что-то никак не найду. И в папке scripts её тоже нет. Но ведь так не может быть. Изменено 9 Декабря 2014 пользователем Dennis_Chikin Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий
Gaz24 6 Опубликовано 2 Августа 2014 Поделиться Опубликовано 2 Августа 2014 (изменено) Народ, что-то не могу найти гулаг Борова в Темной. Все файлы перерыл, где логика Борова. В алспавне только val_lager_bandits. Но этот смарт так и не нашел. Поиск по файлам выдает только, что такая строка есть в task_manager, и все. Но это явно не то. Попробуй посмотреть в gulag_dark_valley.script, я искал по строчке val_bandit_borov. Есть результаты. @Хемуль36рус, Нашел в вот эти строки: [2376] ; cse_abstract properties section_name = smart_terrain name = val_lager_bandits position = 45.7057571411133,4.54276275634766,-45.8101577758789 direction = 0,0,0 version = 118 script_version = 6 ; cse_alife_object properties game_vertex_id = 1070 distance = 5.59999990463257 level_vertex_id = 231916 object_flags = 0xffffff3e custom_data = <[smart_terrain] type = val_lager_bandits capacity = 27 squad = 6 groups = 2, 15, 16 communities = bandit respawn = val_respawn_inventory_box_0001 END ; cse_shape properties shapes = shape0 shape0:type = box shape0:axis_x = 1.54359972476959,0,0 shape0:axis_y = 0,2.38599967956543,0 shape0:axis_z = 0,0,1.54359972476959 shape0:offset = 0,0,0 ; cse_alife_space_restrictor properties restrictor_type = 3 ; se_smart_terrain properties Вот этот smart terrain тебе нужен? Изменено 9 Декабря 2014 пользователем Dennis_Chikin 1 2 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти