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

h0N0r

Опытные
  • Число публикаций

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

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

  • Дней в топе

    2
  • AMKoin

    5,389 [Подарить AMKoin]

Весь контент пользователя h0N0r

  1. h0N0r

    [SoC] Вопросы по SDK

    На панели слева (под снап-листом), называется reference select.
  2. h0N0r

    [SoC] Вопросы по SDK

    По лодам, в Library Editor у всех levelname_lod.object проверить в свойствах, чтобы было Multiple Usage. Если б мне нужно было превратить декомпил в компил, то заменил бы часть объектов на нормальные: т.е. выделил, например тополь (он там какой-нибудь l04_darkvalley_lod0007), затем выделение всех, соответствующие этому типу (через =%), далее свойства - reference - выбрать нужный объект, для тополя: trees\new_trees\trees_topol_1_01, затем можно ещё сделать Multi Rename (чтобы в списке объектов отличать декомпил от нормальных).
  3. Нужно ещё добавить в attachable_items (m_stalker.ltx).
  4. Eсть ещё третий вариант, который позволяет у любого объекта в all.spawn, всё что находится между custom_data = <<END ... END, вынести в отдельный файл. Пример: custom_data = #include "scripts\l01_escape\other\esc_level_changer.ltx"<<END custom_data = #include "scripts\l03_agroprom\smart\agr_nii.ltx"<<END custom_data = #include "scripts\l07_military\respawn\mil_monster_rush_respawn.ltx"<<END custom_data = #include "scripts\l12u_sarcofag\other\light_sharnir_1_0001.ltx"<<END
  5. h0N0r

    Худ

    За моды не скажу, но в оригинале: zone_map.xml (или _16, если монитор на 16:9), ... <level_frame x="10" y="13" width="164" height="162"/> - координаты миникарты <background x="0" y="0" width="185" height="192"> - координаты рамки <texture>ui_hud_map</texture> - текстура рамки
  6. h0N0r

    [SoC] Вопросы по SDK

    Версия конвертёра от 2015-06-24 и la_dc_1_4005 (для теста пара уровней под зп-сдк): la01_escape (перед декомпилом удалить level.som, иначе [bug] assertion failed at ..\level_aux_mesh.cxx:94) la17_outskirts Уровни нормально загружаются, хотя и долго - ибо у первого >7000 партов, у второго >6000.
  7. @Кое-Кто 11 , труп полтера удаляется в bind_monster.script (death_callback): local obj_clsid = self.object:clsid() if obj_clsid == clsid.poltergeist_s then printf("releasing object ["..self.object:name().."]") if alife():object(self.object:id()) ~= nil then alife():release(alife():object(self.object:id()), true) end end Попробуй стереть / закомментировать данный блок.
  8. Попробуй поменять здесь: \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
  9. h0N0r

    [SoC] Вопросы по SDK

    В converter.ini есть такое: [2xxx_fake_mu_gamemtls], [2xxx_fake_gamemtls] и [2xxx_inadhesive_shaders] - можно поэкспериментировать с их настройками.
  10. 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> хотя, если спавнить трупы нпс, то они нормально отображаются на карте.
  11. @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 - наличие аи-сетки.
  12. h0N0r

    [SoC] Вопросы по SDK

    Проверь, может что-то пропустил: - переключиться в Detail Objects, далее Scene - Options - Base Texture - назначить текстуру _det и поставить галочку Draw objects (показ травы в сдк), - в Snap List - добавить террейн, - в DO Commands - Object List - загрузить файл .dti c раскидкой травы по цвету, после First Initialize
  13. Не было случая проверить, но из xr_smartcover.script,281 weapon_type = none ;strapped ;unstrapped
  14. в ТЧ, story_id для объектов задаётся в all.spawn - либо спавнить нпс через него, либо попробовать ставить метку по имени секции / профилю нпс. И ещё, подобные метки исчезают при следующей загрузки игры / смена уровня, для вечных / по условию - следует добавить нужное в имяуровня_tasks.script, функция process_info_portion. Он в сталкере условно бесконечный (inventory_new.xml, <dragdrop_bag unlimited="1"...), т.к есть ограничение на количество игровых ид для объектов, коих максимально 65535. Из этого числа следует отнять количество секций в all.spawn, все точки графа, лут нпс из character_desc_ и лут торговцев - точнее можно посмотреть в логе при сохранении игры, там перед созданием .sav, будет текущее количество объектов в игре. Ещё следует отнять примерный резерв на будущий лут в тайниках, а также сталкеров с их лутом и монстров, которые заспавнятся, чтобы заполнить смарты. И то, что остаётся, грубо говоря, есть количество предметов, которое может таскать гг в рюкзаке. А про ограничение, есть какой-то мод, где учитывается объём предметов.
  15. h0N0r

    Скриптование

    Понадобилось заспавнить немного лута на локе (сверх того, что расставлено через сдк), но у способа через скрипт (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 После этого предмет остаётся в нужных координатах, и остаётся там при сейв / лоаде / онлайн / оффлайн. И всё же в скриптах разбираюсь самую малость, и хотелось узнать от знающих людей - правильное ли такое решение и не будет потом багов?
  16. В sie, выбрать пользовательская сетка, и выставить, ширина - 128, высота - 320 (или 64х64). Там эту опцию не видно, надо программу развернуть.
  17. 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
  18. aka_sektor,был такой вылет (в справочнике его описание есть лечение), для всех предметов из [buy_menu_items_place] (для какого-то типа игры) - должны быть цены в [_base_cost]
  19. MADMAX666,в том же boar.ltx есть секция [boar_attack_params_weak] (также _normal / _strong), там настройки его атак (3-й параметр как раз за силу импульса). Подобные настройки есть для всех мутантов. Также возможно, что параметр ph_mass у игрока / сталкера влияет на силу получаемого импульса.
  20. BFG, все примеры есть в оригинальном textures.ltx Подобное уже делал, только через thm. Если надо, могу дать ссылку на архив (thm для всех текстур ТЧ 1.0006, где у некоторых исправлены несоответствия в бампах / детейлах). BFG, https://drive.google.com/open?id=0BwlXPNoS90icSGFkVTdEZ3IwTWM
  21. 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).
  22. UnLoaded,Если нужен, чтобы один из вариантов ответа (завершающий диалог) был всегда, то можно делать так: ... <start_dialog>npc_start_dlg</start_dialog> <actor_dialog>actor_dlg_01</actor_dialog> <actor_dialog>actor_dlg_02</actor_dialog> #include "gameplay\character_dialogs.xml" (базовые диалоги: привет - пока, дать аптечку)
  23. h0N0r

    [SoC] Вопросы по SDK

    scala, у тебя куда установлен сдк? Если в program files - попробуй перед компилом запустить mountDisks (в сдк, папка scripts_plugins) - это нужно для 3d-редакторов, хотя может быть и для компиляторов необходимо. Твой террейн компилировал (компиляторы х64 отсюда http://xray-engine.org/),на win7x64, сдк установлен на другом диске (d:\apps\sdk_soc\) и без запуска mountDisks.
×
×
  • Создать...