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

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

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

1 час назад, WinCap сказал:

Скажи ещё, что и без N++

Не скажу, без этого никуда. А вместо ТС пользую FAR, привык давно и штука неплохая.

Сталкер - наше всё!

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

Привет всем. Как можно удалить у актора все из рук и инвентаря, кроме бинокля, болта, ПДА и фонарика? Проще говоря, ограбить. Пробовал так:

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

function clear_inventory()
    local cnt = db.actor:object_count()
    for i=0, cnt-1 do
        local item = db.actor:object(i)
        local sobj = alife():object(item:id())
    if sobj and sobj ~= db.actor:item_in_slot(4) or
        sobj ~= db.actor:item_in_slot(5) or
        sobj ~= db.actor:item_in_slot(7) or
        sobj ~= db.actor:item_in_slot(9) then
            alife():release(sobj,true)
        end
    end
end

но что-то не выходит. Просьба сильно не бить: со скриптами не особо дружу. :biggrin:

(На всякий пожарный - функцию засунул в xr_effects.script и вызывал из спейс-рестриктора)

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

@Muzafir

Зачем для объектов ты получаешь их серверные сущности, а потом пытаешься сравнивать клиентскую и серверную часть объекта? Убери local sobj = alife():object(item:id()) и переделай проверку так:

if item and item ~= db.actor:item_in_slot(4) or и далее так же. Вместо for посмотри в сторону inventory_for_each, как раз то что тебе требуется.

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

Подскажите пожалуйста, как изменить группировку у ГГ в середине игры (сейчас ГГ на армейских складах, остался только квест у Шурупа)? Я так поняла, нужно скрипт свой создавать, в нем функцию прописывать, и как-то к диалогу привязывать (или на кнопку назначать для его выполнения при нажатии "esc"). Это я на просторах интернета нашла, но там никто толком не объяснил как это сделать. Может тут помогут...

Изменено пользователем cs_Genius_cs
Ссылка на комментарий
6 минут назад, AndreySol сказал:

@cs_Genius_cs

Вам просто надо пройти какой-то мод или оригинальную игру?

Оригиналная версия (стим).

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

@cs_Genius_cs

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

Ссылка на комментарий
5 минут назад, AndreySol сказал:

@cs_Genius_cs

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

В оригинальном ТЧ есть возможность вступить в Свободу, при соблюдении некоторых нюансов, которые уменя из-за багов не выполнились. Почитав в интернете, о том, что можно это поправить руками, захотелось это сделать, но все уперлось в мои познания, ну или отсутствие источника, где будет все максимально разжеванно...

Ссылка на комментарий
1 час назад, cs_Genius_cs сказал:

как изменить группировку у ГГ в середине игры

Можно вызвать готовый код 

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

dialogs_military.actor_set_freedom(actor, npc)

Но это вряд ли это что то существенно изменит. Надо понимать, где у тебя произошёл сбой и выдать нужный инфопоршен.

  • Согласен 1

Здесь могла быть ваша реклама.

Ссылка на комментарий
12 минут назад, mole venomous сказал:

Можно вызвать готовый код 

  Скрыть

dialogs_military.actor_set_freedom(actor, npc)

Но это вряд ли это что то существенно изменит. Надо понимать, где у тебя произошёл сбой и выдать нужный инфопоршен.

Сбой произошел скорее всего приразговоре с Лукашем, после сдачи квестов по предателюи помощи в защите барьера от монолитовцев и мутанто, он же после этого зачисляет ГГ в ряды Свободы...

В интернете я нашла это, но как применить не знаю...

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

1.

Вступление ГГ в группировку!

1 способ

Создаем файл ваше_название_скприпта.script в папке gamedata/scripts 2. Открываем его и пишем: --меняем группировку ГГ


function new_group(actor, npc)
if npc:character_community() ~= "(dolg)" then 
	npc:set_character_community("dolg", 0, 0) 
end
end

Выдаём функцию при разговоре с НПС (вот как это сделать не знаю)

 

2 способ

Меняем группировку ГГ

function название_функции()
db.actor:set_character_community("название_группировки", 0, 0)
end

 

3 способ

Изменение группировки для актора не изменилось со времен ТЧ.

См. в xr_effects.script готовую функцию change_actor_community:

  функция изменения группировки актора (Скрыть)

function change_actor_community(actor, npc, p)
  if p[1] then
    db.actor:set_character_community(p[1], 0, 0)
  end
end
 

 

, где в качестве параметра p задается именно нужная группировка.

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

 

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

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

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

@cs_Genius_cs, т.к. у тебя проблема с вызовом функции, думаю будут ещё и другие проблемы с разбором полётов. Что бы не "посылать" тебя учить "уроки по диалогам" и к прочим чертям, вызови функцию при нажатии кнопки F1 в главном меню. Вот уже правленный файл скрипта:

https://yadi.sk/d/Rq5q5O7i0Y9i_A

  • Согласен 1

Здесь могла быть ваша реклама.

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

Так а если я меняю параметры пулестойкости костюмов в файле damages.ltx это наверно и для нпс тоже. А мне надо только увеличить параметр пулестойкости для актора. Уж больно сильно костюмы изнашиваться. В акторе чтоль ковырять?

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

@AndreySol, спасибо еще раз. Все заработало в таком виде:

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

function clear_inventory(actor,npc)
    db.actor:inventory_for_each(function(item)
        local section = item:section()
        if section and section ~= "wpn_binoc"
            or section ~= "device_torch"
            or section ~= "wpn_bolt"
            or section ~= "device_pda"
        then
            alife():release(alife():object(item:id()), true)
        end
        end)
end

Меченый остается в одном свитере, но с биноклем, фонарем, болтом и ПДА, если они были. Может, кому-нибудь пригодится.

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

@Stalkersof, не понятно, что менять? Пулестойкость для защиты или прочность костюмов?

Здесь могла быть ваша реклама.

Ссылка на комментарий
Только что, mole venomous сказал:

@Stalkersof, не понятно, что менять? 

Мне надо сделать чтоб костюмы на акторе меньше изнашивались от пуль. Только на акторе с нпс все нормально у меня с балансом.

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

Такой вопрос возник: возможно ли прикрутить зпшные анимации смерти нпс без редактирования движка? 

PW7EW.png

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

@Sikorskyi

редактирование движка тут неуместно. Есть 2 скелета ТЧ и ЗП со своими скелетами, где анимации под каждый из них. Анимации ЗП не подойдут для ТЧ скелета, как и в обратном порядке. Необходимо адаптировать анимации ЗП скелета на ТЧ скелет. Для адаптации нужно иметь скрипт от den_stash и поддерживающий их Макс. Переброс одной анимации происходит в пару действий в Максе. 

  • Согласен 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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