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

ОП 2.2: Правки и модификации


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

Консольный sv_setweather <имя_погодной_секции> В ОП нынешнем заблочен :blink:? "Нажималка", кстати, его и использует.

  • Спасибо 1
  • Нравится 2

Поделиться этим сообщением


Ссылка на сообщение

@JJJ_KG_312 , попробуй для начала интереса ради gamedata\config\misc\rx_weapon_mgr покрутить.

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

 

; определение приоритета оружия:
; 0 - отключено, 1 - по цене, 2 - по параметрам, 3 - заданный вручную
mode1 = 3

 

; приоритет оружия, больше значение - выше приоритет
; используется для mode1 = 3
priors = priors_def ; секция в этом файле

 

[priors_def]

...

 

 

  • Спасибо 2
  • Нравится 2

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
10.07.2022 в 17:27, RedRevolution1917 сказал:

Задача не просто заменить уже существующие композиции, а добавить в игру новые флешки сверх тех 16, что уже есть и прописать их в торговлю разным НПС.

 

@RedRevolution1917

1. Добавить новую флешку, по аналогии с уже имеющимися в конфиге.

gamedata\config\misc\ogg_player.ltx

X - нужное нам число:

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

; Х - номер флешки.
[ogg_flash_X]:II_ANTIR
visual          = dynamics\devices\flash_01.ogf ;-- моделька флешки
description      = 
inv_name           = ogg_flash_inv_1 ;-- название в нвентаре
inv_weight       = 0.02 ;-- вес в инвентаре
inv_grid_width        = 1 ;-- размер иконок
inv_grid_height        = 1 ;-- размер иконок
inv_grid_x            = 40 ;-- положение на полотне иконок
inv_grid_y            = 40 ;-- положение на полотне иконок
cost    = 2500    ; стоимость флешки
item_use_only                = true
script_description     = descriptors.usb_flash ;-- обработчик предметов

 

Как это работает:
gamedata\scripts\descriptors.script

Скрытый текст
function usb_flash(obj,input_section)
    local section = obj and obj:section() or input_section
--* номер флешки. X.
    local flash_index=section:match("ogg_flash_(%d+)")
    if not flash_index then
        abort("! ERROR Invalid conversion on getting flash_index from "..section)
    end
    local txt=translate(config:r_string(section, "inv_name"))
    for track_index=1,12 do
--* Наименование флешки и трека. flash_X_track_Y.  Х -номер флешки, Y - номер трека [1..12] 
            local track_name="flash_"..flash_index.."_track_"..track_index
            txt=txt.."\\n%c[255,1,255,255]"
            ..translate("track_name_desc")
            .." "
            ..string.format("%02d", track_index)
            .." "
            ..":%c[255,1,255,1] "..translate(track_name)
        end
    return txt
end

X - номер  флешки из gamedata\config\misc\ogg_player.ltx

Y - номер трека для этой флешки (значения: от 1 до 12)

Название звуковых файлов:

player_ogg.script

Скрытый текст
function play_track(track_index)
    if track_index then
        player_data.track=track_index
    end
    if player_data.track ==-1 or player_data.flash == -1 then
        s_play([[ogg_player\flash_nil\sound_1]])
        return
    end
--* путь и наименование звукового файла
    local track_path=[[ogg_player\flash_]]..player_data.flash..[[\sound_]]..player_data.track
    s_play(track_path)
end

 

2. Добавленные треки (звуковые файлы) должны находится в соответствующей папке (по аналогии с существующими) и иметь нужные комментарии. Что это такое - можно посмотреть здесь. Инструментарий - например, здесь. Просто открыть уже существующие треки и добавить по аналогии в свои звуковые файлы нужные значения.

 

3. Прописать флешку нужному торговцу. 

gamedata\config\trade\имя_торговца.ltx

ogg_flash_X - наименование нашей флешки из п.1 

 

p.s.: NB! Из разряда ОБС (не проверялось). Но попробовать не долго, в любом случае. По вопросам лучше в ПМ (быстрее будет :biggrin:).

 

 

Изменено пользователем Купер
  • Спасибо 1
  • Нравится 2
  • Согласен 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

@GReYKW , доброго...

Можно, разумеется. См. archievements.script, в зависимости, что, где и когда выдаётся. Главным образом - либо инфорпоршни, либо количество необходимого. И подправить нужное при необходимости.

Поделиться этим сообщением


Ссылка на сообщение

@onix12 , вообще, оно достаточно несложно находится поиском по целевым предметам (af_soul, ammo_12.7x108).

dialogs_buusty.xml

<dialog id="barter_sahar127">

buusty_dialog.script

--* прекондишен
function _10souls_have()
	return has("af_soul",10)
end
--* экшен
function _127_108(first_speaker, second_speaker)
	lost("af_soul",10)--* отдаём
	got("ammo_12.7x108",4)--* забираем
end

и далее аналогично для других типов боеприпасов.

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

Гы, а ОП-цы, выходит, так и не сподобились унифицированную систему для обмена состряпать? Вот же ж затейники!

 

  • Спасибо 2
  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   2 пользователя

  • Куратор(ы) темы:

AMK-Team.ru

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