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

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


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

@AndrewMor

Плагин для TC легко всё открыл. На всякий случай ссылка.

S.T.A.L.K.E.R. CoP Objects  >200 шт  (upd 21.05.26) - Скачать  (Яндекс-диск)

56 минут назад, WinCap сказал:

Плагин для TC легко всё открыл.

Что за плагин? Есть ссыль (что бы не качать неизвестно что с великих просторов)?

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

@WinCap, Я ТС не пользую. Спасибо, только архив почему-то не открывается :( Пробовал RARом и 7z - не хочет открывать.

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

@Colder

А как это можно привязать к on_item_take? Данный кэллбэк вызывается при появлении предмета в инвентаре.

2 часа назад, AndreySol сказал:

как это можно привязать к

Ну опросить-то слоты-то можно откуда угодно, где актор онлайн. Хоть из события хита какого-то левого нпс, при желании.

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

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@mole venomous, Плагин для TC S.T.A.L.K.E.R. db.

 

@AndrewMor

8 часов назад, AndrewMor сказал:

Я ТС не пользую.

Модинг в Сталкере и без TC?!!   Скажи ещё, что и без N++!   :dash3:

 

Если ещё актуально, пережал архив в старом формате.

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

S.T.A.L.K.E.R. CoP Objects  >200 шт  (upd 21.05.26) - Скачать  (Яндекс-диск)

@AndreySol, привязываю сюда actor_binder:use_inventory_item(obj) тоже самое @Zander_driver, он правильно сказал суть от этого не меняется

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 задается именно нужная группировка.

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

 

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

https://yadi.sk/d/Rq5q5O7i0Y9i_A

  • Согласен 1

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

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

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

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

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

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

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

Войти

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

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

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