Desertir 202 Опубликовано 13 Декабря 2014 Вариант с * delta -- это действия, производимые каждый апдейт. И это единственно верный вариант для моделирования более мене реального поведения системы. Чем оно плохо - можно увидеть на примере работы acr*.script Что это? Для тех, кто не знает названий скриптов популярных модов, например для меня, это ничего не говорит. Частенько замечал за тобой такое, приводи мод или стразу код. Может я зенки не протер, но в ориге я не нашел такого. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 13 Декабря 2014 (изменено) случайны интервалы от 20 до 70 ms Это не просто случайная величина, это как раз число, которое вносит, порядок в игру, благодаря которой сталкеры не бегают со скоростью света, а пули не падают в обморок, пролетев 10 метров, т.к. их движение описывается формулами, которые зависят от времени, т.е. дельты. Любое программное движение (изменение чего либо), надо рассчитывать через дельту. Это не спор, тут просто не о чем спорить. Мы живем в таком мире, где законы кинематики статичны и время течет с постоянной скоростью. Вот если бы время ускорялось и замедлялось, тогда можно подумать о дельте как бы второго порядка PS: я докумекал, почему @Dennis_Chikin говорит про константу, у него же таймер на 1 секунду... Эх невнимательность. Изменено 14 Декабря 2014 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 2 Января 2015 Та самая статья, про которую я где то уже упоминал. Там вроде все тобой спрошенное описано. Там вообще вся скриптовая логика описана ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 11 Января 2015 (изменено) Все ссылки в шапке (спойлер Логика) на сталкерин битые. Проще просто руками убрать после index.php слеш и написать вместо него ?title= Например: http://www.stalkerin.gameru.net/wiki/index.php/Настройка_логики._Часть_0 http://www.stalkerin.gameru.net/wiki/index.php?title=Настройка_логики._Часть_0 Изменено 11 Января 2015 пользователем Desertir 1 ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 13 Февраля 2015 @Zander_driver, тов. @Malandrinus показывал в Курилке, что так и сохраняет свой менеджер (ну или что там). Там вроде все аргументированно. На счет создания одного экземпляра, а зачем класс делать для него? Просто функциями в скрипте не сделать? ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 14 Февраля 2015 (изменено) self.reactions[self.data[a].type](self.data[a], SCAS, SCAM) По мне так ничего "монструозного" нет. Что бы я сделал, так это переименовал переменную "а" в что-то более информативное, и не важно, есть ли комментарий, описывающий эту переменную, и еще сделал бы так local data_a = self.data[a] --data_a тоже назвать поинформативнее self.reactions[data_a.type](data_a, SCAS, SCAM)Кстати, "приватные" поля, как и методы, вполне реализуются замыканием. Это не класс, тут нет никакого конструктора, а "объект" только один, но для демонстрации примера сойдет. local obj = (function() local o = {} local v = 0; o.get_value = function() return v end return o end)() print(obj.o) print(obj.get_value()) И делать их надо во время загрузок-сохранений актора. поидее.Ну не знаю. Получается то, что загружается. должно зависеть от актора -> погода зависит от актора Изменено 14 Февраля 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 14 Февраля 2015 (изменено) @xStream, это про чей пост, мой? Это счетчик цикла, если что.Для рядового скриптера буковка А будет означать все что угодно. А например "index" или хотя бы "id" уже что-то. будет ругаться DCЯ так посмотрю тебе важно мнение только одного человека. Для таблиц можно и in pairs использовать. И это не было критикой, я написал, как сделал бы я, код становится более легкочитаемым + вдруг я захочу использовать эту переменную снова в цикле, опять придется писать self.data[a] + если я чтото изменю надо будет это исправлять во всех местах, да и вообще дублирование кода моветон. Скорость выполнения обсуждать не собираюсь. Добавилось конкретики? Изменено 14 Февраля 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 28 Февраля 2015 (изменено) @mumie, может что-то вроде function execute_by_name(function_name) local my_function = my_library[function_name] if type(my_function) == "function" then my_function() end end Изменено 28 Февраля 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 1 Марта 2015 (изменено) @mumie, изучи маленько регулярные выражения. А вообще замени a на w. Изменено 1 Марта 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 1 Марта 2015 (изменено) @mumie, точка это любой символ, шаблон .+ вернет всю строку. Если ты делишь строку на слова, разделенные пробелом, которые содержат числа, тебе нужен паттерн %w+. В твоем вопросе не было никакой конкретики по поводу того, какие строки ты пытаешься делить, кроме "разделяю строку на слова" (можно предположить по пробелам или запятым или чем-то не буквенным) и "смешанная строка". Что значит "смешанная", что с чем смешали? А вопрос "как ведёт себя функция с цифрами" весьма странный. Нормально ведёт, не хулиганит, только шаблон нужный надо задавать. Изменено 1 Марта 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 1 Марта 2015 На любителя.Ага. [a-zA-Z0-9]+Да чего уж там, можно все и перечислить abcde... Но S это отрицание s, так что S не эквивалентно w. Поэтому я оговорился, не обязательно пробелами делить слова (коммы например). Твой случай захватит и некоторые другие символы кроме букв и цифр, а речь пока шла только о них. Я к чему, что это 2 разных случая, так что "до жиру" и даже вполне. Нет, если у него нету запятушек и прочего то без разницы, но мало ли. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 2 Марта 2015 (изменено) У меня процентов на 60 оно уже сделано.А что там? такие мелочи могут кардинально изменять кодТак именно, только вот для тебя мелочью является "пробелы", а для меня "слова", и сразу видна разница Как я рассуждаю "мне из строки нужны слова", а ты рассуждаешь "мне надо разделить строку по пробелам", я правильно понял? Но чего нужно автору, только ему и известно. говорилось о пробелах и соответствии им шаблона %w+Ну да, если посмотреть с этой стороны, то шаблон не тот Изменено 2 Марта 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 13 Апреля 2015 Как вам моя идея? Есть ли у неё перспективы?Такое уже есть, как минимум в двух экземплярах - это я еще не особо осведомлённый в делах скриптового моддинга. Но на еще один велосипед посмотреть можно, сарказма тут нет, ибо так оно и есть. 1. Убило название функции для срабатывания события - setAction. Установить действие? Иногда называют такие методы fire или fireEvent, но не setAction. 2. Нет передачи аргументов в хендлеры. 3. Нет прерывания срабатывания событий (в цикле). 4. Симпатичное комментирование кода, конкретно описание аргументов + тип. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 2 Июня 2015 (изменено) @Struck, в данном случае ты слишком придираешься к словам, да, аргумент, а что он обозначает? Делёные точкой модуль и имя функции, которая будет вызвана в конце анимации, или что там у вас. Что это по твоему, если не коллбек на окончание? Что по твоему коллбек? Изменено 2 Июня 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 30 Августа 2015 я блин больше времени убил, пока писал аналог на С++Ну ты сравнил динамический и статический языки... Зато на плюсах надежно. Почти, гы. Такой вопрос, стоит вводить систему "эвентов" ?Этаж какую? Которую уже реализовали раза 2-3 профи и еще каждый любитель свою запилил? Или что то с движком связанное? Уточняй. Прости мою придирчивость, но я поправлю, event произносится через И - "ивэнт"/"ивент". ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 13 Октября 2015 (изменено) @Romz, почему у тебя проверка на пустоту таблицы это сравнением с nil? Пустая таблица это вполне себе живая переменная, nil'ом не является. Далее не вполне внятная для меня конструкция levels_list = levels_list{new_level_name}. Это как вообще? Может levels_list = {new_level_name}? Я не совет даю, полноценной задачи не знаю, но я бы сделал так. Хеш таблица с именами локаций в качестве ключа, а значениями является флаг true|false. Без всяких заморочек с поиском, проверками на пустоту и прочими мною нелюбимыми действиями. Изменено 13 Октября 2015 пользователем Desertir 1 ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 13 Октября 2015 Потому что в начале игры "levelname" не существует. (см. конструкцию)Из кода видно только то, что значению levels_list присваивается результат функции GetVar. Что и как она должна возвращать я не знаю. Если переменная может быть nil, тогда несколько вариантов и один из адекватных - передавать в функцию GetVar вторым аргументом дефолтовое значение. К чему я веду, у тебя эта проверка сработает один раз за всю игру, т.к. далее ты не присваиваешь этой переменной значение nil. Значение по умолчанию + проверка именно на количество. 1 ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 15 Октября 2015 @Serge!, какие побочные моменты может вызывать функция type(value)? ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 15 Октября 2015 @Serge!, а как ты думаешь, что вернет твоя функция isBool если в качестве var будет объект с типом userdata? По названию эта функция должна проверять, что var есть булево значение, тем не менее в ней есть проверка var ~= false и нет проверки на ту же userdata. Какая то загадочная функция. Почему тебе следующий вариант не нравится? function isBool(value) type(value) == 'boolean' end И действительно, в доки надо бы заглянуть и убедиться, что эта функция (type) возвращает конечное число строковых значений. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 15 Октября 2015 (изменено) Расшифруй.Я о том, что type возвращает одну из строк nil, boolean, number, string, userdata, function, thread, tableОни все известны, их конечное число и они описаны в доках, и мне непонятна фраза про непредсказуемые моменты. Всё вполне предсказуемо. Ну типы то надо знать... Изменено 15 Октября 2015 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение