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

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

Рекомендуемые сообщения

weapon = "none" --' Оружие убрано совсем; "strapped" - на спине, "unstrapped" - в руках

movement = move.stand, --' непись стоит на месте (ещё бывает move.walk - ходьба, move.run - бег)

mental = anim.free, --' Непись в свободном состоянии (ещё бывает anim.panic - шарахаться от всего недружески настроенного, anim.danger - напряжённое состояние)

bodystate = move.standing, --' Состояние тела: стоим ровно (ещё бывает move.crouch - присесть)

animstate = "stand", --' Состояние анимации - в ТЧ везде, кроме сидячих и спящих анимаций ставим "stand"

animation = "raciya" --' Имя анимации

 

Если подставить перед этими параметрами state_mgr_, то получим

state_mgr_weapon, state_mgr_movement, state_mgr_mental и т.д. - имена скриптов, для которых эти параметры задаются.

Изменено пользователем Полтергейст
Ссылка на комментарий

Если разбить лампы и перейти к диалогу с представителем О-сознания, то задание "найти монолит" засчитывается как проваленное.

Как сделать, чтобы проваливались при этом и удалялись из списка активных заданий не только это, но и все, что находятся в данный момент в ПДА игрока?

Стримы по STALKER и модам, twitch, ник SergGraduss. И группа ВК Бар "Ручная Химера. Для сталкеров. 
Анонсы стримов на АМК: https://www.amk-team.ru/forum/topic/14146-strimy-ot-serggraduss-ex-mutantt/

 

Ссылка на комментарий
gruber, во это спасибо, выручил однако! Столько людей на уши подная... :good2:
Ссылка на комментарий

Все мы знаем, что при заходе игры начинает играть музыка в меню. Итак: можно ли сделать так чтобы при заходе играл сначала любой другой звук, любая другая музыка, но только 1 раз при заходе в меню, а повторяться уже должна оригинальная музыка. Если же мы находимся в игре и нажали эскейп, то снова выйдем в меню и в этом случаи должна играть и повторяться оригинальная музыка. Звук должен быть всегда только при включении и только 1 раз.

Изменено пользователем Starter

ЯДиск папка с крутым схроном!

Ссылка на комментарий

Вопрос к оружейникам. Вот допустим добавляю новые стволы в Солянку. Ремингтон 870, по TTX самый мощный в игре, а полосочка "повреждение" у него чуть выше чем у АК74. Что интересно, при правке TTX стволов Солянки, с увеличением TTX, вырастает и полосочка. А вот в новых стволах нет. Так-же это и касается некоторых стволов Солянки, M4 SOPMOD, Израильская пушка (непомню название) и некоторых других. Кто подскажет, в чем секрет полосочки "повреждение"? Что вообще отвечает за ее отображение?

Пусть наша кровь станет в пасть им ядом смертельным! (с)
Ссылка на комментарий

http://stalkerin.gameru.net/wiki/index.php...n_params.script

 

 

Изменено пользователем KitkaT.Net

Ничто не вечно под луной.

Ссылка на комментарий
@"StreloK", распаковываешь all.spawn и меняешь координаты, затем запаковываешь. :ny_use_search:
Ссылка на комментарий

Подскажите мне. Как называется лицо actor'a в папке textures\act

Проц: Intel Core x2 2.4 Ггц. Разогнаный до 3.9 Ггц.

ОС: Windows 7 Максимальная x64 bit

ОЗУ: 4000 мб.

Видеокарта: Nvidia 8600 GT

 

 

Ссылка на комментарий

@"StreloK" - в алл_спавне.

vavilov8 - а просто полистать трудно ;) ? Распаковал, поставил XnVien (он ДДС открывает) и листай текстурки.


256 символов
Ссылка на комментарий
Starter, в папке ambient их найдешь... хотя это немного другое! Глянь в nature! :ny_dry:
Ссылка на комментарий

Решил добавить в игру новые гранаты для подствольника. Прописал конфиги в

weapons.ltx, сделал описания и прописал торговцу. Гранаты появляются в продаже, заряжаются в подствольник, стреляют. Описания нужные.

При переходе на другую локу приходится убирать подствольник - иначе вылет без лога. Куда еще их нужно прописывать..?

ЗЫ...В prefetch прописал...

