-
Число публикаций
618 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
37 [Подарить AMKoin]
Весь контент пользователя Nazgool
-
Ты же наверняка знаешь, что при апдейте скриптового окна есть нюанс. И если хотел просто намекнуть человеку на то, где искать, то не знающий сам вряд ли догадается, что для полноценной работы апдейта, нужно вызывать метод базового класса. Вампир35 Используй такую конструкцию : function твой_класс:Update() CUIScriptWnd.Update(self) -- обязательно! -- твои действия end Подобной оптимизацией уже занимались. Когда-то давно я написал подробный тутор по работе с coroutine. На его основе Artos уже сделал рабочий код перебора 65535 объектов с "растяжкой" во времени. Т.е. объекты перебирались не лавинно, а по некоторому количеству, или по достижении лимита времени на один апдейт. В общем нужно поискать. Или, при возможности (памяти) , я восстановлю этот код Вот. Нашел Как пример. Вот инфа по coroutine : http://www.amk-team.ru/forum/index.php?showtopic=7450&page=16#entry622983
-
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
abramcumner Дружище, ты наверное меня не правильно понял. Вот все факты, доказательства, и никаких алиби не будет local ltx = system_ini() local n = ltx:r_float("actor_condition","radiation_v") -- например у меня стоит значение 0.0001 if n == 0.0001 then print('OK') else print('BAD') end --> BAD function math.round(num, accuracy) return tonumber(string.format('%0.'..(accuracy or 0)..'f', num)) end if math.round(n, 4) == 0.0001 then print( 'OK') else print('BAD') end --> OK -- P.S. print - это лично моя функция, которая печатает в файл, но результата это не меняет. Этому коду уже пара-тройка лет(уже и не помню когда я первый раз попался), просто так получилось, что он снова напомнил о себе. Вот и подумал что другим не нужно наступать на грабли. -
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Так, коллеги. Знаете - хорошо, не знаете - считаю что нужно сказать. Ковырялся тут и снова "попался" на штуку, которую многие, наверняка и, знают, а некоторые. возможно, и нет. Забыв о нюансах, автоматом, пытался сравнить два float числа. Знаю что одинаковые - а она (разрабовская lua) отвечает что нет, разные. Есть такая подлость от GSC. Если вдруг придётся сравнивать , то я использую : function math.round(num, accuracy) return tonumber(string.format('%0.'..(accuracy or 0)..'f', num)) end accuracy - ширина float-а -
Индифферентный Маргинал Классный вопрос! До сих пор думаю как него ответить. Возможных вариантов куча...Размышляю, и ни один не даёт однозначного ответа.
-
Если в наше время ХОТЯТ знать, то это уже очень не плохо. Остальное приложиться. Конечно всё зависит от личных качеств каждого познающего.
-
Совершенно верно. Конечно перебор массива for start,limit,step do работет гораздо быстрее. Но всё зависит от конкретной ситуации. Объявление функции может быть. Но потом она находиться на стеке достаточно близко Если нужно что-то использовать многократно, то лучше объявить функцию и затем обращаться к ней Это верно. iterate_inventory раза в два быстрее. Почему? Выше писал и... ...из уже заранее объявленной функции внутри db.actor:iterate_inventory(function (dummy,item) abramcumner Дружище, вижу что тут. Ответь мне сам знаешь где
-
Согласен. Сказать нечего. Извинились. Получилось, конечно, не красиво. Поругали. И что теперь? Давайте четвертуем? В наше время это уже не исключение, а правило?
-
Язык Lua. Общие вопросы программирования
Nazgool ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Streels Изучай книгу Roberto Ierusalimschi "Programming in Lua (Second Edition)" А дальше само пойдет. -
@Старлей, Сейчас существует не один вариант автоматизированной работы с нетпакетом . Но поскольку хочешь увидеть структуру, то нужно смотреть в ACDC. Там отслеживать последовательности... В общем вспомнил, что несколько лет назад делал себе утилиту для создания пакета. Так толком и не доделал. На данный момент так уже не поступают, но раз я забыл выкинуть, то посмотришь в ней структуру. http://rghost.ru/54850426 А я её удалю наконец, раз на глаза попалась
-
Я лично делал ореховое варенье. Пальцы пол года не отмывались. Говорят вкусно. А по мне - гадость редкосная.
-
@BFG, На эту тему. Известно, но не могу не вспомнить. Возили как-то немцев в каком-то колхозе осматривать чего-то там. По пути УАЗик стал. Лопнул ремень. Водила взял какой-то шланг, шпагат, что там ещё... В общем минут через 10-15 машина поехала. Немцы сказали лишь одно, - "Теперь мы понимаем почему проиграли войну"
-
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Ну тогда тебе нужно одно из двух : 1. что бы кто-то это сделал. 2. самому изучить предмет необходимости, и спрашивать тут. Про первое я уже сказал. Второе зависит от тебя. Но для обоих вариантов нужны нам нужны исходники мода. Как без них можно помочь - не представляю. -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Ребят, а что, на Инсайде нет ни одной статьи по работе с UI? Что-то не нашел, или не туда смотрел. Может написать нужно? -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
@34534, Izuchaesch sozdanie okon klassov CUI. V etih oknah sozdaesch knopki. Na knopki veschaesch action na vypolnenie spawna (alife():create(...)). Поскольку мы можем только догадываться о том, что за мод, то найди *.script файлы интерфейса этого меню. И добавь в него еще одну кнопку (по примеру из этого файла). Это может быть CUIButton, CUI3tButton, InitButton или Init3tButton. Рассказывать о принципах построения окон тут никто не будет. Это нужно знать. А чтобы знать - нужно изучать. Если при изучении будут не понятные моменты, то милости просим. Объясним. А "вынь, да положь" тут не проходит. Нахлебников не жалуют. Как-то не повелось. Уж извини. -
Есть на инсайде програмка - script Syntax Checker
-
@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, которое выводит различные параметры на экран в режиме реального времени.
-
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Вот тут ещё есть textures\wm -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Romann Это может быть банальная синтаксическая ошибка в скрипте. Проверь изменённые скрипты чекером. -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Вплотную я этим не занимался, но если бы занялся, то начал бы с 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 -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
MrGROX -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Ali_Babai_45 Пожалуйста. Вот тебе мой CHM по Lua 5.1 (правда ещё в стадии разработки, поэтому пока не всё, да и оформлять не успеваю), Делаю в виде учебника. Почитай пока то, что есть. А вопросы, если будут, то либо в Скриптование, либо в Язык Lua. Общие вопросы программирования. В зависимости от сути вопроса. http://rghost.ru/54049614 -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Капрал Хикс Это может проверить только сам Ali_Babai_45. xrСпавнера больше, наверное, ни у кого не осталось. -
[SoC] Ковыряемся в файлах
Nazgool ответил на тему форума автора Halford в Скрипты / конфиги / движок
Вы не совсем усвоили эти уроки. тов. 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-ом по счастливому стечению обстоятельств, или по недосмотру разрабов, игра не вылетает. -
Не буду оригинальным. Сын попросил подшаманить кое-чего в игре. Вот я и зарегистрировался кое как. С тех пор и по сей день бесят цифры в нике. Если можно уберите их, или смените пожалуйста ник Gun12 на Nazgool. У меня и почта под таким ником. Ник изменен на Nazgool.
-
Shadows Каждый преследует свои цели. Предлагая идею динамического файла, я не не ставлю цели читать оригинальные в принципе. Потому что мне это не нужно. Пока не задавали дополнительных вопросов, но я опережу события. Дело в том, что создавая объект окна, я храню в его userdat-е только участок кода, который описывает сам объект. Практически это всегда простая таблица, изредка со вложенной таблицей. Применять для этого специальный синтаксис, я думаю, не целесообразно. Опять же, учитывая поставленные цели. Это я делаю для того, чтобы не перезаписывать весь файл. Неизвестно каких размеров он мог бы быть. Небольшой блок кода записывается практически мгновенно. Поэтому и работа функции (той же find) предполагает работу с классическим XML. А для Сталкера идея и исполнение Charsi отличное.
- [ЧН] 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
- ...и другие моды