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

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


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

SkyLoader,

  Цитата
npc:set_alien_control( ... )

Эта функция переключает камеру на "смотреть глазами монстра". Применима только к кровососам. Кроме камеры ещё и проигрывается специальный постэффект. Оригинальное назначение функции в игре мне неведомо.

 

  Полезный утиль (Показать)
Ссылка на комментарий
  Раскрывающийся текст (Показать)
Изменено пользователем Stalk15
Ссылка на комментарий

Stalk15, а зачем ты сам себе работу усложняешь? Не легче ли обычный диалог написать черех xml, а если надо будет какой скрипт вызвать просто акшеном воспользуешься?

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

Всем привет!

У меня нарисовалась проблема... или глюк!?

В общем получаю вот такой вылет:

 

  Log (Показать)
Ссылка на комментарий

Народ, всем привет !

У меня тут такая трабла нарисовалась.... я недавно освоил навыки ковыряния=)....

  трабла (Показать)
Изменено пользователем Министр
Ссылка на комментарий

Людиии! Кто нибудь знает все таки как заставить НПС здороваться с меченым? Я полазил в sound_theme и xr_meet , там есть любопытные строки:

-- болтовня

talk_hello = {min_snd = 5, max_snd = 7, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}},

talk_hello_friend = {min_snd = 3, max_snd = 5, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}},

talk_bye = {min_snd = 3, max_snd = 5, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}},

talk_accept = {min_snd = 3, max_snd = 5, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}},

talk_reject = {min_snd = 3, max_snd = 5, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}},

talk_abuse = {min_snd = 3, max_snd = 5, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}},

 

а в xr_meet:

 

if tostring(scheme) == "nil" then

def.meet_state = "5|wait@wait"

def.meet_state_wpn = "5|backoff@threat_weap"

def.init_meet = "talk_hello"

def.victim = "5|actor"

def.victim_wpn = "5|actor"

def.use = "true"

def.use_wpn = "false"

def.syndata = "backoff@threat_weap"

def.precond = "visibility"

def.abuse = "true"

 

Но ничего путного из етого извлечь не могу ( Помогите плииз ))

Ничто не вечно под луной.

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

SkyLoader,

  Цитата
Народ, а есть метод ли стрельбы из оружия? Может это используется как юзание предмета? В луа хелпе не нашел ничего.

npc:set_item(<действие>, <ствол>, <размер очереди>, <пауза между очередями>)

<действие> - константа из класса object. Для ствола подходят object.idle, object.aim1, object.aim2, object.fire1, object.fire2, object.strap, object.drop. Остальные проверяйте сами.

<ствол> - клиентский объект оружия. Должен быть в инвентаре у непися

Насчёт параметров очереди не уверен. Размер вроде как работает.

  Полезный утиль (Показать)
Ссылка на комментарий

KitkaT.Net, попробуй примерно вот такую логику для твоего НПС

[logic]
active = remark@1

[remark@1]
on_actor_dist_le = 4| remark@2
on_actor_dist_ge = 7| remark@3

[remark@2]
anim = hello_wpn
snd = звук_привествия
target = actor
on_signal = sound_end| remark@1

[remark@3]
anim = hello_wpn
snd = звук_прощания
target = actor
on_signal = sound_end| remark@1

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

Куфзук

Скрипт рабочий (вставил себе полностью и активировал) - если не считать пары ошибок в названиях артефактов - af_cristall_flower (буквы l не хватало) и af_rusty_sea_urchin - этот арт вообще убери - у него по всей видимости ошибочное название самой секции допущенное самими разрабами.

Но твой вылет не из-за этих ошибок - они бы последовали позже и имели бы другой лог. Ищи причину не в самом скрипте, а в том что ему сопутствует.

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

Вопрос на счет скриптовых диалогов.Возможно ли сделать, чтоб одна фраза, например 5, шла после, например, 2 и 3?

