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

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


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

Добавил своего монстра в game_relations.ltx, как показал Artos, но монстр после убийства все равно не показывается в статистике "Сильнейший Монстр"

 

Напомню уже ранее сказанное:

Потрудись, если тебе нужно, задавать именно вопрос(ы), а не кидать в топик ...
--/Artos Изменено пользователем Artos

AWRP : Re - Load 0.2 ©

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

Товарищи, кто знает где находится функция которая выдаётся при старте новой игры и как она называется?

 

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

К Богу не доходят ваши молитвы, так как, они похожи на спам!

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

Нужна функция для проигрывания звука в голове ГГ. Есть ли в ЗП нечто подобное xr_sound.get_safe_sound_object как это было в ТЧ?

 

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

Может я всё усложняю конечно. :)

 

Логика рестриктора:

[logic]
active = ph_idle@wait

[ph_idle@wait]
on_info = {-actor_can_go} ph_idle@wait2

[ph_idle@wait2] 
on_info = {=actor_in_zone(actor_can_not_go)} %=actor_can_not_go_kill_actor%

 

Вот это добавил в xr_effects.script

 

function actor_can_not_go_kill_actor()
    if db.actor:dont_has_info("actor_can_not_go_kill_actor") then
        db.actor:give_info_portion("actor_can_not_go_kill_actor")
        db.actor:kill(db.actor)
        news_manager.send_tip(db.actor, "Держитесь на растоянии от Фабрики", 0, "default", 8000)
                -- Звук выстрела
    end
end

Ссылка на комментарий
karavan, к чему такие сложности, чем тебя стандартная функция play_sound не устраивает? Она позволяет проигрывать любые звуки - от нпс, от объектов, в голове актора - главное правильно зарегить звук в script_sound, об этом статья на вики есть и сто раз уже разбиралось.
Ссылка на комментарий

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

 

Смени, плз, стиль обращения к форумчанам, не на митинге и не на площади ... Достаточно просто сформулировать вопрос, чем ты не блещешь ... -/Artos

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

AWRP : Re - Load 0.2 ©

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

Всем привет. Кто знает, подскажите. Как при выходе с локации удалить уже имеющийся у ГГ инфопоршень?

 

Добавлено через 20 мин.:

И ещё вопрос : можно ли через скрипт, при определенном условии, сменить визуал предмета?

AWRP : Re - Load 0.2 ©

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

Есть стандартная функция спец рестрикера actor_on_level, то есть создай рестрикеры или используй существующие в местах спавна ГГ при телепортации на другие уровни и пропиши в нём логику,

[logic]

active = sr_idle@1

 

[sr_idle@1]

on_info = {=actor_on_level(generators) +zat_generators_out_base_teleport} %-zat_generators_out_base_teleport%

;то есть, если ГГ на уровне Генераторы и имеет инфопоршень "zat_generators_out_base_teleport". то удалить поршень.

 

Это один с вариантов, чтобы не перерывать скрипты.

 

 

 

По второму вопросу можно, точно как не скажу, но дам наводку: Dynamic helmets mod. Там есть скрипт подмены модели, тебе же надо его переписать не для ГГ, а под обьект со стори айди. Хотя с другой стороны, не проще ли просто при получении инфопоршня удалить старый и заспавнить новый обьект, стандартыми функциями create и remove.

Изменено пользователем Аномальный

К Богу не доходят ваши молитвы, так как, они похожи на спам!

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

Аномальный, спасибо) Работает. Но появился ещё вопрос : как подключить локацию из билда к ЗП? Я скачал саму локацию, но all.spawn там не было! В архиве были только текстуры, локация и батник для запуска.

 

Знающие люди, отзовитесь!

AWRP : Re - Load 0.2 ©

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

Подскажите пожалуйста, как сменить группировку НПС с помощью диалога и с помощью функции?

Или же как сменить отношения НПС к ГГ что бы НПС стал врагом?

 

В файле xr_effects.script есть функции set_squad_enemy_to_actor и actor_enemy но как их применить вне рестриктора не могу понять. Поэтому прошу помощи. :)

 

Немудрено что нонять не можешь ... судя по тому, что и вопрос сформулировать также не можешь. ;-)

Уточняй, что же тебе требуется:

1. Как сменить группировку НПС используя диалог?

2. Как изменить отношение НПС к актору (друг/нейтрал/враг)?

3. Как сделать НПС другом/нейтралом/врагом для актора?

Это все же совершенно разные вопросы и без всяких "или". --/Artos

 

Artos Формулирую.

1) Как сменить группировку НПС с помощью диалога? Т.е. в диалоге есть

<action>dialogs_predbannik.bandit_traitor_change_community</action>

нужно что бы после разговора НПС изменил группировку.

 

2) Как сделать НПС врагом с помощью диалога? Т.е. в диалоге есть

<action>dialogs_predbannik.bandit_traitor_enemy</action>

соответсвено нужно что бы после разговора НПС стал врагом ГГ.

 

Формулировать нужно не для меня, а для всех ... --/Artos

Изменено пользователем Artos
Ссылка на комментарий

karavan, ну и в чем проблема? Неужели нужно обяснять довольно очевидное? ;-)

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

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

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

 

