-
Число публикаций
618 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
37 [Подарить AMKoin]
Весь контент пользователя Nazgool
-
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
_Val_ +1 Я полагаю что такая система даже while true do end сожрет и не подавиться) -
CycloneЯ уже не знаю что тут приветствуется, что нет. В последнее предложение постарался вложить бОльший смысл. Всё что было ДО прошло процесс эволюции, выросло, окрепло. Эта эволюция привела к тому, что качественный уровень сайта (т.е. интелектуальный уровень пользователей) выгодно отличает его от множества других. Несомненно в этом решающая заслуга принадлежит всему админо-курато-модераторскому составу, который всё сделал для того чтобы не допустить уподобление множеству других говносайтов. Например у меня не возникает мысли похулиганить тут. А если и решусь, то, знаю, получу по всей строгости. Заслуженно. Да и просто стыдно соваться с тупыми постами на такой уровень. "Вырезать" весь управленческий состав? Вас в смысле ) Если не будет достойной замены, что на данном этапе маловероятно, начнётся вакханалия. Та же эволюция сбросит сайт с достигнутых вершин до среднестатистического. Разве что будут заменять неугодных по-одному? Возможно. Ничего личного, но мне, как пользователю, всё равно, лишь бы на сайте оставались люди, с которыми интересно и полезно общаться. Конечно не хотелось бы что-то менять. Как у нас про начальника, - "Он конечно сукин сын - но он наш сукин сын". Мы уже знаем как он себя поведёт, что от него ожидать. Если новый будет лучше - замечательно, если такой же - не расстроимся. Лишь бы не хуже.
-
На самом деле сайт стал настоящей Меккой модостроительства Сталкера. Просто взять и развалить это - задача не из лёгких. Так что новому руководству переживать не стоит. ) Продолжайте в том же духе и общественность поможет.
-
Подготавливаю русский мануал. Заодно и правленый LuaXml.lua подкину. Там функция find не очень. Да и добавил несколько новых. http://rghost.ru/53555112 Остальные ответы по ходу дела.
-
Да, это то. Ещё нужна библиотека LuaXml. Там одна dll-ка и lua файл.
-
ComadorЕсли по-быстрому, то ... Движку всё-равно что записано в xml файле, главное что бы он был. Поэтому можно создать пустой файл, а затем динамически, с помощью библиотеки io в него писать нужный xml текст. Затем вызывать CScriptXmlInit и указывать на этот динамический файл. Переписывая его согласно необходимым условиям, можно управлять ранее недоступными процессами, определяющимися только в в xml файлах. Я делаю это с помощью специальной оболочки, использующей новые классы (аналоги стандартных), в которых добавлены методы управления всеми процессами, которые ранее необходимо было фактически прописывать в xml.
-
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. С помощью этих библиотек можно кое-какие фортеля выкидывать. Если заинтересует - продолжу.
-
) Если в xml не прописать heading=1 (а xml не устраивает)... ..то повторю, - Вращать не выйдет
-
Вращать не выйдет
-
Graff46 Прямого метода нет. Поворот возможен только при использовании *.xml файлов. Но способ скриптово управлять всем тем, что пока управляется только из *.xml существует. P.S. По крайней мере я это делаю. Только на вопрос КАК? пока не отвечу, т.к. расширение для этого ещё не дописал. Лень.
-
mumie Возьми в инвентарь только 4 сломанных предмета и проверь на numpad'e все 9 вариантов. Штук 5 должны быть равны 1 (детектор, фонарь, бинокль, пда, нож), остальные меньше 1.
-
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
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, в указанной зоне. -
Эквивалентна полностью. Только защиты той нет, что в оригинале. Интересен этот набор : [%w_\\%-%,%*] Почему не "Любые символы кроме пробельных и знака ="?. В чём смысл этого набора? Паттерн был бы проще. ... Ну хотя бы поставь проверку, что pname - это строка. А так всё нормально. ... Не знаю. Поиск по way-ям ничего из других символов, кроме %w_ и символа = не нашёл. ... И ещё. в паттерне такое выражение - =*. А что, можно ставить несколько символов =. Напр. a====hide ))? Может всё-таки заменить на =? т.е. вопросительный знак, а не звёздочка?
-
Это нужно парсить строку вида : wp01|a=hide|s=speech1 ? .... Ага, дошло...
-
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Может быть где-то тут ответ? "для движения мыши два аргумента - смещения мыши с последнего перемещения, также каждое + 100000. Это не координаты мыши, а выходит больше скорость перемещения. Т.е. из аргумента надо вычесть 100000, чтобы получить нужное значение." -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
[ТЧ/ЧН/ЗП] Добавлена функция получения расстояния до точки, на которую смотрим (игровой дальномер, который отображается под прицелом): level.get_target_dist() [ЧН] Добавлен метод определения объекта, на который смотрит камера. Метод добавлен к классу game_object, так что можно вызывать для любого клиентского объекта, хотя наверное самым разумным будет использовать актора. Пользуемся так: local obj = db.actor:get_target_obj() возвращает клиентский объект. Если ни на что не смотрим, то возвращает nil. Объекты без визуала так увидеть невозможно. [ТЧ/ЗП] это-же реализовано в виде функции level.get_target_obj() -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
-
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
http://www.amk-team.ru/forum/index.php?showtopic=10538 -
Artos Да я то не против. Пусть будет как есть. Был задан вопрос, и меня заинтересовал (впрочем как и всегда) чисто академический интерес. Вот я и сделал так, чтобы тов. Dennis_Chikin в принципе перестал волновать вопрос первого (второго и т.д.) разделителя, т.к. (как уже говорил) паттерн не обращает внимания на его наличие вообще. Тут как? Сколько будет нюансов - столько (как правило больше) и вариантов решения. Так что на данный момент, и с текущим количеством информации о вопросе, решение пока такое.
-
Ага. Тогда все эти (в xr_meet) string.find-ы, string.sub-ы зря наворочены. Всё можно сделать в одном паттерне. Напр. : for state,sound in s:gmatch("([%w%_]+)%s*%@?%s*([%w%_]*)") do -- сразу получаем и state и sound ... end Помимо всего, этот паттерн расшифровывает строку 's' вида : 1. " psy_armed @ wounded_psy backoff @ threat_weap " 2. 'psy_armed @ | backoff ' Т.е. можно "забыть" поставить звук или разделитель | , а также добавить лишние пробелы. Таких форматов конечно нет, но тем не менее.
-
Дальше пока не смотрел, но читаю на входе строку 's', и (как и предполагал) ничего, кроме типа 'backoff@threat_weap' не вижу. Т.е. никаких разделителей '|' пока нет. Так что похоже существующий паттерн действительно не совсем к месту.
-
Dennis_Chikin Да, шаблон не очень понятен. В формате записи syndata и близко нет символа |. Или могут быть варианты через | ? (запамятовал) Не совсем ясно, тебя интересует шаблон, защищаюший от разных строк 's' ?
-
Сталкер Лом, сначала тебе нужно разобраться с индексированием таблиц. Вот три сосны, в которых ты запутался : 1. tbl_locs["level"] = true 2. tbl_locs.level = true 3. tbl_locs[level] = true Первый и второй варианты полностью эквивалентны. Они определяют, что в таблицу tbl_locs добавляется поле, в котором ключем(индексом) является строка!!! "level". В третьем случае индексом поля будет значение, которое храниться в переменной с именем level. По правилам индексирования таблиц это может быть любой тип данных lua кроме nil. У тебя как раз должен быть этот случай, т.к. в переменной level ты сохраняешь результат работы функции level.name(). Почитай : PiL rus(только начало) - http://aap13.narod.ru/PiL/2.5.html и http://aap13.narod.ru/PiL/3.6.html PiL eng(полностью) - http://www.lua.org/pil/contents.html тут я когда-то начинал писать - http://stalkerin.gameru.net - база знаний - Незаконченные статьи - Таблицы...
-
А в чём проблема с этим случаем? Так же как и с другими. Всё парсится. Посмотри на паттерн - str:gmatch('([^'..sep..']+)'..sep..'?([^'..sep..'?]*)'). Знаки вопроса замечаешь? Поэтому если нет саунда, то и ... Бог с ним. Строки с "trim" вхождений ('^%s*(.-)%s*) можно убрать. В parse_condlist они всё равно убираются.
-
Может что-то типа :
УЧИМСЯ МОДДИНГУ
ИГРАЕМ В МОДЫ НА ТЧ
ИГРАЕМ В МОДЫ НА ЧН И ЗП
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды
ПОЛЕЗНОЕ И РАЗНОЕ