Перейти к контенту

h0N0r

Проверенные
  • Число публикаций

    63
  • Регистрация

  • Последнее посещение

О h0N0r

  1. [CoP] Ковыряемся в файлах

    Попробуй поменять здесь: \configs\system.ltx, [hud_sound] hud_sound_vol_k = 0.38 ; себе поставил 1.0 и 0.85 (в ЧН, hud_sound_vol_k = 0.85f) hud_step_sound_vol_k = 0.21
  2. [SoC] Вопросы по SDK

    В converter.ini есть такое: [2xxx_fake_mu_gamemtls], [2xxx_fake_gamemtls] и [2xxx_inadhesive_shaders] - можно поэкспериментировать с их настройками.
  3. Мастерская по разбору "вылетов" X-Ray

    stack trace: 0023:04D92EB1 xrGame.dll, CDialogHolder::CDialogHolder() Вылет (ЗП 1.6.02) происходит при убийстве нпс, если добавить в \configs\ui\map_spots_relations.xml, <deadbody_location hint="st_corpse"> <level_map spot="deadbody_mini_spot"/> ; добавлено - отображение на карте в пда <mini_map spot="deadbody_mini_spot"/> </deadbody_location> хотя, если спавнить трупы нпс, то они нормально отображаются на карте.
  4. [SoC] Ковыряемся в файлах

    @ed_rez , а что там за косяки с бампами в ЧН? @BFG , давно использую немного изменённый скрипт (вывод позиции гг) бардака: в \scripts\_g.script добавить, function vec_to_string(vector) if vector == nil then return "nil" end return string.format("%s,%s,%s", vector.x, vector.y, vector.z) end в \scripts\ui_main_menu.script, в функцию function main_menu:OnKeyboard, где действия на опр. кнопки, if dik == DIK_keys.DIK_P then if (level.present() and db.actor ~= nil and db.actor:alive()) then local pos = db.actor:position() local gvid = db.actor:game_vertex_id() local lvid = db.actor:level_vertex_id() local lv = level.name() local pos2 = level.vertex_position(lvid) local ai = pos2:distance_to(pos) <= 0.7 console:execute("load log:"..string.format("actor_pos: %s,%s,%s,%s,%s", vec_to_string(pos), tostring(gvid), tostring(lvid), tostring(lv), tostring(ai))) end end Ид кнопки (DIK_P) можно взять из \scripts\lua_help.script, class DIK_keys. В консоли, при нажатии, будет: actor_pos: 0.0,0.0,0.0,92,66380,l05_bar,true - где true / false - наличие аи-сетки.
  5. [SoC] Вопросы по SDK

    Проверь, может что-то пропустил: - переключиться в Detail Objects, далее Scene - Options - Base Texture - назначить текстуру _det и поставить галочку Draw objects (показ травы в сдк), - в Snap List - добавить террейн, - в DO Commands - Object List - загрузить файл .dti c раскидкой травы по цвету, после First Initialize
  6. [CoP] Ковыряемся в файлах

    Не было случая проверить, но из xr_smartcover.script,281 weapon_type = none ;strapped ;unstrapped
  7. [SoC] Ковыряемся в файлах

    в ТЧ, story_id для объектов задаётся в all.spawn - либо спавнить нпс через него, либо попробовать ставить метку по имени секции / профилю нпс. И ещё, подобные метки исчезают при следующей загрузки игры / смена уровня, для вечных / по условию - следует добавить нужное в имяуровня_tasks.script, функция process_info_portion. Он в сталкере условно бесконечный (inventory_new.xml, <dragdrop_bag unlimited="1"...), т.к есть ограничение на количество игровых ид для объектов, коих максимально 65535. Из этого числа следует отнять количество секций в all.spawn, все точки графа, лут нпс из character_desc_ и лут торговцев - точнее можно посмотреть в логе при сохранении игры, там перед созданием .sav, будет текущее количество объектов в игре. Ещё следует отнять примерный резерв на будущий лут в тайниках, а также сталкеров с их лутом и монстров, которые заспавнятся, чтобы заполнить смарты. И то, что остаётся, грубо говоря, есть количество предметов, которое может таскать гг в рюкзаке. А про ограничение, есть какой-то мод, где учитывается объём предметов.
  8. Скриптование

    Понадобилось заспавнить немного лута на локе (сверх того, что расставлено через сдк), но у способа через скрипт (alife():create) есть недостаток - предмет оказывается на ближайшей аи-ноде, что делает невозможным спавнить данным методом на крышах и т.п. В сдк просто - выключил у предмета "used ai locations", и всё нормально. Немного поизучал, что от чего зависит, и в итоге добавил "self:use_ai_locations(false)" в se_item.script (на примере se_eatable (ЗП) - аптечки, еда): function se_eatable:on_register() ... self:use_ai_locations(false) end После этого предмет остаётся в нужных координатах, и остаётся там при сейв / лоаде / онлайн / оффлайн. И всё же в скриптах разбираюсь самую малость, и хотелось узнать от знающих людей - правильное ли такое решение и не будет потом багов?
  9. [SoC] Ковыряемся в файлах

    В sie, выбрать пользовательская сетка, и выставить, ширина - 128, высота - 320 (или 64х64). Там эту опцию не видно, надо программу развернуть.
  10. [SoC] Ковыряемся в файлах

    Helgi,Для ps в разделе guides, grid - gridline every: 64, subdivisions: 1. \gamedata\config\misc\outfit.ltx ... [novice_outfit] ... full_icon_name = npc_icon_novice_outfit \gamedata\config\ui\ui_icons_npc.xml <ui_texture> <file_name>ui\ui_icons_npc</file_name> ... <texture id="npc_icon_novice_outfit" x="0" y="704" width="128" height="320"/> ... </ui_texture> Дефолтные иконки (получше оригинала): https://yadi.sk/d/GE71cmQA38HQnC
  11. [SoC] Ковыряемся в файлах

    aka_sektor,был такой вылет (в справочнике его описание есть лечение), для всех предметов из [buy_menu_items_place] (для какого-то типа игры) - должны быть цены в [_base_cost]
  12. [SoC] Ковыряемся в файлах

    MADMAX666,в том же boar.ltx есть секция [boar_attack_params_weak] (также _normal / _strong), там настройки его атак (3-й параметр как раз за силу импульса). Подобные настройки есть для всех мутантов. Также возможно, что параметр ph_mass у игрока / сталкера влияет на силу получаемого импульса.
  13. [SoC] Ковыряемся в файлах

    BFG, все примеры есть в оригинальном textures.ltx Подобное уже делал, только через thm. Если надо, могу дать ссылку на архив (thm для всех текстур ТЧ 1.0006, где у некоторых исправлены несоответствия в бампах / детейлах). BFG, https://drive.google.com/open?id=0BwlXPNoS90icSGFkVTdEZ3IwTWM
  14. [CoP] Ковыряемся в файлах

    Rozben,Дабы не плодить лишних файлов для нпс-статистов: \jup_a6.ltx [exclusive] ... jup_a6_jurnalist = jupiter\jup_a6_logic.ltx --- \jup_a6_logic.ltx (на основе ковера Коряги) ... [logic@jup_a6_jurnalist] active = animpoint@jup_a6_jurnalist suitable = {=check_npc_name(jup_a6_jurnalist) =npc_in_zone(jup_a6_sr_noweap)} true prior = 200 [animpoint@jup_a6_jurnalist]:animpoint@jup_a6_animp_gen_reach cover_name = jup_a6_animp_jurnalist on_info = {=npc_in_zone(jup_surge_hide_a6)} animpoint@jup_a6_jurnalist_reached [animpoint@jup_a6_jurnalist_reached]:animpoint@jup_a6_animp_gen cover_name = jup_a6_animp_jurnalist --- avail_animations = animpoint_sit_normal ; это нужно для использования другой анимки (кат-сцены), например ковер сидячий (loopholes: sit), а в игре будет лежать (avail_animations = zat_b106_wounded_idle, спец анимки из state_mgr_scenario.script) Сам ковер должен находиться на аи-сетке и иметь точные lv/gv-вертексы (во избежании при переходе оффлайн/онлайн, перемещения нпс в начало lv/gv для текущей карты, для Юпитера это район плавней) В составе зп-сдк, есть папка help (куча инфы), там есть справка по логике (Gamedesigner_education.pdf).
×