2. Тут вообще все почти разжевано и сам же упоминаешь про функцию actor_enemy:

function actor_enemy(actor, npc)
  npc:force_set_goodwill( -1000, actor)
end

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

actor:force_set_goodwill( -1000, npc)

- и твой актор будет считать npc врагом.

 

3. Ну и ... возможно предвидя вопрос, а как именно из диалога:

Тэг вида <action>my_script.my_function</action> вызывает из соответствующего файла (my_script) функцию my_function, передавая ей аргументы. Первые два аргумента: first_speaker и second_speaker - это и есть 'болтающие' actor и npc, вот только порядок кто из них 1-й, а кто 2-ой зависит от порядка фраз.

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

 

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Кто знает какие настройки у видео файлов в игре? В частности меня интересует intro_gsc.ogm

Хотел сконвертировать свое видео и заменить intro_gsc.ogm но ничего не получилось. :o

 

В качестве конвертера использовал - SUPER © 2009 может кто подскажет способ конвертации видео в игровой формат или хотя бы настройки видео.

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

karavan, я пользуюсь вот этой прогой: ffmpeg2theora-0.23. Кто ее написал - не знаю, но работает безотказно.

 

Делаю свое видео, сохраняю отдельно звук, отдельно видеоряд. Затем звук прогоняю через СДК. А видео просто перетаскиваю на значок этой программы на раб.столе. После обработки нужно переименовать получившийся файл из ogv в ogm.

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

Доброго времени суток.

 

Кто нибудь юзал функцию set_visual_name? Вообщем, дело тут вот в чём. Мне нужно заменить visual у npc, когда он появляется. Вызываю её в конце функции motivator_binder:net_spawn. Там даже в начале функции есть фрагмент кода, в котором используется set_visual_name. В этом случае visual у npc меняется, но он при этом становится бессмертным. Если вешаю set_visual_name на таймер, тогда вообще мало того, что он не убиваемый, так они ещё и выглядят как комок с тряпками, который волочится по полу. При этом успешно атакует ГГ )))

Так вот, можно ли как то заставить эту функцию работать нормально?

Изменено пользователем Shredder
Ссылка на комментарий

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Для проверки сделал элементарную вешь:

убрал старую gamedata, создал новую, в ней - папку scripts, в неё скопировал из расспакованого сталкера всего один файл xr_motivator.script. В нём в конце функции motivator_binder:net_spawn(sobject) после строки self.object:group_throw_time_interval(2000) добавил вот такое:

self.object:set_visual_name([[actors\stalker_neutral\stalker_neutral_nauchniy]])

Создаю новую игру. Иду встречаю двух типов, они всё как положено в научном прикиде, но только не убиваемые. Ну по крайней мере, с укороченного калаша нивкакую, правда я с гаусса не пробовал, но думаю, врятли бы помогло. ))

Так вот, что я сделал не так?

function motivator_binder:net_spawn(sobject)
    ...
    self.object:group_throw_time_interval(2000)
    self.object:set_visual_name([[actors\stalker_neutral\stalker_neutral_nauchniy]])
    return true
end

Изменено пользователем Artos
Ссылка на комментарий

А зачем тебе вообще через скрипт визуал менять? Не проще создать сколько угодно нужных профилей с нужными визуалами и вводить (убирать) в игру?

 

А у меня такой вопрос, по заселению и кампфаерам:

Столкнулся с очередным багом, некритичным, но неприятным. На локации идет симуляция, все ок, много симуляционных смартов, по которым шарятся сквады, кампфаеры работают как положено - сквад пришел, костер зажегся, ушел - потух. Через какое-то время, через несколько суток симуляции, кампфаеры перестают тухнуть, т.е. горят постоянно по всей локации, практически во всех смартах, независимо есть там сквады или нет. Сэйв-лоад не помогает, помогает перезагрузка игры. Т.е. вылетов нету, но вот такой косячек... Я вот непомню, в оригинальной игре есть такой баг? Есть у кого мысли по этому поводу?

Ссылка на комментарий
А зачем тебе вообще через скрипт визуал менять? Не проще создать сколько угодно нужных профилей с нужными визуалами и вводить (убирать) в игру?

Муторно это. Вот, допустим понравилась, мне моделька из-какого-нибудь мода, и я хочу чтобы некоторые npc её использовали. Так это сколько xml'а надо перелопатить? А я тут придумал попроще. В лтх файле в соостветствии с названием портрета npc хранить допустимые для него визуалы и когда npc первый раз спавнится - выбирать случайный. И чтобы добавить новый визуал в игру, достаточно прописать его в нескольких файлах (число локаций). Не хочется с net-пакетами связываться, я в них ничего не понимаю, но видимо придётся (((

 

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

Shredder, мне кажется твой способ еще муторней. Если тебе понравилась моделька, достаточно добавить в нужный character_desc_ новый профиль с прописанной моделькой и очередным порядковым номером _default_номер, вот он случайно и будет выскакивать. Плюс в профиле еще и иконки для соответствующих визуалов прописываются, как это через скрипт делать?

 

_Призрак_, если не затруднит, можешь в личку подробности по моему вопросу?

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

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

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

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

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

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

Войти

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

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

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