Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Monnoroch 6 Опубликовано 23 Мая 2009 Поделиться Опубликовано 23 Мая 2009 Это правится на бегунке чувствительности мышки. Ссылка на комментарий
Malandrinus 615 Опубликовано 24 Мая 2009 Поделиться Опубликовано 24 Мая 2009 как убрать ограничение на сон? Файл amk_mod.script. Там функция test_for_need_sleep_matras (примерно строка 409). Там во второй части есть такой фрагмент: else if amk.load_variable("block_sleep_menu",0)==0 then if amk.load_variable("gg_need_sleep",0)>20 then local spwn=ui_cheat.cheat(get_hud()) level.start_stop_menu(spwn,true) else amk.send_tip(game.translate_string("not_need_sleep"),nil,nil,5) end else amk.send_tip(game.translate_string("not_need_sleep_nrg"),nil,nil,5) end end Это основные проверки, которые мешают заснуть, и собственно вызов диалога сна. Между else и end Надо закомментировать всё, кроме: local spwn=ui_cheat.cheat(get_hud()) level.start_stop_menu(spwn,true) Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Kirag 39 Опубликовано 24 Мая 2009 Поделиться Опубликовано 24 Мая 2009 Есть ли в конфигах оружия параметры, отвечающие за скорость поворота ГГ с этим оружием в руках без зума, или это все правится в ogf? Если речь идет о том, чтобы с каждым оружием ГГ крутился с разной скоростью, настройки мышки не спасут. В конфиге есть параметр control_inertion_factor, он влияет на скорость поворота с оружием. Для себя установил этот параметр равным корню квадратному из массы оружия (где не было - дописал), разница между легким пистолетом и тяжеленным пулеметом видна невооруженным глазом. С пистолетом крутится, как юла, с пулеметом такое фиг получится. Проверял более точно, перемещал мышку по столу на фиксированное расстояние и считал обороты ГГ. Результат точно не помню, но очень заметный, явно не погрешность эскперимента. Единственно, не знаю точно, изменяет ли этот параметр чувствительность мышки или ограничивает максимальную скорость поворота. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Halford 21 Опубликовано 25 Мая 2009 Автор Поделиться Опубликовано 25 Мая 2009 ...которая в конце-концов вызывает функцию do_news, которая уже и отображает сообщение через случайный интервал времени (чтобы не всю пачку сразу вываливать). Тут подумал, а как тогда убрать этот интервал? В частности для вывода сообщения о смерти НПС. Ссылка на комментарий
Kirag 39 Опубликовано 25 Мая 2009 Поделиться Опубликовано 25 Мая 2009 (изменено) Подскажите, как скриптом установить прицел на оружии. Оружие в руках, в активном слоте. Прицел на него точно ставится (взял АК-74 для опытов) Пробовал вот такой функцией: function scope() local wpn = db.actor:item_in_slot(db.actor:active_slot()) if wpn then local wid = wpn:id() local wdat = amk.get_weapon_data(alife():object(wid)) local af = wdat.addon_flags local uaf = wdat.updaddon_flags --news_manager.send_tip(db.actor, " addon_flags: "..tostring(af).." updaddon_flags: "..tostring(uaf), nil, nil, 20000) wdat.addon_flags = af + 1 wdat.updaddon_flags = af + 1 local wobj = alife():object(wid) --local wobj = alife():create(wpn:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) amk.set_weapon_data(wdat,wobj) end end Результат - ноль. Есть ли прицел в инвентаре - не имеет значения (да и не должно по идее), пробовал и так и так. Похоже, ничего не записывается, проверял двумя вызовами подряд, addon_flags не изменяется на втором вызове, хотя должен бы. В скрипте очепятку подправил, где в fill_item_packet(ret,stpk,updpk) вместо writevu8uN(pk,v) (как по логике и должно бы быть, запись все-таки) вызывалось readvu8uN(packet,n) (с закономерным вылетом LUA error: d:\games\s.t.a.l.k.e.r\gamedata\scripts\amk.script:2061: 'for' limit must be a number), но на большее мозгов у меня не хватило. Что и где еще не так - не знаю, нет-пакеты меня вырубают начисто. Или я в принципе неправильно делаю? Запасной вариант с выдачей оружия с уже установленным (но съемным) прицелом тоже не сработал (в скрипте закомменченая строка) - выдается оружие, но без всего. Выручайте, люди добрые! Изменено 25 Мая 2009 пользователем Kirag Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
anton_dzot 2 Опубликовано 25 Мая 2009 Поделиться Опубликовано 25 Мая 2009 (изменено) Всем доброго времени суток,вроде где то говорили, но всё же реализуема ли, то, чтобы нпц ездили на транспорте. Изменено 25 Мая 2009 пользователем anton_dzot Незаметные штрихи, для глаз среднего человека, составляют славу мастера Ссылка на комментарий
XMK 24 Опубликовано 25 Мая 2009 Поделиться Опубликовано 25 Мая 2009 подскажите пожалуйста как повернуть карту локации на глобальной карте? global_rect = -6,1220.0, 248.0,1481.0 texture = map\map_deadcity bound_rect = -502.148,-412.284,379.976,474,479 weathers = default мне ее градусов на 15 против часовой стрелки повернуть надо Ссылка на комментарий
Malandrinus 615 Опубликовано 25 Мая 2009 Поделиться Опубликовано 25 Мая 2009 Тут подумал, а как тогда убрать этот интервал? В частности для вывода сообщения о смерти НПС. Не обязательно пользоваться функциями АМК. Можно использовать функцию give_game_news из движка игры прямо в колбеке на смерть непися. Прописать там время задержки нулевое и всё. Я подробно описывал эту функцию в старом топике. Вот оттуда информация: У любого клиентского объекта имеется метод give_game_news Он и выводит сообщения на экран. Экспериментом выяснил, что сообщение можно вывести совершенно от любого клиентского объекта, хоть от куска колбасы (хвала дизайнерскому гению GSC! Ну почему не сделать просто глобальную функцию?). Однако, следуя традиции и здравому смыслу, мы таки воспользуемся для этого объектом, соответствующим ГГ, т.е. актёром. Код local sactor = alife():actor() --получаем серверный объект актера local cactor = level.object_by_id(sactor.id) --по его ID получаем клиентский объект актера cactor:give_game_news( "Свободу тушканам!\\nТушканчики всех стран, объединяйтесь!", -- строка сообщение, может быть многострочной "ui\\ui_npc_monster", --текстура, из которой берется аватара "отправителя" Frect():set(0,215,163,105), --координаты и размеры вырезаемого из текстуры изображения math.random(1000, 3000), --начало показа сообщения с текущего момента (в миллисекундах) 5000 --длительность показа сообщения (в миллисекундах) ) Доп. комментарии к аргументам give_game_news: имя текстуры - это имя файла DDS без расширения, адресуемого относительно папки \gamedata\textures\ в этом выражении Frect():set(0,215,163,105) 0,215 - это координаты верхнего левого угла нужного изображения 163,105 - его размеры Размеры и координаты могут быть любыми, но полученное изображение будет увеличено или уменьшено до размеров 83х47 В данном случае изображение тушкана из файла ui_npc_monster.dds было уменьшено. Параметр времени начала показа нужен, очевидно, для внесения некоторой живости в игру. Дело в том, что код Lua получает управление только в определённые моменты, по определённым событиям. В такой момент можно сгенерить пачку сообщений и раскидать их по времени с помощью этого параметра, создав таким образом некоторую имитацию жизнедеятельности на ближайшее время. Думаю, таким же образом можно имитировать диалоги. Просто генерится пачка сообщений и им задаётся вывод с небольшим интервалом.[/code] Всем доброго времени суток,вроде где то говорили, но всё же реализуема ли, то, чтобы нпц ездили на транспорте. Скорее всего не выйдет. Вроде разработчики планировали в процессе создания игры сделать езду неписей на машинах, и даже подробно разработали анимацию посадки в машину и пр. Но потом всё повырезали в связи с уменьшением локаций и изменением многих объектов на неразрушаемые. Остался только БТР, который ездит по скриптам. Вряд ли в движке осталась логика управления автомобилем, так что даже если остались все анимации, то восстановить это не получится. Да и к чему?! Любую локацию можно пробежать за пару минут, а ездить даже ГГ может с трудом из-за многочисленных препятствий. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Monnoroch 6 Опубликовано 25 Мая 2009 Поделиться Опубликовано 25 Мая 2009 Как заспавнить у НПС скриптом оружие с аддоном?(прицел\подствол) Ссылка на комментарий
Vergas 11 Опубликовано 26 Мая 2009 Поделиться Опубликовано 26 Мая 2009 Несколько раз словил рандомный вылет: FATAL ERROR [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.t.a.l.k.e.r\gamedata\scripts\death_manager.script:186: attempt to index field '?' (a nil value) Кто знает, с чем это связано? НЛС-6: У каждого своя зона _______________________________________________________________ Не ищи легких путей и не возвращайся той же дорогой Ссылка на комментарий
Gonarh 5 Опубликовано 26 Мая 2009 Поделиться Опубликовано 26 Мая 2009 (изменено) ошибка в 186 строке скрипта death_manager, попытка заюзать переменную не содержащую ссылку на объект или какое либо другое значение, хочешь более развернутый ответ - покажи свой death_manager Изменено 26 Мая 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Vergas 11 Опубликовано 26 Мая 2009 Поделиться Опубликовано 26 Мая 2009 Gonarh, Это-то понятно. Я этот менеджер никаким боком не трогал. Он вообще в пысовских архивах лежит. Это меня и заинтересовало. Но самое главное, что тут же запускаешься - все нормально. Никаких вылетов... НЛС-6: У каждого своя зона _______________________________________________________________ Не ищи легких путей и не возвращайся той же дорогой Ссылка на комментарий
Kirag 39 Опубликовано 26 Мая 2009 Поделиться Опубликовано 26 Мая 2009 (изменено) Vergas Почему-то НПС в функцию не пришел. В death_manager от АМК эта проблема, похоже, решена - там в этой функции (и не только в ней) стоит проверка на существование НПС: if npc == nil then return end Если вдруг он сочтен несуществующим, функция тихо мирно закроется без скандалов и вылетов. ХМК Поворта не нашел, но фотошоп помочь должен. Заодно и миникарта повернется на уровне. Monnoroch Нас уже двое с почти одинаковым вопросом Спавнить напрямую с [[wpn_ak74 = 1,scope]] (как в characters_desc) вместо секции не получается. Есть вариант со спавном оружия без аддона и последующей перепаковкой addon_flags в нет-пакетах. Получить эти данные могу, вычислить эти флаги тоже, а вот записать обратно - с этим проблема. Посмотри в середине страницы, я показывал, как пробовал это делать. Ты в скриптах вроде бы получше меня понимаешь, может получится разобраться. флаг приц гран глуш 0 о о о 1 х о о 2 о х о 3 х х о 4 о о х 5 х о х 6 о х х 7 х х х Изменено 26 Мая 2009 пользователем Kirag Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
XMK 24 Опубликовано 26 Мая 2009 Поделиться Опубликовано 26 Мая 2009 Kirag текстуру карты то я развернул а вот объекты на ней так и остались и ГГ бегает на искосок по ней :-) Ссылка на комментарий
Kostya V 31 Опубликовано 26 Мая 2009 Поделиться Опубликовано 26 Мая 2009 XMK, Попробуй поэкспериментировать с координатами. У меня получалось развернуть карту на 180 градусов. Может получится и на 15 повернуть. Только при повороте карты на 180 были глюки с этой миникартой. При увеличении масштаба при просмотре глобальной карты развернутая миникарта исчезала из виду. Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет! Ссылка на комментарий
Kirag 39 Опубликовано 26 Мая 2009 Поделиться Опубликовано 26 Мая 2009 Monnoroch Вот что я нарыл на офф.форуме по спавну оружия с аддонами: 13 Июня 2008 --------------------------9rauth Как узнать в скрипте прикручен ли к данному оружию прицел/подствольник/глушитель? В инвентаре непися имеется ствол и прицел/подствольник/глушитель. Как скриптом прикрутить девайс к стволу? --------------------------IG-2007 ---ЦИТАТА--- Как узнать в скрипте прикручен ли к данному оружию прицел/подствольник/глушитель? ---КОНЕЦ ЦИТАТЫ--- Можно при помощи функции STATE_Write для серверного объекта считать в нет-пакет параметры оружия. Разабрать нет-пакет на составляющие, там есть нужная информация. В АМК видел подобный скрипт, в том же файле, где читаются/разбираются нет-пакеты сталкеров и монстров. Можете посмотреть файл aem_grenade.script из последних версий AEM. ---ЦИТАТА--- В инвентаре непися имеется ствол и прицел/подствольник/глушитель. Как скриптом прикрутить девайс к стволу? ---КОНЕЦ ЦИТАТЫ--- У меня никак не получилось. Вернее получилось, но только через спавн нового оружия с приделанными адонами и удалением старого. В том же aem_grenade.script лежит подобная штука, правда это несовсем то и весьма путано. --------------------------9rauth Спасибо ---ЦИТАТА--- У меня никак не получилось. Вернее получилось, но только через спавн нового оружия с приделанными адонами и удалением старого ---КОНЕЦ ЦИТАТЫ--- Это мне как раз и нужно. Но что то я не представляю как заспавнить оружие с приделанными аддонами. Наверное я чего то не понимаю? И еще, можно ли с помощью этих нетпакетов (пока слабо понимаю как с ними работать ) сменить оружию тип патронов прямо во время игры? Я смотрел в скрипт ремкомплекта, из нетпакета оружия можно получить информацию про тип патронов. Если в нетпакет записать информацию про другой тип патронов, это сработает, тип патронов для оружия изменится? --------------------------IG-2007 ---ЦИТАТА--- Но что то я не представляю как заспавнить оружие с приделанными аддонами. ---КОНЕЦ ЦИТАТЫ--- Изначально идея была простая, спавним обычное оружее и для него с помощью STATE_Read и/или UPDATE_Read переопределяем параметры (адоны, патроны, износ и т.д.). Но это не захотело работать при спавне оружия в инвентарь. Зато, если спавнить вещь отельно, то всё прекрасно работает. Пришлось спавнить оружие вне инвенторя, дожидаться его перехода в онлайн и переносить в инвентарь. ---ЦИТАТА--- Если в нетпакет записать информацию про другой тип патронов, это сработает, тип патронов для оружия изменится? ---КОНЕЦ ЦИТАТЫ--- Может да, может нет. Проблема, как я понимаю, в том, что оружее (как и всё остальное) может иметь два объекта: серверный и клиентский. Переопределяя нет-пакеты STATE-ми и UPDATE-ми мы изменяем только серверный объект. Клиентскиё же создаётся на базе серверного в момент перехода оружия в онлайн. Если клиентский объект уже создан, то он содержит в себе дупликаты всех необходимых ему данных из серверного. Т.е. переопределяя нет-пакеты серверного объекта мы не можем повлиять на уже созданный клиентский. Как-то так... Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Malandrinus 615 Опубликовано 27 Мая 2009 Поделиться Опубликовано 27 Мая 2009 Касательно прикручивания аддонов к стволу скриптами. Поэкспериментировал и выяснил следующее: когда устанавливаешь/снимаешь аддон, то ID ствола не меняется, а после снятия аддона его ID становится другим. Т.е. ствол с гарантией не спавнится заново, а только меняются его свойства, а вот аддон наоборот почти наверняка на время установки просто исчезает, а при снятии спавнится в инвентарь заново. Чтобы решить проблему с несоответствием клиентского и серверного объекта можно попытаться сначала перевести объект в офлайн, затем перепаковать, а затем перевести обратно в онлайн. Где-то, мне кажется, я видел примерно такую последовательность действий. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Kirag 39 Опубликовано 27 Мая 2009 Поделиться Опубликовано 27 Мая 2009 malandrinus А как технически перевести объект из онлайна в оффлайн и обратно? Как-то уже интересовался этим вопросом, но ответа так и не нашел. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
IQDDD 5 Опубликовано 27 Мая 2009 Поделиться Опубликовано 27 Мая 2009 Kirag а разве он сам не переводится при приближении актора к нему ближе, чем на радиус онлайна? Ссылка на комментарий
Gonarh 5 Опубликовано 27 Мая 2009 Поделиться Опубликовано 27 Мая 2009 (изменено) А как технически перевести объект из онлайна в оффлайн и обратно в запихачить в оффлайн alife():set_switch_online(obj, false) alife():set_switch_offline(obj, true) в онлайн - соответсвенно alife():set_switch_online(obj, true) alife():set_switch_offline(obj, false) а разве он сам не переводится при приближении актора к нему ближе, чем на радиус онлайна? переводица, а если ето нуно сдлеть прям вот сейчас, а не потом? Изменено 27 Мая 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти