Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Malandrinus 615 Опубликовано 22 Сентября 2010 Поделиться Опубликовано 22 Сентября 2010 SkyLoader, npc:set_alien_control( ... ) Эта функция переключает камеру на "смотреть глазами монстра". Применима только к кровососам. Кроме камеры ещё и проигрывается специальный постэффект. Оригинальное назначение функции в игре мне неведомо. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Garry_Galler 7 Опубликовано 22 Сентября 2010 Поделиться Опубликовано 22 Сентября 2010 Real Wolf Встречный вопрос - а таблицу сохранял? В методах save\load биндера эктора или в любом другом биндере. Ссылка на комментарий
Stalk15 27 Опубликовано 23 Сентября 2010 Поделиться Опубликовано 23 Сентября 2010 (изменено) function init_dlg(dlg) dlg:AddPhrase("Привет, как дела?", "0", "", -10000) dlg:AddPhrase("Нормально, у тебя?", "1", "0", -10000) dlg:AddPhrase("Тоже.", "2", "1", -10000) end Тут диалог идет как надо - по порядку, но иногда(типа рандомно) случается вот так: Uploaded with ImageShack.us Чоё к чему не пойму, то в правильном порядке идет, то нет.Ни кто не знает, мож чоё не правильно сделано? -------------------------------------------------------------------------------------------------------- XrAlexR Почитай справочник по функциям и классам про диалоги.Там написано, для чего может пригодиться скриптовый диалог, и у меня как раз такой случай. Изменено 23 Сентября 2010 пользователем Stalk15 Ссылка на комментарий
XrAlexR 0 Опубликовано 23 Сентября 2010 Поделиться Опубликовано 23 Сентября 2010 Stalk15, а зачем ты сам себе работу усложняешь? Не легче ли обычный диалог написать черех xml, а если надо будет какой скрипт вызвать просто акшеном воспользуешься? Ссылка на комментарий
ColR_iT 171 Опубликовано 24 Сентября 2010 Поделиться Опубликовано 24 Сентября 2010 Всем привет! У меня нарисовалась проблема... или глюк!? В общем получаю вот такой вылет: [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:63: attempt to index global 'anonym' (a nil value) Думал что файла нет, но он есть и называется anonym.script. Перепроверил, запустил еще раз - то же самое. Вот, что я хотел от файла bind_stalker.script: function actor_binder:net_spawn(data) ... anonym.spawn_af() return true end Добавил в самый конец функции. И сам файл anonym.script: -- Функция для спавна набора объектов (автор Erlik) -- Для вызова необходимо указать нужные данные -- Ех. --function uny_spawn_1() --local tab_items ={{[amount]="section_name"},{[amount]="saction_name"}, ...} --local tab_where = {x=-249.495,y=-18.495,z=-107.105, lv=10784,gv=8} /// "actor" - если актору --this.uni_spawn_new(tab_items,tab_where) --end local count = 0 function spawn_set_objects(tab_items,tab_where) for k, v in pairs(tab_items) do if type(tab_where)=='table' then for k, v in pairs (tab_items[k]) do count = k for i=1, count do alife():create(v,vector():set(tab_where['x'], tab_where['y'],tab_where['z']), tab_where['lv'],tab_where['gv']) end end elseif type(tab_where)=='string' then for k, v in pairs (tab_items[k]) do count = k for i=1, count do alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end end elseif type(tab_where)=='number' then local obj = level_object_by_sid(tab_where) for k, v in pairs (tab_items[k]) do count = k for i=1, count do alife():create(v, obj:position(), obj:level_vertex_id(), obj:game_vertex_id(), obj:id()) end end end end end function spawn_af() local tab_items ={{[1]="af_medusa"}, {[1]="af_cristal_flower"}, {[1]="af_night_star"}, {[1]="af_vyvert"}, {[1]="af_gravi"}, {[1]="af_gold_fish"}, {[1]="af_drops"}, {[1]="af_fireball"}, {[1]="af_cristall"}, {[1]="af_blood"}, {[1]="af_mincer_meat"}, {[1]="af_soul"}, {[1]="af_electra_sparkler"}, {[1]="af_electra_flash"}, {[1]="af_electra_moonlight"}, {[1]="af_ameba_slime"}, {[1]="af_ameba_slug"}, {[1]="af_ameba_mica"}, {[1]="af_dummy_spring"}, {[1]="af_dummy_dummy"}, {[1]="af_dummy_battery"}, {[1]="af_dummy_pellicle"}, {[1]="af_dummy_glassbeads"}, {[1]="af_rusty_thorn"}, {[1]="af_rusty_kristall"}, {[1]="af_rusty_sea_urchin"}, {[1]="af_fuzz_kolobok"}} local tab_where = "actor" spawn_set_objects(tab_items,tab_where) end Подумал и решил проверить существование файла, вот так: function actor_binder:net_spawn(data) ... if (anonym) anonym.spawn_af() end return true end Запустилось! Но вот только эффекта - ноль! Не видит файл что ли? Помогите пожалуйста! Ссылка на комментарий
SkyLoader 53 Опубликовано 24 Сентября 2010 Поделиться Опубликовано 24 Сентября 2010 Народ, а есть метод ли стрельбы из оружия? Может это используется как юзание предмета? В луа хелпе не нашел ничего. Ссылка на комментарий
LaKostich 0 Опубликовано 24 Сентября 2010 Поделиться Опубликовано 24 Сентября 2010 (изменено) Народ, всем привет ! У меня тут такая трабла нарисовалась.... я недавно освоил навыки ковыряния=).... Никак не могу найти строчку которая отвечает за время действия аптечки (т.е. скушал я аптечку и она 3 мин игрового времени действует, а мане нада чтобы 2сек действовала). Я в файле S.T.A.L.K.E.R./gamedata/config/misc/items.ltx нашел строчку mr_time = 0.03; Но насколько я знаю этот файл отвечает за скорость востановления здоровья =) Поэтому прошу опытных ковыряльщиков мне помочь =) З.Ы Зарание спасибо // Спрашивай у автора мода. Министр. Изменено 24 Сентября 2010 пользователем Министр Ссылка на комментарий
KitkaT.Net 2 Опубликовано 24 Сентября 2010 Поделиться Опубликовано 24 Сентября 2010 Людиии! Кто нибудь знает все таки как заставить НПС здороваться с меченым? Я полазил в 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" Но ничего путного из етого извлечь не могу ( Помогите плииз )) Ничто не вечно под луной. Ссылка на комментарий
Malandrinus 615 Опубликовано 24 Сентября 2010 Поделиться Опубликовано 24 Сентября 2010 SkyLoader, Народ, а есть метод ли стрельбы из оружия? Может это используется как юзание предмета? В луа хелпе не нашел ничего. npc:set_item(<действие>, <ствол>, <размер очереди>, <пауза между очередями>) <действие> - константа из класса object. Для ствола подходят object.idle, object.aim1, object.aim2, object.fire1, object.fire2, object.strap, object.drop. Остальные проверяйте сами. <ствол> - клиентский объект оружия. Должен быть в инвентаре у непися Насчёт параметров очереди не уверен. Размер вроде как работает. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Scarabay 98 Опубликовано 25 Сентября 2010 Поделиться Опубликовано 25 Сентября 2010 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 Мой YouTube-канал Ссылка на комментарий
Garry_Galler 7 Опубликовано 25 Сентября 2010 Поделиться Опубликовано 25 Сентября 2010 Куфзук Скрипт рабочий (вставил себе полностью и активировал) - если не считать пары ошибок в названиях артефактов - af_cristall_flower (буквы l не хватало) и af_rusty_sea_urchin - этот арт вообще убери - у него по всей видимости ошибочное название самой секции допущенное самими разрабами. Но твой вылет не из-за этих ошибок - они бы последовали позже и имели бы другой лог. Ищи причину не в самом скрипте, а в том что ему сопутствует. Ссылка на комментарий
Stalk15 27 Опубликовано 25 Сентября 2010 Поделиться Опубликовано 25 Сентября 2010 (изменено) Вопрос на счет скриптовых диалогов.Возможно ли сделать, чтоб одна фраза, например 5, шла после, например, 2 и 3? А то у меня такая ситуация: У меня более 30 фраз и после каждой из них должна идти одна фраза, например, 31-ая.И как тут быть? Пробовал что-то типа такого:dlg:AddPhrase("text.", "31", "30, 29, 28 и т.д", -10000), но так не работает. Мне придется для каждой фразы идущую за ней фразу по отдельности писать?Или есть какой-нибудь выход? Странно, что-то разрабы не уследили такого минуса в скриптовых диалогах... Изменено 25 Сентября 2010 пользователем Stalk15 Ссылка на комментарий
SkyLoader 53 Опубликовано 25 Сентября 2010 Поделиться Опубликовано 25 Сентября 2010 malandrinus, npc:set_item(<действие>, <ствол>, <размер очереди>, <пауза между очередями>) А этот метод для актора то работает? И в скриптах видел вместо "<пауза между очередями>" - заданный вектор. Ссылка на комментарий
Malandrinus 615 Опубликовано 25 Сентября 2010 Поделиться Опубликовано 25 Сентября 2010 (изменено) Stalk15, Вопрос на счет скриптовых диалогов.Возможно ли сделать, чтоб одна фраза, например 5, шла после, например, 2 и 3? Можно сделать. Я подробно расписывал насчёт диалогов здесь и здесь. В частности расписывал, почему нет смысла использовать скриптовые диалоги. Странно, что-то разрабы не уследили такого минуса в скриптовых диалогах... В скриптовых диалогах можно сделать ровно тоже самое, что и через XML. Не больше и не меньше. SkyLoader, А этот метод для актора то работает? Нет. В данном движке актор - совершенно другой класс, нежели сталкер. Общее есть, но в целом большая часть того, что относится к сталкерам, к актору не применимо. И в скриптах видел вместо "<пауза между очередями>" - заданный вектор. Не помню такого варианта. Пример бы показал? Изменено 25 Сентября 2010 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
SkyLoader 53 Опубликовано 25 Сентября 2010 Поделиться Опубликовано 25 Сентября 2010 (изменено) malandrinus, т.е. метода выстрела из оружия для ГГ нету что ли? // А нажатие на левую кнопку мыши ужо не подходит? Министр. Очень смешно... Я хочу заставить ГГ самому выстрелить из пушки, когда надо. Изменено 25 Сентября 2010 пользователем SkyLoader Ссылка на комментарий
Garry_Galler 7 Опубликовано 26 Сентября 2010 Поделиться Опубликовано 26 Сентября 2010 Кто знает как сделать захват консоли сталкера? Чтобы считывать введенные в консоль команды(свои разумеется). (execute_script(string) интересно для чего? вызвать скрипт? а смысл если можно и так его активировать...непонятный метод) В общем в числе методов экспортированных в скрипты - в том же классе CConsole - я ничего похожего не обнаружил. Однако слышал, что это уже кое кто реализовал - правда как не знаю. Остается вариант с внешней программкой - но опять же не представляю как это можно сделать (хотя и знаю C# и методы работы с консолью библиотек .Net) - возможно через WinAPI или все гораздо проще? Ссылка на комментарий
RvP 1 Опубликовано 26 Сентября 2010 Поделиться Опубликовано 26 Сентября 2010 (изменено) Garry_Galler, http://www.amk-team.ru/forum/index.php?act...&pid=487457 можно как то так, только чтоб все свои команды начинались например с "МуСОМ" и искать его чтоли) ЗЫ. если через внешнюю программу, то тогда лог прийдется часто записывать в файл, а ето вроде как фризы вызывает(в сам момент записи) Изменено 26 Сентября 2010 пользователем RvP Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
Kirag 39 Опубликовано 26 Сентября 2010 Поделиться Опубликовано 26 Сентября 2010 Подскажите, пожалуйста, как можно узнать общий вес предметов в инвентаре? Пока я просто прибавляю вес каждого взятого предмета к общей сумме и вычитаю вес потерянного. Проблема в том, что все пачки патронов считаются по весу как полные, а патроны, заряженные в оружии ничего не весят вообще. Разница с реальным весом может быть весьма существенной Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Garry_Galler 7 Опубликовано 26 Сентября 2010 Поделиться Опубликовано 26 Сентября 2010 (изменено) RvP Про get_console():get_string(string) я знаю - но это не то - уже пробовал. Она всего лишь возвращает строковой эквивалент аргумента существующей команды. Скажем get_console():get_string("renderer") возвращает строку - "Статическое освещение" - если включена статика или "Полное динамическое освещение" - если динамика. А нужен метод считывания из консоли строки. Вводим допустим в консоль строку spawn - а скрипт(ну или внешняя прога - что конечно уже не гуд) ее оттуда сразу же считывает и передает куда надо. А далее - дело техники. --------------------------------------- get_console():execute_script(string) - похоже аналог команды cfg_load - загружает ltx - правда у меня файл из папки creatures не загрузил. Изменено 26 Сентября 2010 пользователем Garry_Galler Ссылка на комментарий
гопыч 0 Опубликовано 29 Сентября 2010 Поделиться Опубликовано 29 Сентября 2010 Всех приветствую. Вопрос: Как привязать к предмету звук? т.е. ГГ находит предмет например PDA и идет определённая озвучка. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти