Jump to content

Kirgudu

Жители
  • Content Count

    1,348
  • Joined

  • Last visited

  • Days Won

    6

Kirgudu last won the day on November 24 2017

Kirgudu had the most liked content!

Community Reputation

641

About Kirgudu

  • Birthday 03/12/1974

Контакты

  • Сайт
    http://www.voinitsa.ru

Recent Profile Visitors

2,630 profile views
  1. @UltimatePower, ответил в личке.
  2. @_Sk8_AsTeR_, либо они, либо искажение/потеря каких-либо данных после загрузки. (Второе, как я уже писал, не всегда заметно сразу! Поэтому контроль и ещё раз контроль записи чего-либо куда-либо.) Например, в одном из модов для ЧН это приводило к тому, что инвентарь какого-либо НПС начинал содержать абсолютно невразумительный набор предметов, а при взаимодействии с этим НПС (с целью, скажем, торговли) следовал вылет. Поройся в поиске, тут хватает нужных сведений.
  3. Печальные примеры есть у каждого мододела, кто более-менее глубоко погружался в правки скриптов. Моё мнение: если делаешь фигню, но не замечаешь и не исправляешь её, вероятность очень высокая. Особенно плохо, когда последствия вылезают не сразу, вот как сейчас, а где-нибудь на другой локации и спустя несколько часов игры - в таких случаях причину диагностировать бывает очень трудно. А конкретику для данного случая тебе только двигоправы скажут. Отдельно хочу ещё раз - в дополнение со своей стороны - указать на то, что написал @Zander_driver. Всё это тут не раз объяснялось, но лишний раз повторить не помешает.
  4. Вот если б было написано "bank" - тогда да, то же самое по синтаксису. А так здесь используется некая переменная bank. Что в ней, не таблица ли? Полностью согласен! Но мы ж тут знания стараемся повышать. Я потому и написал специально: "одну переменную", да ещё и "с числовым значением". Разве что жирным и подчёркнутым не выделил. Умный человек вычленит для себя важное, а глупому и модули с движком не помогут.
  5. @_Sk8_AsTeR_, условную одну переменную, не занимающую много места (а числовое значение именно такое), вполне можно сохранять в pstor актора без огорода с дополнительными модулями или новыми движками - см. штатные xr_logic.pstor_store и xr_logic.pstor_retrieve и их применение в оригинале. Вот с таблицами, длинными строками или множественными переменными - другое дело, в этом случае уже стоит последовать совету @Zander_driver.
  6. Не так. Таблица в Lua - объект, доступ к которому осуществляется именно по ссылке (указателю). Ещё раз, почитай. Посмотри внимательнее код. Как раз не внутри функции, а за её пределами, поскольку tt - это указатель на таблицу, являющуюся подтаблицей объекта, объявленного в модуле глобально. То есть твои изменения, сделанные функцией, сохраняются и после выхода из неё, и могут использоваться затем другими функциями/модулями. А вот у тебя переменная s имеет тип "значение", объявлена уже внутри функции func(), существует только в пределах этой функции и не сохраняется после её выполнения. При повторном выполнении она создаётся заново со значением nil, что ведёт к повторному выводу в консоль.
  7. @DMT, функция не обязана что-то возвращать, чтобы проделать какую-либо работу. Вот здесь local tt = t_data[npc:id()] из массива менеджеров торговли (не знаю, из какого мода взят код, но это именно переделанный относительно оригинала trade_manager) читается экземпляр, соответствующий конкретному NPC. Далее происходит изменение свойств этого экземпляра (списков покупки/продажи) в зависимости от условий. При этом массив менеджеров торговли наполняется другой функцией (trade_init или её аналог), а результаты изменений, сделанных внутри функции update, доступны также и за её пределами. Для общего понимания рекомендую почитать, что такое ссылочные типы данных и типы значений (reference type и value type).
  8. @Zander_driver, насчёт фломастеров полностью согласен - кому как удобнее, тем более если скриптёр понимает, что именно делает. На мой взгляд, переопределить при замене (гипотетической) модуля четыре глобальные функции в одном месте проще, чем выискивать по всем скриптам вызовы внутренних функций модуля. Выше, кстати, есть опечатка: должно быть "se_stor.get(key, default)" Вызовы глобальных функций будут выглядеть так: SetVar(key, value) -- установить значение переменной GetVar(key, default_value) -- получить значение переменной (default_value - значение по умолчанию для переменных типа таблица) DelVar(key) -- удалить переменную HasVar(key) -- проверить наличие переменной в хранилище Для всех частей игры работает одинаково.
  9. Тебе какого рода примерчик-то нужен? В сборочном цехе смотрел? Там всё максимально подробно расписано - и автором, и я от себя добавил, даны примеры подключения для всех частей игры и даже подготовлены скрипты для оригиналов. А использование... что может быть банальней трёх добавленных глобальных функций SetVar, GetVar и DelVar, тоже описанных? Ведь работа модуля и сводится как раз к сохранению, чтению и удалению переменных.
  10. @Murarius, давай меняться. Я к тебе, ты ко мне... Может высплюсь.
  11. А, ну тогда сдублируйте div с классом "scroll-top-wrapper", дав ему класс "scroll-bottom-wrapper", расположите на расстоянии 62px от нижнего края (свойство bottom в новом классе), внутри элементу i сразу дайте класс "rotated", а в обработке глобального события "scroll" добавьте скрытие элемента с новым классом, если страница отмотана в самый низ (уже не нужна) или в самый верх (не нужна, так как её функции выполняет старая кнопка). И будет вот так везде, кроме низа и верха:
  12. @Баба ЯГА, полегче, полегче. Красным цветом и прописными буквами пиши в другом месте. Надо разжевать и в рот положить, да? Извини, не по адресу обратился. Предпочитаю дать пищу для самостоятельных размышлений, хотя бы минимальных. Например, модифицировать функцию так, чтобы сразу искала единственный гейм-вертекс, находящийся на минимальном расстоянии от твоих координат, а не все вертексы в радиусе 9 метров.
  13. В пределах локации можно и проще, по координатам - npc:set_dest_level_vertex_id(lvid) Для перемещения же на другие локации вроде надо работать с привязкой НПС к смартам. Что-то подобное обсуждали давно здесь. @Баба ЯГА, я-то всё прекрасно понял, а тебе все необходимые подсказки уже дали. У тебя есть level-вертекс и его координаты. Для поиска game-вертекса можно воспользоваться перебором, аналогичным тому, который предложил @naxac для level-вертексов. Например:
  14. @Баба ЯГА, навскидку на ум приходит только перебор вертексов вокруг твоих координат и определение вертекса с минимальным расстоянием. См. комментарии выше и lua_helper. И прекрати флудить, задавая те же вопросы другими словами.

AMK-Team.ru

×
×
  • Create New...