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

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


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

@Jekyll  Движок ковырять. А посмотреть, можешь прописать hud_fov 1.

8 часов назад, Jekyll сказал(а):

А в ТЧ как происходила отрисовка оружейных партиклов?

В ТЧ приколочено гвоздями. При попытке изменения hud_fov партиклы уедут.

  • Полезно 1
Ссылка на комментарий

Как сделать новые слоты для ножа, для рюкзака, фонарика. В каких библиотеках они редактируются? Я вроде недавно видел видос на эту тему, но теперь не могу найти. И ещё вопрос: как сделать оформление характеристик предметов в таком стиле, как в Мизери, ДА, аномали. И как сделать дозиметр, как в этих модах, чтобы значок радиации не светился, а нужно было его активировать и смотреть цифру заражения.

Ссылка на комментарий
23 минуты назад, ARTLantist сказал(а):

В каких библиотеках они редактируются?

Слоты, если на чистый ЗП - то нужно редактировать движок.

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

@ARTLantist насчет дозиметра - не совсем такой как в дэд эир, но все же дозиметр - есть в моде Izmer mod. Оттуда адаптируешь и, собственно, будет дозиметр. 

Ссылка на комментарий
3 часа назад, Romann сказал(а):

Слоты, если на чистый ЗП - то нужно редактировать движок.

Да, я знаю, что нужно ковыряться в движке. Мне нужно знать, какой файл открывать

5 минут назад, Biblia сказал(а):

@ARTLantist насчет дозиметра - не совсем такой как в дэд эир, но все же дозиметр - есть в моде Izmer mod. Оттуда адаптируешь и, собственно, будет дозиметр. 

Спасибо большое)

Ссылка на комментарий
21 минуту назад, ARTLantist сказал(а):

Да, я знаю, что нужно ковыряться в движке. Мне нужно знать, какой файл открывать

Насколько я помню, есть на ютубе видео по созданию нового слота от команды паблика в ВК "Академия 3d разработки онлайн". Правда, там они, по сути, просто в инвентаре отображали слот для ножа. Но я думаю что основные файлы, где нужно редачить - они там "засветили" 

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

И всё таки как сделать оформление характеристик предметов в таком стиле, как в Мизери, ДА, аномали. Чтобы были не просто цифры +1,+4,+6, а побольше значения и с подписями, для радиации мзв, для хп проценты и т.д.

Ссылка на комментарий
13 часов назад, ARTLantist сказал(а):

убрать звуки счётчика нпс?

Адрес звука:
    "sounds\detectors\contact_1.ogg".
    — Прописан в файлах: —
     system.ltx →
          [maingame_ui]
           snd_new_contact = detectors\contact_1
     maingame(_16).xml -->
          <new_contact_snd>detectors\contact_1</new_contact_snd>
    
    Можно поменять на "заглушку" типа "$nosound".
    Либо только через движок, там это прописано.
Ссылка на комментарий
23.01.2021 в 00:07, ARTLantist сказал(а):

полностью скрыть миникарту

"подвинуть" за пределы экрана. Папка configs\ui - копайся на здоровье :з (сорямба, прям точно подсказать щас не могу)

- Пролетарии всех стран, соединяйтесь!

 

Ссылка на комментарий
23 часа назад, WizziGun сказал(а):

"подвинуть" за пределы экрана. Папка configs\ui - копайся на здоровье :з (сорямба, прям точно подсказать щас не могу)

Я этой функцией и воспользовался. Просто интересно было, мб можно чисто как-то скрыть её, не двигая.

 

23 часа назад, WizziGun сказал(а):

 

 

Как можно убрать обновление ассортимента торговцев после перезагрузки, и обновлять его, к примеру, раз в сутки?

Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

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

