[CoP] Ковыряемся в файлах - Страница 382 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

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


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

Отследить урон через hit_callback, начислить свою прибавку сверху (- ХП).

Ну или править движок.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Вот тут часть: [xrGame\EntityCondition.cpp] – урон, тип хита, поправка на костюм

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

А в оп 2.2 есть вообще all.spawn? Что-то не нашел. Если у кого есть распакованный - выложите пожалуйста.

4 минуты назад, mmindwork сказал:

А в оп 2.2 есть вообще all.spawn?

1. Этот вопрос нужно было задавать в ковыряльне ОП-2.2.
2. all.spawn есть, но его редактирование заблокировано движком. @SLAVN возможно тебе поможет. Вроде как, ему подсказали, как его распаковать.

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

2 вопроса.

Есть ли простой и адекватный способ замены (совмещения) particles.xr ? (на вскидку - нужно поменять партиклы аномалий, огня). Пытаясь вручную (совмещая с файлом из сткоп 2.9) - постоянно тянутся "лишние" эффекты (текстур к которым уже нет).

Пробовал открыть файл из сткопа в партикл эдиторе - прога крашит и говорит "не та версия"

 

Второй вопрос - по сути тоже самое, насчет all.spawn

Еще вопрос - по ценам Шустрого.

 

Может кто "подставить" измененные значения цен в диалоги (это оригинал):
 

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

<string id="zat_b51_stalker_nimble_place_order_12">
        <text>Тяжёлое оружие.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_121">
        <text>Запросто. Это обойдётся тебе в 30000, причём 2000 мне понадобятся сразу.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_122">
        <text>От предыдущего заказа ты отказался... Значит, этот обойдется тебе в 26000, причем 4000 понадобятся сразу.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_123">
        <text>М-м-м... Ты знаешь, наверное, я с этим помочь не смогу. Слишком большой спрос.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_13">
        <text>Особое оружие.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_131">
        <text>Особое? Ну, есть кое-что на примете... Обычная цена - 20000, из них 4000 - задаток. Ну как?</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_132">
        <text>С тобой трудно работать. Для тебя цена будет... да, 24000. Из них 8000 - задаток. Согласен?</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_133">
        <text>Как раз с этим сейчас проблемы: военные на Кордоне буйствуют... Недавно кто-то атаковал их блокпост, так что теперь с ними договориться крайне сложно.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_14">
        <text>Снайперское оружие.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_141">
        <text>Могу достать за 36000, но 4000 из них нужно будет внести заранее.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_142">
        <text>Работа с тобой связана с определённым риском... Я мог бы попробовать организовать заказ за 24000, но 8000 из них мне нужны будут заранее.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_143">
        <text>Прости, с этим туго. У поставщика по части снайпинга определенные... кхм... проблемы со здоровьем.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_15">
        <text>Бронезащита.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_151">
        <text>Есть у меня кое-что на примете... Обойдется в 40000, но 8000 из них нужно будет заплатить вперед.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_152">
        <text>Есть у меня кое-что на примете... Но ты не забрал прошлый заказ, потому этот обойдется в 48000. И 16000 из них нужно будет заплатить вперед.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_153">
        <text>Ничего лучше предыдущего набора я достать не смогу... Да и тот был в одном экземпляре.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_16">
        <text>Костюм с замкнутой системой дыхания.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_161">
        <text>Нечастый заказ... даже не знаю. Могу попробовать достать один за 30000, но тогда 6000 я пропрошу в качестве задатка.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_162">
        <text>Ты подвел меня с предыдущим заказом, так что я даже не знаю... Могу попробовать достать один за 36000, но тогда 12000 я пропрошу в качестве задатка.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_163">
        <text>Предыдущий я достал с большим трудом. Боюсь, что второго такого мне сейчас не найти.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_17">
        <text>Экзоскелет.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_171">
        <text>Серьёзный выбор!.. Думаю, я мог бы раздобыть его боевую модификацию, но это обойдется в 60000. Недёшево, но это снаряжение стоит таких денег. Учти, 12000 из них будут мне нужны прямо сейчас.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_172">
        <text>Ты не очень хорошо поступил с предыдущим заказом, так что этот обойдётся тебе в 72000. Учти, 24000 из них нужно заплатить прямо сейчас.</text>
    </string>

 

 

