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

Malandrinus

Жители
  • Число публикаций

    1 930
  • Регистрация

  • Последнее посещение

  • Дней в топе

    13
  • AMKoin

    160 [Подарить AMKoin]

Весь контент пользователя Malandrinus

  1. Нету ли у кого сейва на чистую игру ЧН в Лиманске? Проверю то место. Ну просто ГГ при заходе в рестриктор аномалии (в воду) терял бы вес и "плавал". Вообще, в ЗП (а может ещё и в ЧН) есть возможность скриптом отключить гравитацию с помощью класса physics_world. Можно управлять весом ГГ более тонко, но к сожалению это имеет глобальный эффект. А вообще впечатления забавные, полетать можно...
  2. Может меня подводит память, но вроде как в ЧН был момент, когда ГГ нужно было поплавать. Реализовать это в ТЧ ... хм. там есть вроде как вырезанная аномалия с убранной гравитацией. Если она в принципе работает, то теоретически можно попытаться это сделать.
  3. кровоSTALKER, так поставь в колбек на спавн ГГ и зацикли.
  4. Зачем в биндер вообще, если тебе это один раз сделать надо?
  5. Только всё-таки при сохранении или при загрузке из быстрой сохранёнки? Если при загрузке, то ответ один: это из-за быстрого сохранения. Не пользуйся им, забудь, что такая возможность существует.
  6. Главный недостаток этого способа - надо опрашивать клавиатуру в цикле. Именно нажатие не отловить. Я видел на codeproject пример с перехватом интерфейса directinput. Но что-то на моей x64 он не работает. Вот ссылка на всякий случай.
  7. Скачивается без проблем. Но если совсем никак, то вот он же на iFilder Кроме того, вот ссылка на офф.форум http://www.gsc-game.ru/index.php?t=community&s=forums&s_game_type=xr&thm_page=1&thm_id=13441&sec_id=14 (скопируйте руками и вставьте) Об этой альтернативе идёт речь? Суть обеих программ одинакова - опрос в цикле состояния клавиш и запись в ltx и т.д. Хук работать не будет, поскольку очереди сообщений нет. Если ткнёшь пальцем, где описано, как перехватывать ввод через DirеctX, буду признателен.
  8. кровоSTALKER, поищи в этом посте в разделе "Пространство имён level"
  9. Garry_Galler, все расстояния в метрах и ни в чём другом. В приведённом фрагменте есть ошибка, связанная с побочным эффектом в этой строке local v3 =v1:sub(v2) результат также пишется в v1, что влияет на дальнейшие вычисления. Надо было так: local v3 =vector():sub(v1, v2) =) А ещё лучше не умничать и написать: local len = v1:distance_to(v2)
  10. Garry_Galler, здесь вопрос не неточности, а скорее что хотим получить. Если измерять угол от точки взгляда, то это истинный конус взгляда выходит. Но при этом в него могут не попасть объекты рядом с ГГ и в упор не будет виден кто-либо, стоящий прямо перед ГГ (поскольку его координаты - это положение на земле). Поэтому более осмысленной будет функция yaw_degree, которая игнорирует координату y. Между прочим, всё равно будет проблема с объектами слева и справа от "полупространства взгляда", поскольку ближе к ГГ оно сужается. Поэтому имеет смысл ближе определённого расстояния проверять на больший угол видимости. Или вообще-то стоит просто использовать угол обзора, полученный из разрешения монитора и fov камеры. А ты проверь. Возьми класс profile_timer и замеряй время. Для физики не знаю, а при движении по AI сетке - никакой. Ну может только проверяется, что узел сетки кем-то занят и то не всегда. Известно же, что неписи ГГ зачастую игнорируют и сквозь стенки ходят и по воздуху гуляют.
  11. TREWKO, Всё работает, как ты написал. В течении часа непрерывно счастотой апдейтов вызывается эта функция. Почитай внимательней описание функции give_game_news. Тебе достаточно один раз вызвать её в любом месте. Надо только рассчитать время до нужного момента вывода. Ну или в апдейте флажок поставь. Если один раз сработало, то запомнить это и дальше не выводить.
  12. Garry_Galler, для всего описанного ещё со времён ТЧ в модуле _G есть готовые функции (примерно тоже самое, что ты написал): yaw_degree3d(v1, v2) - выдаёт угод в градусах между двумя векторами (чистый конус) yaw_degree(v1, v2) - выдаёт угод в градусах между проекциями двух векторов на горизонтальную плоскость (полагаю в данном случае даже более полезно) yaw(v1, v2) - аналогично предыдущей, но в радианах Кстати, эти функции наглядно показывают, что авторы оригинальных скриптов на момент их написания не знали, как пользоваться классом vector. С использованием методов класса vector эти функции можно переписать короче и работать будут раза в три быстрее. длина этого вектора и так единица. magnitude можно не использовать Направление камеры по любому точнее, чем направление актора.
  13. Garry_Galler, ну так и проверяй дополнительно на попадание в конус взгляда. Или я не понимаю проблемы?
  14. Garry_Galler, а как делаешь? Я бы обшаривал область с помощью vertex_in_direction и искал бы дырки в сетке. Но это требует некоторых затрат
  15. Что-то мне сдаётся, что это и есть скриптовая схема mob_jump. В кастомдата просто лежат данные для её инициализации. Так что можно в mob_jump.script заглянуть и посмотреть, как там сделан прыжок. А может можно просто схему использовать. К конкретному инфопоршену можно прицепить колбек. Тег action
  16. Monnoroch, Вот ещё вспомнил. В той версии часть файлов была "зашифрована", т.е. скрипты были без комментариев и переносов строк. Помню, получил незабываемое "удовольствие", пытаясь их понять. Неужели никто не помнит, что это за версия была?
  17. Monnoroch, давно было, помню очень смутно. Но у меня такое воспоминание, что я там как-то включал некий режим отладки. Это был совершенно мой первый опыт. Я пошарился по скриптам, увидел там нечто вроде debug = false (не обязательно так, но нечто в этом роде). Переключил на что-то другое и после этого в игре была видна всякая фигня: в том числе смарты на карте (как я сейчас понимаю) и пр. в этом роде. В последней версии ничего такого найти не могу. Добавлено через 34 мин.: Нашёл 1.3.1, но она без интернет апдейтера. Значит, это не та версия, что я помню. Какие там были?
  18. Monnoroch, Если бы я знал точно... Скорее всего та, что предшествовала переезду на этот сайт. Там ещё был апдейтер из интернета. Но если есть и более ранние, то тоже было бы неплохо.
  19. Не сохранился ли у кого старый вариант АМК? Ещё тот, что был с апдейтом из интернета и лежал на другом сайте. Если есть, выложите плиз.
  20. Вот это как раз не проблема. Есть функция level.vertex_in_direction(int <от какого вертекса>, vector <направление>, float <расстояние>) Только не перепутайте. В game_object есть такая же, но она не работает.
  21. Здесь - мало проку. Я полагаю, что нужна она при чтении/записи строк в бинарный файл Ray, поставь отладочный вывод в консоль и проверь, кто такой actor.
  22. Ray, Посмотри внимательней. Тоже сам себе передаёшь. function relocate_money(victim, num, type) ... db.actor:transfer_money(num, victim) ... end dialogs.relocate_money(actor, item_repair_cost, "out") ЗЫ: вредно ночами сидеть =)
  23. Увы, не знаю. В Lua эта возможность завязана на списки значений. В C++ я бы покрутил с STL и её алгоритмами. А в Паскале не знаю =( Ты ж сам себе передаёшь. Конечно не уходят. Патроны из инвентаря тут же удалить, ствол скриптом перезарядить. Чтобы мельтешение патронов не бросалось в глаза, либо удалить статик с индикатором (если можно), либо прикрыть его своим
  24. Нет смысла. В лучшем случае, если таблица оптимизирована как массив, то займёт столько же места. И вообще, строка - это и есть последовательность ASCII кодов. Зачем её ещё куда-то переводить? Кстати, если надо перевести строку в массив, то это можно сделать более элегантно и без цикла: local t = {string.byte(s,1,#s)}
×
×
  • Создать...