Доброго времени суток. Во всех частях сталкера, включая ЗП, о котором и речь, есть функция send_tip, для которой аргументами являются news_id (текст сообщения), sender (иконка отправителя) и sender_id (story_id отправителя). Так уж получилось, что мне потребовалось вывести сообщение от имени определенного НПС. В логике все прописал, но результат: дефолтная иконка сообщения и не указывается имя отправителя. Тогда я решил немного подредактировать функцию send_tip в news_manager.script. Ее и выставляю на ваш суд. Вроде бы, все работает - теперь, задавая параметры для этой функции, будет изменяться вывод сообщения. Также с помощью нее можно отправить сообщение от НПС в оффлайне (или вообще от несуществующего персонажа, достаточно лишь добавить его имя и иконку в таблицы tips_npc_names и tips_icons)

Скрытый текст

function send_tip(actor, news_id, timeout, sender, showtime, sender_id)
    if news_id == nil then return false end
    
    local npc_name = "" -- имя отправителя
    local npc_id = ""   -- его story_id
    local obj = ""      -- объект отправителя

-- зададим имя отправителя
-- проверим, есть ли оно в таблице. Если есть, то пишем его в npc_name
    if sender_id ~= nil then 
        if tips_npc_names[sender_id] then
            npc_name = tips_npc_names[sender_id]
        end

    end

-- если имени отправителя нет в таблице, то подцепим его из клиентского объекта
    if npc_name == "" then
        npc_id = get_story_object_id(sender_id) -- получаем story_id чувака
        obj = level.object_by_id(npc_id) -- получаем объект с соответствующим story_id
        npc_name = obj:character_name() -- получаем имя чувака, соответствующее sender_id
    end
    
    if sender_id == nil then -- проверка на то, задан ли sender_id или нет
        npc_name = ""
    end

--    printf("try to send tips for [%s]", tostring(sender_id))
    if sender_id ~= nil and npc_name ~= tips_npc_names[sender_id] then
        local sim = alife()
        if sim ~= nil then
            local npc = sim:object(get_story_object_id(sender_id))
            if npc ~= nil then
                if npc.online then
                    --в онлайне проверяем на раненность
                    if xr_wounded.is_heavy_wounded_by_id(npc.id) then
                        printf("[PDA]Cannot send tips [%s], sender is heavy wounded", tostring(news_id))
                        return false
                    end
                end
                -- в других случаях только на смерть
                if npc:alive() == 1 then
                    printf("[PDA]Cannot send tips [%s], sender is dead", tostring(news_id))
                    return false
                end
            end
        end
    end

    if timeout == nil then timeout = 0 end
    if showtime == nil then showtime = 5000 end

    --' Играем дефолтный звук
    xr_sound.set_sound_play(actor:id(), "pda_tips")

    local texture = "ui_iconsTotal_grouping"
    if sender ~= nil then
        if type(sender) == "string" then
            if tips_icons[sender] then
                texture = tips_icons[sender]
            end
        end
         if tips_icons[sender] == "self" then -- если на вход подать "self", то в качестве иконки будет иконка персонажа
            texture = obj:character_icon()
        end
    end

    local news_caption = game.translate_string("st_tip")..": "..game.translate_string(npc_name)
    local news_text = game.translate_string(news_id)
    actor:give_game_news(news_caption, news_text, texture, timeout*1000, showtime, 0)

    return true
end

 

Собственно. Призываются знающие с критикой и предложениями по улучшению.

  • Спасибо 2
  • Нравится 1
Ссылка на комментарий

Хелп! Решил добавить новых дефолтных НПС. Прописал их в character_desc_general, npc_profile, spawn_sections_general. Вроде, всё как нужно, но ловлю вылет при загрузке игры. В справочниках вылетов такого не нашёл нигде. Вот лог:

[error]Expression    : !m_DefaultCharacters.empty()
[error]Function      : CSE_ALifeTraderAbstract::specific_character
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\xrServer_Objects_ALife_Monsters.cpp
[error]Line          : 351
[error]Description   : no default specific character set for class
[error]Arguments     : sim_default_hunter_1

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

Копаюсь в артах. Заметил такой баг (мб это я что-то накосячил): я ставлю артефакту

radiation_restore_speed = 0.000062