Если "таблица цен" вот такая:

 

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

zat_b51_costs_table[1] = {prepay_agreed = 2100,         prepay_refused = 4200,    cost = 8400}
zat_b51_costs_table[2] = {prepay_agreed = 8000,     prepay_refused = 16000,    cost = 84000}
zat_b51_costs_table[3] = {prepay_agreed = 16000,     prepay_refused = 32000,    cost = 64000}
zat_b51_costs_table[4] = {prepay_agreed = 16000,     prepay_refused = 32000,    cost = 96000}
zat_b51_costs_table[5] = {prepay_agreed = 32000,     prepay_refused = 64000,    cost = 96000}
zat_b51_costs_table[6] = {prepay_agreed = 24000,     prepay_refused = 42000,    cost = 96000}
zat_b51_costs_table[7] = {prepay_agreed = 48000,    prepay_refused = 96000,    cost = 144000}

Сам не догоняю, из чего некоторые цены составляются...

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

@DarkKel ,

prepay_agreed - задаток при хорошей репутации.

prepay_refused - задаток при плохой репутации (отказался от предыдущего заказа)

cost - оставшаяся сумма от стоимости заказа при получении.

Общая стоимость текущего заказа: (prepay_agreed+cost) либо (prepay_refused+cost) в зависимости от отношения Шустрого к  протагонисту.

 @Купер Суть в том, что я не понимаю, что писать например тут:
    <string id="zat_b51_stalker_nimble_place_order_121">
        <text>Запросто. Это обойдётся тебе в 30000, причём 2000 мне понадобятся сразу.</text>
Есть, где задаток 2к, но нет где общая 30к. Следовательно она "из чего-то составная", и вот какая цена получается с учетом изменений в таблице? Где и как это понять? )

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

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

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

@DarkKel
 

<string id="zat_b51_stalker_nimble_place_order_121">
    <text>
    Запросто. Это обойдётся тебе в price = prepay_agreed + cost , причём prepay_agreed мне понадобятся сразу.
    <!-- price = prepay_agreed + cost, 30000 = 2000 + 28000 -->
    </text>
</string>

 

16 минут назад, Купер сказал:
<string id="zat_b51_stalker_nimble_place_order_121">
    <text>
    Запросто. Это обойдётся тебе в price = prepay_agreed + cost , причём prepay_agreed мне понадобятся сразу.
    <!-- price = prepay_agreed + cost, 30000 = 2000 + 28000 -->
    </text>
</string>

Суть в том, что в базовой таблице нет коста 28к (во всяком случае изначально)

Ну так и стоит дробовик - не 30000 тугриков:

    <string id="zat_b51_stalker_nimble_place_order_12">
        <text>Оружие для ближнего боя.</text>
    </string>
    <string id="zat_b51_stalker_nimble_place_order_121">
        <text>Запросто. Это обойдётся тебе в 10000, причём 2000 мне понадобятся сразу.</text>
    </string>

 

zat_b51_costs_table[2] = {prepay_agreed = 2000,     prepay_refused = 4000,    cost = 8000}

2000+8000 = 10000

Изменено пользователем Купер

@Купер .. Понял в чем недопонимание. В моем варианте нет "оружие ближнего боя", вместо него "тяжелое оружие"... Для него изменена вторая строчка таблицы, а я сравнивал с ванильной таблицей (где это, соответственно, "оружие ближнего боя") ))


 

23 часа назад, DarkKel сказал:

я не понимаю

А просто умножить все "числа" на 2 (или любое нужное тебе) не прокатит? Зачем заморачиваться?

Здравствуйте.

Столкнулся с очередной аномалией Зоны, пытаясь сделать небольшую сценку с кровососом.
Я использовал схему “mob_walker”, расставил пути, назначил время, режим невидимости, бег. Всё прекрасно работало... До тех пор пока я не добавил анимацию “attack” в одну из look-точек.
Не знаю, как правильно описать происходящее с кровососом, он как бы перестал “попадать” в соответствующую walk-точку. Бегает вокруг нее, пытаясь на неё попасть, но так и не останавливается. По истечении назначенного времени, нормально бежит к следующей точке.
Это происходит только с одной точкой пути и только с анимацией “attack”. На других точках эта анимация отрабатывает нормально, и на “проблемной” точке с другими анимациями проблем нет.
Несколько раз компилировал AI-сетку и пересобирал spawn, перемещая “проблемную” точку и редактируя сетку – ничего не помогает.
Пожалуйста, подскажите, как решить проблему.

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

