Контент Nazgool - Страница 11 - AMK Team
Перейти к контенту

Nazgool

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

    618
  • Регистрация

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

  • Дней в топе

    1
  • AMKoin

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

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

  1. Nazgool

    Скриптование

    @Akella-96 aka SvD, При такой неопределённой ситуации нужно начинать с all.spawn-а Логика рестриктора сна (напр. Затона) name = zat_a2_sr_sleep находиться в файле cfg = scripts\sr_sleep.ltx. Нужно проверить, срабатывает ли рестриктор при заходе в него ГГ : on_actor_inside = sr_idle@run %=run_tutorial(tutorial_sleep)% Должна вызываться функция xr_effects.run_tutorial Проставь выводы в лог и посмотри что работает а что нет. Для проверки нахождения в зонах (рестрикторах и т.д.) удобно пользоваться расширением sData, которое выводит различные параметры на экран в режиме реального времени.
  2. Вот тут ещё есть textures\wm
  3. Romann Это может быть банальная синтаксическая ошибка в скрипте. Проверь изменённые скрипты чекером.
  4. Вплотную я этим не занимался, но если бы занялся, то начал бы с xr_meet.script и функции init_meet Там в основном настройки никакие : def.meet_state = "5|wait@wait" def.meet_state_wpn = "5|backoff@threat_weap" -- Только тут, по идее, орёт "Опусти ствол" def.meet_state = "2|wait" def.meet_state_wpn = "" Наибольше под всех подходит блоки : if tostring(scheme) == "nil" - т.е. если нет схемы, и else - т.е. сталкеры Остальные по усмотрению. Можно и свои дописать(переписать). И может быть файла xr_logic.script и функции cfg_get_overrides
  5. MrGROX
  6. Ali_Babai_45 Пожалуйста. Вот тебе мой CHM по Lua 5.1 (правда ещё в стадии разработки, поэтому пока не всё, да и оформлять не успеваю), Делаю в виде учебника. Почитай пока то, что есть. А вопросы, если будут, то либо в Скриптование, либо в Язык Lua. Общие вопросы программирования. В зависимости от сути вопроса. http://rghost.ru/54049614
  7. Капрал Хикс Это может проверить только сам Ali_Babai_45. xrСпавнера больше, наверное, ни у кого не осталось.
  8. Вы не совсем усвоили эти уроки. тов. abramcumner уже объяснил Вам причину работы игры при добавлении "лишнего" end-а. Оператор end в Lua закрывает некий блок, участок кода, который должен быть открыт где-то ранее. Вот такие блоки : do ... end if ... then ... end if ... then ... else ... end if ... then ... elseif ... then ... end if ... then ... elseif ... then ... else ... end while ... do ... end for var = start, stop do ... end for var = start, stop, step do ... end function name() ... end Может что-то и упустил, не суть важно. Например есть функция : function name() -- что-то делаем end Эта функция является блоком кода. Этот блок открывается ключевым словом function и обязательно должен быть закрыт (и закрывается) ключевым словом конца блока end. Что будет, если по Вашему примеру, вставить в тело функции "лишний" end.: function name() -- что-то делаем end -- ВОТ ЭТОТ end Блок также откроется ключевым словом function и закроется end-ом. Но новым, вставленным. Компилятор продолжает читать код, и наталкивается ещё на один end, который должен закрыть открытый ранее блок. Но ранее ничего не открывалось (function уже не открыта, она закрылась "своим" end-ом) Ошибка. Поэтому повторю. Как уже говорил abramcumner, после "порчи" файла лишним end-ом по счастливому стечению обстоятельств, или по недосмотру разрабов, игра не вылетает.
  9. Nazgool

    Скриптование

    Shadows Каждый преследует свои цели. Предлагая идею динамического файла, я не не ставлю цели читать оригинальные в принципе. Потому что мне это не нужно. Пока не задавали дополнительных вопросов, но я опережу события. Дело в том, что создавая объект окна, я храню в его userdat-е только участок кода, который описывает сам объект. Практически это всегда простая таблица, изредка со вложенной таблицей. Применять для этого специальный синтаксис, я думаю, не целесообразно. Опять же, учитывая поставленные цели. Это я делаю для того, чтобы не перезаписывать весь файл. Неизвестно каких размеров он мог бы быть. Небольшой блок кода записывается практически мгновенно. Поэтому и работа функции (той же find) предполагает работу с классическим XML. А для Сталкера идея и исполнение Charsi отличное.
  10. _Val_ +1 Я полагаю что такая система даже while true do end сожрет и не подавиться)
  11. Nazgool

    Скриптование

    Подготавливаю русский мануал. Заодно и правленый LuaXml.lua подкину. Там функция find не очень. Да и добавил несколько новых. http://rghost.ru/53555112 Остальные ответы по ходу дела.
  12. Nazgool

    Скриптование

    Да, это то. Ещё нужна библиотека LuaXml. Там одна dll-ка и lua файл.
  13. Nazgool

    Скриптование

    ComadorЕсли по-быстрому, то ... Движку всё-равно что записано в xml файле, главное что бы он был. Поэтому можно создать пустой файл, а затем динамически, с помощью библиотеки io в него писать нужный xml текст. Затем вызывать CScriptXmlInit и указывать на этот динамический файл. Переписывая его согласно необходимым условиям, можно управлять ранее недоступными процессами, определяющимися только в в xml файлах. Я делаю это с помощью специальной оболочки, использующей новые классы (аналоги стандартных), в которых добавлены методы управления всеми процессами, которые ранее необходимо было фактически прописывать в xml.
  14. Nazgool

    Скриптование

    Zander_driver По всей вероятности у Вас не правильно работает функция zander_utils.string_uncompress Значения t1[1] - t1[4] получаются строками в выражении : self:AddFrameSpace(10, {"ui\\bar_red", "ui\\bar_yellow"}, t1[1], t1[2], t1[3], t1[4], self.mainframe) Если не верите, то вместо "остринговывания" : log("AddStatic;Arguments:"..texture..","..tostring(x)..","..tostring(y)..","..tostring(w)..","..tostring(h)) проверьте тип данных. Во всех валидных вариантах Вы производите с этими данными математические операции, при которых происходит автоматическое преобразование получаемых результатов в числовой формат. В каждом из не валидных данных Вы используете хотя бы один из передаваемых аргументов, с которыми не производятся никакие математические действия. И зависание может быть только от того, что X,Y,W или H - это строки. А функция CUIStatic:Init(x,y,w,h) строки не умеет кушать ) Автор - Kirag Но я бы советовал установить (если нет) Lua расширение от RvP и использовать библиотеку LuaXml. С помощью этих библиотек можно кое-какие фортеля выкидывать. Если заинтересует - продолжу.
  15. Nazgool

    Скриптование

    ) Если в xml не прописать heading=1 (а xml не устраивает)... ..то повторю, - Вращать не выйдет
  16. Nazgool

    Скриптование

    Вращать не выйдет
  17. Nazgool

    Скриптование

    Graff46 Прямого метода нет. Поворот возможен только при использовании *.xml файлов. Но способ скриптово управлять всем тем, что пока управляется только из *.xml существует. P.S. По крайней мере я это делаю. Только на вопрос КАК? пока не отвечу, т.к. расширение для этого ещё не дописал. Лень.
  18. Nazgool

    Скриптование

    mumie Возьми в инвентарь только 4 сломанных предмета и проверь на numpad'e все 9 вариантов. Штук 5 должны быть равны 1 (детектор, фонарь, бинокль, пда, нож), остальные меньше 1.
  19. AndrewMor Только подсказка. http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_3 on_npc_in_zone = <number>|<имя_зоны>|<название_схемы> – если NPC со story_id равному number, в указанной зоне.
  20. Nazgool

    Скриптование

    Эквивалентна полностью. Только защиты той нет, что в оригинале. Интересен этот набор : [%w_\\%-%,%*] Почему не "Любые символы кроме пробельных и знака ="?. В чём смысл этого набора? Паттерн был бы проще. ... Ну хотя бы поставь проверку, что pname - это строка. А так всё нормально. ... Не знаю. Поиск по way-ям ничего из других символов, кроме %w_ и символа = не нашёл. ... И ещё. в паттерне такое выражение - =*. А что, можно ставить несколько символов =. Напр. a====hide ))? Может всё-таки заменить на =? т.е. вопросительный знак, а не звёздочка?
  21. Nazgool

    Скриптование

    Это нужно парсить строку вида : wp01|a=hide|s=speech1 ? .... Ага, дошло...
  22. Может быть где-то тут ответ? "для движения мыши два аргумента - смещения мыши с последнего перемещения, также каждое + 100000. Это не координаты мыши, а выходит больше скорость перемещения. Т.е. из аргумента надо вычесть 100000, чтобы получить нужное значение."
  23. [ТЧ/ЧН/ЗП] Добавлена функция получения расстояния до точки, на которую смотрим (игровой дальномер, который отображается под прицелом): level.get_target_dist() [ЧН] Добавлен метод определения объекта, на который смотрит камера. Метод добавлен к классу game_object, так что можно вызывать для любого клиентского объекта, хотя наверное самым разумным будет использовать актора. Пользуемся так: local obj = db.actor:get_target_obj() возвращает клиентский объект. Если ни на что не смотрим, то возвращает nil. Объекты без визуала так увидеть невозможно. [ТЧ/ЗП] это-же реализовано в виде функции level.get_target_obj()
  24. http://www.amk-team.ru/forum/index.php?showtopic=10538
×
×
  • Создать...