А то у меня такая ситуация: У меня более 30 фраз и после каждой из них должна идти одна фраза, например, 31-ая.И как тут быть?

Пробовал что-то типа такого:dlg:AddPhrase("text.", "31", "30, 29, 28 и т.д", -10000), но так не работает.

Мне придется для каждой фразы идущую за ней фразу по отдельности писать?Или есть какой-нибудь выход?

 

  Оба (Показать)
Изменено пользователем Stalk15
Ссылка на комментарий

malandrinus,

npc:set_item(<действие>, <ствол>, <размер очереди>, <пауза между очередями>)

А этот метод для актора то работает?

И в скриптах видел вместо "<пауза между очередями>" - заданный вектор.

 

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

Stalk15,

  Цитата
Вопрос на счет скриптовых диалогов.Возможно ли сделать, чтоб одна фраза, например 5, шла после, например, 2 и 3?

Можно сделать. Я подробно расписывал насчёт диалогов здесь и здесь. В частности расписывал, почему нет смысла использовать скриптовые диалоги.

 

  Цитата
Странно, что-то разрабы не уследили такого минуса в скриптовых диалогах...

В скриптовых диалогах можно сделать ровно тоже самое, что и через XML. Не больше и не меньше.

 

SkyLoader,

  Цитата
А этот метод для актора то работает?

Нет. В данном движке актор - совершенно другой класс, нежели сталкер. Общее есть, но в целом большая часть того, что относится к сталкерам, к актору не применимо.

 

  Цитата
И в скриптах видел вместо "<пауза между очередями>" - заданный вектор.

Не помню такого варианта. Пример бы показал?

Изменено пользователем malandrinus
  Полезный утиль (Показать)
Ссылка на комментарий

malandrinus, т.е. метода выстрела из оружия для ГГ нету что ли?

 

// А нажатие на левую кнопку мыши ужо не подходит? :crazy::D Министр.

Очень смешно... Я хочу заставить ГГ самому выстрелить из пушки, когда надо.

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

Кто знает как сделать захват консоли сталкера? Чтобы считывать введенные в консоль команды(свои разумеется).

(execute_script(string) интересно для чего? вызвать скрипт? а смысл если можно и так его активировать...непонятный метод)

В общем в числе методов экспортированных в скрипты - в том же классе CConsole - я ничего похожего не обнаружил.

Однако слышал, что это уже кое кто реализовал - правда как не знаю.

Остается вариант с внешней программкой - но опять же не представляю как это можно сделать (хотя и знаю C# и методы работы с консолью библиотек .Net) - возможно через WinAPI или все гораздо проще?

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

Garry_Galler, http://www.amk-team.ru/forum/index.php?act...&pid=487457

можно как то так, только чтоб все свои команды начинались например с "МуСОМ" и искать его чтоли)

ЗЫ. если через внешнюю программу, то тогда лог прийдется часто записывать в файл, а ето вроде как фризы вызывает(в сам момент записи)

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

Vita sine libertate, nihil

Vita sine litteris - mors est

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

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

 

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

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

RvP

Про get_console():get_string(string) я знаю - но это не то - уже пробовал. Она всего лишь возвращает строковой эквивалент аргумента существующей команды.

Скажем get_console():get_string("renderer") возвращает строку - "Статическое освещение" - если включена статика или "Полное динамическое освещение" - если динамика.

А нужен метод считывания из консоли строки.

Вводим допустим в консоль строку spawn - а скрипт(ну или внешняя прога - что конечно уже не гуд) ее оттуда сразу же считывает и передает куда надо. А далее - дело техники.

---------------------------------------

get_console():execute_script(string) - похоже аналог команды cfg_load - загружает ltx - правда у меня файл из папки creatures не загрузил.

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

Всех приветствую.

Вопрос: Как привязать к предмету звук? т.е. ГГ находит предмет например PDA и идет определённая озвучка.

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

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

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

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

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

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

Войти

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

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

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