Добрый день, такой вопрос создаю Спейс рестрикер с помощью алл спавна, приписываю ему логику, дал нужные координаты и радиус, но он не работает , или я не правильно делаю, все функции должны вызываться из xr_effect? И нужно ли где то регистрировать спейс рестрикер?

Вот мои данные о спавне и логики.

 

Скрытый текст
[logic]
active = sr_idle@wait

[sr_idle@wait]
on_info = {=actor_in zone(pri_restrictor_1)} sr_idle@wait1 

[sr_idle@wait1]
on_info = sr_idle@end % =give_task(pri_merc_mex_flesh)%

[sr_idle@end]

Секция алл.спавна

[5770]

; cse_abstract properties
section_name = space_restrictor
name = pri_restrictor_1
position = -247.21377563477,-0.42499497532845,-86.745658874512
direction = 0,-0,0
version = 128
script_version = 12

; cse_alife_object properties
game_vertex_id = 666
level_vertex_id = 403978
object_flags = 0xffffff3e
custom_data = <<END
[story_object]
story_id = pri_restrictor_1
[logic]
cfg = scripts\pripyat\restrictor_nacalo.ltx; путь до логики.
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 10

; cse_alife_space_restrictor properties
restrictor_type = 3

 

@Vortex sky В логике ошибка в имени функции "actor_in_zone", но рестриктор не работает не поэтому.

Логику можно сократить до следующей:

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

[logic]
active = sr_idle@wait

[sr_idle@wait]
on_actor_inside = nil %=give_task(pri_merc_mex_flesh)%

 

Функции из условий (фигурные скобки) должны быть в "xr_conditions", а из действий (значки процентов) - в "xr_effects".

Для функции "actor_in_zone" story_id рестриктору задавать не нужно, он берется по имени. Из логики самой зоны лучше использовать "on_actor_inside".

Регистрировать рестриктор нигде не надо.

 

Вообще-то всё вроде правильно сделано, странно, что не работает. При ошибках был бы вылет...

Проверяй координаты, game_vertex_id и level_vertex_id. После редактирования "all.spawn" нужна НИ.

 

  • Спасибо 1

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

Добрый день, случился вылет, не могу прописать эксклюзивную логику скваду из одного человека  на смарте а21(гастроном) Припять.

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

[logic]
active = walker1
danger = danger_ignore
commander = true
suitable = {-pri_ecolog_give =check_npc_name(pri_ecolog_kohevnikov)} true
level_spot = medic
 
[walker1]
path_walk = pri_a21_smart_terrain_surge_2_walk
path_look = pri_a21_smart_terrain_surge_2_look
def_state_moving1 = rush
 

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

[smart_terrain]
squad_id = 23
max_population = 2
arrive_dist = 10


[exclusive]
pri_ecolog_kohevnikov = pripyat\ecolog_kohevnikov_logic.ltx

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

Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ...talker call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)
 

Самому НПС в файле  spawn_sections я прописал кастом дату путь до логики

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

[pri_ecolog_kohevnikov]:stalker
$spawn = "respawn\pri_ecolog_kohevnikov"
character_profile = pri_ecolog_kohevnikov
spec_rank = novice
community = ecolog
custom_data = scripts\pripyat\ecolog_kohevnikov_logic.ltx
story_id = pri_ecolog_kohevnikov

В чем может быть проблема? и вообще возможно ли создавать эксклюзивную логику на этом смарте? Заранее спасибо

Сквад на прачечной работает исправно, а вот на гастрономе вылет.

@Vortex sky, ошибка в имени секции работы.

При регистрации эксклюзивной работы в смарте нужно делать так:

    Секция exclusive

        pri_ecolog_kohevnikov = pripyat\ecolog_kohevnikov_logic.ltx

    Файл логики начинается с секции

        [logic@pri_ecolog_kohevnikov]

    В custom_dat'у персонажа файл логики прописывать не надо.

 

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

    [walker@1]

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

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

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

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

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

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

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

Войти

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

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

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