В mp_ranks?
Тоже прописал...Не знаю правильно или нет...Просто нашел поиском где vog-25 и добавил свои. Кстати если прописывать в другие строки - вылет при загрузке игры... Изменено пользователем _Val_
Ссылка на комментарий

FLIKER, с наступающим Новым Годом! Вот код из скрипта amk_mod.script:

-- БТР на блокпосту
function spawn_military_btr()
    spawn_military_tech_pack( alife():create("vehicle_btr",vector():set(-168.11, -29.71, -303.21),81808,38 ) ,"vehicle_btr")
    spawn_military_tech_pack( alife():create("vehicle_btr",vector():set(-237.85, -26.23, -378.81),17147,14 ) ,"vehicle_btr")
    spawn_military_tech_pack( alife():create("helicopter",vector():set(-150.0,-40.0,-620.0),128298,11 ) ,"helicopter")
end

function spawn_military_tech_pack(obj, spawn_item)    
    local packet = net_packet()
    obj:STATE_Write(packet)

    -- свойства cse_alife_object
    local game_vertex_id = packet:r_u16()
    local cse_alife_object__unk1_f32 = packet:r_float()
    local cse_alife_object__unk2_s32 = packet:r_s32()
    local level_vertex_id = packet:r_s32()
    local object_flags = packet:r_s32()
    local custom_data = packet:r_stringZ()
    local story_id = packet:r_s32()
    local cse_alife_object__unk3_s32 = packet:r_s32()

    -- свойства cse_visual
    local model_visual = packet:r_stringZ()
    local cse_visual__unk1_u8 = packet:r_u8()
    local motion_name
    if spawn_item == "helicopter" then
        -- свойства cse_motion
        motion_name = packet:r_stringZ()
    end

    -- свойства cse_ph_skeleton
    local skeleton_name = packet:r_stringZ()
    local cse_ph_skeleton__unk1_u8 = packet:r_u8()
    local cse_ph_skeleton__unk2_u16 = packet:r_u16()
    local health 
    local cse_alife_helicopter__unk1_sz 
    local engine_sound 
        
    if spawn_item == "helicopter" then
        -- свойства cse_alife_helicopter
        cse_alife_helicopter__unk1_sz = packet:r_stringZ()
        engine_sound = packet:r_stringZ()
    elseif    spawn_item == "vehicle_btr" then
        health = packet:r_float()
    end
    
    -- теперь заполняем нужные параметры
    -- свойства cse_alife_object
    packet:w_begin(game_vertex_id)
    packet:w_float(cse_alife_object__unk1_f32)
    packet:w_s32(cse_alife_object__unk2_s32)
    packet:w_s32(level_vertex_id)
    object_flags = bit_not(5)    -- ~5 = 0xfffffffa
    packet:w_s32(object_flags)
    if spawn_item == "helicopter" then
        packet:w_stringZ("[logic]\ncfg = scripts\\esc\\esc_blockpost_heli.ltx")
    elseif    spawn_item == "vehicle_btr" then
        packet:w_stringZ("[logic]\ncfg = scripts\\esc\\esc_blockpost_btr.ltx")
    end
    packet:w_s32(-1)
    packet:w_s32(cse_alife_object__unk3_s32)

    -- свойства cse_visual
    packet:w_stringZ(model_visual)
    packet:w_u8(cse_visual__unk1_u8)
    
    if spawn_item == "helicopter" then
        packet:w_stringZ(motion_name)        
    end 
    
    -- свойства cse_ph_skeleton
    skeleton_name = "idle"
    packet:w_stringZ(skeleton_name)
    packet:w_u8(cse_ph_skeleton__unk1_u8)
    packet:w_u16(cse_ph_skeleton__unk2_u16)

    if spawn_item == "helicopter" then
        -- свойства cse_alife_helicopter
        cse_alife_helicopter__unk1_sz = "idle"
        engine_sound = "alexmx\\helicopter"
        packet:w_stringZ(cse_alife_helicopter__unk1_sz)
        packet:w_stringZ(engine_sound)
    elseif  spawn_item == "vehicle_btr" then
        health = 1
        packet:w_float(health)
    end    
    -- считываем скорректированные параметры
    packet:r_seek(0)
    obj:STATE_Read(packet, packet:w_tell())
end

 

Ссылка на комментарий

Кто-нибудь может подсказать, почему это движок вдруг перестал видеть функцию initialize_if_needed() в smart_terrain.script? Что делал:

Поставил поле m_smart_terrain_id в se_stalker и se_monster, в котором записывается id смарта, в котором npc сейчас. В сохранение/загрузку тоже добавил. После этого заменил все обращения к функции <серверный объект>:smart_terrain_id() на <серверный объект>.m_smart_terrain_id.

 

Вся фишка в том, что smart_terrain.script работает (проверял schecker'om), но функцию всё равно потерял из виду во время игры (!!!). ППЦ какой-то, как такое вообще может быть? Помогите кто-нибудь.

 

Ошибка проявляется при вызове этой функции из xr_gulag.setup_gulag_and_logic_on_spawn

В последний момент успеваю заметить стоящего, как столб, непися.

 

И ещё такой вопросик: нафига smart_terrain'у двойное обновление? Одно вызывается симулятором, другое через биндер. Какой в этом смысл?

Изменено пользователем Полтергейст
Ссылка на комментарий

Е мае, ни как не могу настроить время выброса чтобы шол минут 10-15 игровых, кто нибудь может сказать точно как это зделать

 

Вроде получилось зделать, но если кто ответит подробно, это приветствуется

Изменено пользователем FANAT

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

Ссылка на комментарий

Нужен ликбез:

 

Монстры/неписи визуально совершают какие-то движения - скажем, сидят, потом побежали, потом развернулись, еще что-то сделали... С началом/концом каждой фазы наверняка связан какой-то код. Прочитанное намекает, что это - state_mgr*.script. Но там внутри много всего, и все равно непонятно, как это соотносится с наблюдаемым визуально. Задача: узнать, из откуда-нибудь (хоть вывести в лог из того же стэйт-менеджера, лишь бы это было как можно проще): что сейчас происходит визуально. То есть, что начал делать данный непись, делает ли он это, или уже повис, и момент, когда он наконец закончил делать то, что начал, если вообще закончил.

 

Ткните носом во что-нибудь ?

 

Полтергейст, со стэком - я, кажется, нашел архитектурную проблему в более другом месте. Сейчас осмысливаю. Коротко, если вдруг есть возможность заменить у объектов методы can_switch_*() на переменную - должно ощутимо полегчать во многом разном. А вот с состояниями - в том-то и дело, что вылеты. Без логов. Со специфическим визуальным проявлением. Хочется докопаться до причин. Достаточно было бы в нужных местах вставить диагностику: кто последний - тот, очевидно, и виноват.

 

P.S. smart_terrain проще, imho, закрасить, чем отскребать. Это - ад.

 

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

Смена состояний вызывается отчасти из move_mgr, отчасти зависит от движковых состояний (mental_state, danger_objects и других). Иногда вызывается из схем поведения (xr_*).

Соответствие скриптов state_mgr* друг другу хранится в state_lib.

 

Лучше их вообще не трогать, если работают. Я уже писал, что пробовал переносить новый state_mgr от ЗП, но без проблем не обошлось. Пришлось откатить обратно, но старый скрипт периодически вызывает "C Stack overflow", особенно когда в онлайне много неписей.

 

Для монстров всё попроще, один скрипт mob_state_mgr.

Изменено пользователем Полтергейст
Ссылка на комментарий

Извините за вопрос: не подскажите

 

производительность

 

1)Где и как нужно прописать бамп# текстуры? (обычные я нашол)(при не прописаных бамп# текстурах в консоли игры они прописаны красным)

2)Звуки в игре тоже где-то надо вписывать ? поскольку новые в консоле горят красным.

3)Если новые модельки оружия и нпс прописать в prefetch и _prefetch это улучшит производительность?

4)Игра может виснуть из за того что всё новое оружие и костюмы продаются только у одного торговца и только на одной локации (для теста)

 

Куфзук,

Спасибо за внятные ответы

 

3) наверное из за того чтобы сталкер быстрее находил нужные модельки

4)При загрузки тоже жестокие лаги на стадии загрузки текстур и синхронизации

 

5)как грамотно дублировать строчку available_items в конфике mp_ranks чтобы она шла в 2 строки без вылетов?

6)Оружие надо прописывать во всех строчках available_items ? или можно только в первой с верху?

Изменено пользователем Snork_7171

Снорки рулят.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...