*Shoker* 322 Опубликовано 14 Мая 2011 У кого есть идеи, как скриптом заставить ГГ выйти из машины? Или может кто то решил движковый вылет на ЧН при смерти игрока в машине? Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 23 Мая 2011 Disord Тогда они всегда будут бежать в эту точку, и после боя они столпятся вокруг неё. Нужно что то такое дописать в секцию логики: on_timer = 9000|nil Тогда в данном случае через 9 секунд после включения ихней логики, она у них вырубится, и они будут предоставлены самим себе. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 3 Июня 2011 В логике пишешь типа переключение на другую секцию, только вместо имени секции напиши nil, вроде работает. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 26 Июня 2011 Kirag А можно ли как то этими рестрикторами заставить неписей обходить аномалии средствами движка? Knyaz Глянь в АМК или ОГСМ на ТЧ (точно не помню, могу ошибаться, есть и в других модах) Скрипт xr_patrol Где то у кого то это правилось. Руслан А ты через all.spawn делаешь? Там по моему нельзя через :direction() снимать, координаты другие. Их лучше в СДК смотреть. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 28 Июня 2011 _Призрак_ А можно подробней? Желательно функцию, которая добавит рестриктор аномалии в запрещённый. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 28 Июня 2011 А я думал, все используют старый метод, когда просто НПС поворачивается от аномалии. Спасибо за ответ. Надо будет глянуть, правда не совсем понятно как из аномалии in\out рестрикторы выдрать. Вот ещё хотел спросить, в теме народной солянки как то это проскакивало, никто не знает метода, чтобы как нибудь измерить насколько скрипт нагружает игру? Я хочу сделать простенькую систему, которая будет показывать как много процессорного времени забирает скрипт. Думал через time_global() но его значение во время апдейта не меняется... Суть в том, что хочу перед вызовом функции пустить счётчик, а после вызова функции остановить и глянуть, сколько времени прошло после вызова функции. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 28 Июня 2011 (изменено) Да, но немного по другому, в function time_ust(t1,t2) если я не ошибаюсь нужно писать так: function time_ust(actor, npc, p) t1 = p[1] t2 = p[2] А в esc_lager = {=time_ust(6,8)} заменить на esc_lager = {=time_ust(6:8)} abramcumner Спасибище! Изменено 28 Июня 2011 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 6 Июля 2011 (изменено) PavelSnork Для диалогов копай скрипт pda.script Для прицеливания можно по device().fov - возвращает ширину зрения игрока, но тока учти что потом могут быть проблемы с модами, которые fov меняют, в оригинале фоу кажись толе 65 толи 55 Но вообще лучше забить на это всё. > level.main_input_reciever() Вроде в ЗП как раз вырезали его. Изменено 6 Июля 2011 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 10 Июля 2011 Разбирает по готовым базам или автоматом определяет новые секции? Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 25 Июля 2011 Кто нибудь знает, как получить точное оружие, из чего был убит НПС? При использовании hit_callback нельзя правильно отловить, например, что убил из подствола или гранатой. Может есть какой то способ получить хотя бы тип хита при последнем убийстве, или есть какая нибудь функция типа last_hit, которая возвращает объект класса hit() в котором хранятся данные об последнем повреждении непися? Суть в том, что нужно отловить, что НПС убит гранатой (например), а пока единственным выходом я вижу создание сложной системы, которая будет следить, какое оружие находилось в руках каждого НПС, но это довольно затратная вещь, может есть попроще идеи? Зарание спасибо. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 27 Июля 2011 gruber Спасибо за ответ Но увы это не то, текущее оружие проверяется также через active_item() (а гранаты в момент убийства у НПС уже может не быть, тоже касается игрока), а конечность можно в стандартном hit_calback достать. Добавлено через 9 мин.: Вот откопал в lua_help некоторые функции: get_monster_hit_info() memory_hit_objects() C++ class hit_memory_object : entity_memory_object { property amount; property bone_index; property direction; property last_level_time; property level_time; property object_info; property self_info; ? Может тут можно что то выудить. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 27 Июля 2011 Ulman Там берётся текущее оружие непися, получается его класс, а по классу определяется, что это такое. Вообщем ничего сверх сложного. Artos Да знаю.. я говорю сейчас о ЧН, пытался фейковым гранатам приписывать script_binding, но это не помогло, там какие то другие объекты кидаются, мороки море вообщем. Порешил, что наверно буду делать систему, которая будет следить за текущем оружием всех НПС, включая ГГ, затратно, но пока другого выхода я не вижу... Всем кто откликнулся спасибо, за помощь Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 28 Июля 2011 (изменено) Дело в том, что в ЧН кидание гранат движковое, и кидаются по ходу не фейковые гранаты из weapons.ltx а самые "настоящие" из w_rgd.ltx. Я правда глубоко не копался, решил пойти другим путём. Хотя вообще идея в принципе стоящая, возможно стоит её добить. Изменено 28 Июля 2011 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 29 Июля 2011 Зависает и без лога? Если да, то тут наверно придётся скрипты по очереди отключать, начиная с самых "стрёмных" и кончая боле\менее рабочими. Причём если сейв уже сильно битый возможно придётся загружать нормальный и занаво делать сейв и тестировать. Если новый сейв опять будет битый - то значит не исправил. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 29 Июля 2011 (изменено) Такое прокатит, если только вылет в скрипте от GSC. У них в скриптах понатыкано много вызовов printf, и можно в принципе примерно глянуть какой скрипт с этой функцией был вызван последним. Но если вылет в новом скрипте, то там таких вызовов нету и соответственно в логе ничего выводится не будет. То что сейв у тебя грузится говорит о том, что судя по всему он не битый. Значит опять таки остаётся методм с выключением скриптов. Либо можно извратится, и вручную в каждый скрипт, который ты подозреваешь в вылете, писать в подозрительные функции вывод какой то инфы в консоль, и когда случится вылет, у тебя в консоле (если ты угадал и выбрал правильный скрипт) будет строка из этого скрипта, а значит проблему надо искать в нём, и то это далеко не факт, что правильная строка указана будет, вылет может произойти в скрипте, где нету вывода инфы в консоль, и тогда начнётся путаница. Вообще на будущее если делаешь свои скрипты, старайся сразу делать предусловия вида if then, чтобы если надо было потом отключить скрипт, его достаточно было просто "удалить\переименовать" Метод с printf всё же попробуй. мб повезёт и лог нормальный слить игра успеет. Изменено 29 Июля 2011 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 30 Июля 2011 (изменено) con:execute(string.gsub(string.format(fmt,...), " ", "_")) Вместо ... в функцию должен какой то параметр передаваться, который будет вставлен в строку. Вылет на ориг. ПЫСовских скриптов или ты сам куда то функцию primntf вставлял? Если да, то дай примеры того как ты это делал. Изменено 30 Июля 2011 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 30 Июля 2011 (изменено) Вместо этого con:execute(string.gsub(string.format(fmt,...), " ", "_")) Попробуй так: con:execute(string.gsub(fmt, " ", "_")) -- Это "плохой" вариант, вылета не будет, но инфа будет не полная, впрочем тебе её вполне может хватить для отлова или такой вариант-извращение, и я не уверен что lua его переварит: if ... then con:execute(string.gsub(string.format(fmt,...), " ", "_")) else con:execute(string.gsub(fmt, " ", "_")) end А вообще ж по идее должна какая то проверка стоят в самом луа на случаи если в ... ничего нет, наверно в каком то скрипте неправильно вызов составлен или что то упустили тут. _______________ А вообще чтобы корень ошибки отловить, можно так сделать: con:execute(string.gsub(fmt, " ", "_")) con:execute(string.gsub(string.format(fmt,...), " ", "_")) В таком случае та строка, которая вызывает здесь вылет (не твой, а с bad argument) будет напечатана в лог. Изменено 30 Июля 2011 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 30 Июля 2011 (изменено) Походу в логике ошибка где то. Скрипт не может найти вызываемую функцию. Сама переменная func есть, иначе был бы вылет другой. Ты менял логику? Изменено 30 Июля 2011 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 31 Июля 2011 Да, т.к это как раз и есть логика. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение
*Shoker* 322 Опубликовано 2 Августа 2011 Бывают, закарючки вида %s заменяются на какие либо параметры ( в данном случае - строковые ) но в какой то функции такого параметра не передаётся (3 по счёт, по ходу nil или ещё что то такое). Нужно вбить в поиск по папке scripts эту строку, и поправить её. Поиск по файлами может осуществлять стандартный Total Commander Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Поделиться этим сообщением Ссылка на сообщение