т.е. за 10 секунд, если я правильно понимаю, должно накапать 0.00062 радейки. НО, я отлавливаю уровень радиации (сделал дозиметр, он умножает уровень радиации на 10000 и выводит на экран) через 10 секунд, и мне выходит примерно 48, т.е. где-то на 30% меньше, чем нужно. Думал мб дозиметр кривой, сделал функцию фона артов в инвентаре, убедился, что он нормально работает.
Проверил на других значениях: т.е. убрал один ноль (стало 0.00062), и через 10 сек я ожидал увидеть 480 при применении дозиметра, а увидел 620. В чём прикол? Почему этот ноль так сбивает работу артефакта?

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

@ARTLantist 

5 часов назад, ARTLantist сказал(а):

Почему этот ноль так сбивает работу артефакта?

ну потому. Кто будет уточнять расчёты? В ЧН я это делал, давно. Уже не помню, но разница с ТЧ ни с чем не сравнимая. Думаю, в твоём случае, то же самое. Делай как для себя не смотря ни на что. Подгоняй значения под потребу.

21 час назад, ARTLantist сказал(а):

Решил добавить новых дефолтных НПС.

Не понял, что это означает? Дефолтных от чего?.. Тогда почему новых?.. Зачем добавлять существующее?..

Ссылка на комментарий
2 часа назад, warwer сказал(а):

Не понял, что это означает? Дефолтных от чего?.. Тогда почему новых?.. Зачем добавлять существующее?..

Дефолтных - в смысле sim_..._default_0_default_x, таких.

Подскажите, что нужно дописать в логику смарта, чтобы его сквады заспавнились только после получения определённого инфопоршня? С респавном, надеюсь, так же будет.

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

@ARTLantist артефакты под детекторы нужно настроить:

1) В секциях артефактов нужно прописать "rank = (0, 1, 2, 3)", соответственно детекторам.

2) В секциях детекторов нужно прописать артефакты, по соответсвию.

(Вот если у артефакта будет стоять "rank = 0", в таком случае ему детектор не нужен, он будет виден без него.)

Изменено пользователем Romann
  • Полезно 1
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

@ARTLantist ещё одно уточнение - в секциях детекторов, где артефакты прописаны - там есть нумерация артефактов, которая начинается от первой секции детектора и идёт до последнего детектора - неважно какие артефакты будут в каком порядке прописаны, но очень важно, чтоб номера не сбивались, чтоб всё шло по порядку, ну к примеру - если закомментировать в списке хотя бы однин артефакт, таким образом:

 

Скрытый текст

 



af_class_9                               = af_quest_b14_twisted
af_sound_9_                              = detectors\art_beep1
af_freq_9                                = 0.05, 2

af_class_10                              = jup_b1_half_artifact
af_sound_10_                             = detectors\art_beep1
af_freq_10                               = 0.05, 2

;af_class_11                              = af_compass
;af_sound_11_                             = detectors\art_beep1
;af_freq_11                               = 0.05, 2

af_class_12                              = af_drops
af_sound_12_                             = detectors\art_beep1
af_freq_12                               = 0.05, 2

af_class_13                              = af_ameba_slime
af_sound_13_                             = detectors\art_beep1
af_freq_13                               = 0.05, 2

 

То детектор перестанет видеть все артефакты после десятого. Т.е. нужно чтоб всё шло по порядку, и если убирать артефакт из списка - нужно переписывать все номера, т.е. примерно так:

Скрытый текст




af_class_9                               = af_quest_b14_twisted
af_sound_9_                              = detectors\art_beep1
af_freq_9                                = 0.05, 2

af_class_10                              = jup_b1_half_artifact
af_sound_10_                             = detectors\art_beep1
af_freq_10                               = 0.05, 2

;af_class_11                              = af_compass
;af_sound_11_                             = detectors\art_beep1
;af_freq_11                               = 0.05, 2

af_class_11                              = af_drops
af_sound_11_                             = detectors\art_beep1
af_freq_11                               = 0.05, 2

af_class_12                              = af_ameba_slime
af_sound_12_                             = detectors\art_beep1
af_freq_12                               = 0.05, 2


 

P.S.: Для спасибо не нужно отдельного поста, для этого есть специальные кнопки.

 


 

Изменено пользователем Romann
  • Спасибо 1
  • Полезно 2
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

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

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

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

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

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

Войти

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

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

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