Viнt@rь 50 Опубликовано 8 Января 2012 (изменено) xStream, Но для меня главное, что ты понимаешь, что такое псевдо-ООП. Смею на это надеяться. благодаря тебе - уже понимаю и да, все дело в уже приевшихся привычках Gun12, как я заметил(по "своим" таймерам) будет довольно таки весомым... Смотри пример: код простенький, но тут суть не столько в коде, как хоть каком-то наглядном примере... ЗЫ подправил код заметил, что пример фиговый))) local TimerTrigger=time_global()+1000 function aaa() if TimerTrigger-time_global()==0 then ... end end вот в таком виде, походу, все что после проверки условия "проиграется" только в 10% случаев, а то вообще не "проиграется", а это значит. что всегда гарантировано опоздание вызова, по примеру таймеров тех, что я выкладывал, я не спроста поставил вывод в лог разници между секундами после условия, а именно c целью отслеживать на сколько опаздывает функция, и это время всегда разное... в игровых секундах я получаю примерно такие значения -0,15*; - 0,25; к тому же не исключены фризы в игре при этом вызов опаздывает примерно на столько -7,00015* и тп и это все на 1 апдейте, если же еще считать, то что таймер вызовится на 1 апдейт позже, то смело можно умножать эти цифры на 2, ато и больше... ЗЫЫ пример приведен на основе глобального времени, цифры приведены на выводах основаных на игровом времени... но это не так важно, так как что так что так опоздание будет всеравно....в глобальном времени например к 1000 мс прибавляется до 100мс при работе без подвисаний, если было подвисание, то может быть и такое к 1000 мс около еще 3000 мс Изменено 8 Января 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 8 Января 2012 (изменено) xStream, вот в таких случаях, ИМХО, и лучше использовать цикл, так как все прогоняется на 1 апдейте, НО! "голый" цикл на апдейте может быть причиной тех же фризов и тп, мое предожение сделать тип функций, в смысле "важная/неважная" функция, тоесть, если был запущен таймер функции с флагом "важная", то постоянно проверять истечение таймера для нее, если же неважная, то тогда всеравно, как часто ее проверять, можно хоть и раз в 5 сек(глобального времени, к примеру) ЗЫ идею берег для себя, но всетаки решил поделиться, заодно и узнаю, насколько она хороша) Изменено 8 Января 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 8 Января 2012 При срабатывании таймера, не только находим тот, который будет выполнен в следующий раз, но еще и смотрим, есть ли еще такие, что должны сработать сейчас кстати было такое в мыслях, но как-то отложил "на потом" вместе с идеей о флаге... GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 9 Января 2012 (изменено) Если есть возможность, то попрошу вас обсуждать принцип реализации луабинд в этом топике, мне интересно почитать) Добавлено через 73 мин.: Вопрос, в том лаунчере функций(таймере), что я выкладывал, на апдейте висит "голый цикл"(ну или вот код функции апдейта лаунчера), это может повлиять на игру?, в смысле не будет ли лагов/фризов/подтормаживаний изза него? Информация в догонку: обычно в массиве self.aLauncher 1 постоянный таймер(сна, скоро добавится еще 1 постоянный таймер) и иногда разовые таймера запускаются... function CSpLauncher:UpdateFuncs() if self.iTblSize < 1 then return end for sName, aFnc in pairs(self.aLauncher) do if aFnc.oTime:diffSec(game.get_game_time()) <= 0 then _log("CSpLauncher:UpdateFuncs:=Func:[%s] diffSec(%s):", sName, aFnc.oTime:diffSec(game.get_game_time())) local oFunction = loadstring(aFnc.sValue) self:DelFunc(sName) oFunction() --exemple end end end Изменено 9 Января 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 15 Января 2012 Возможно не по теме топика пишу, но все же... 1. К примеру, уважаемая xStream, вот почему ты ограничиваешь себя стандартным обьемом для сохраняемых данных, в смысле почему бы не написать что-то на подобии лаунчера от Алпета: написать функции, которые бы сохраняли/загружали/удаляли данные в отдельный файл, в итоге не пришлось бы себя ограничивать тем мизерным обьемом для сохранения данных... ЗЫ это касается не только xStream :ny_smile: 2. malandrinus, по поводу x-ray extensions, не знаю говорили ли тебе про это или нет, но если врезать: "0x1022398D 5 global_space_ext" в xrGame.dll, то оно приводит к битым сейвам... GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 30 Июля 2012 Vano_Santuri ВОТ! все что осталось из таймеров-хранилищ от xStream, все остальные паки/скрипты на хостингах были удалены, в том числе и наработки malandrinus GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 17 Сентября 2012 (изменено) Ребят вопрос, возможно ли в LUA такое: ... for i=1,3 do local vName_..i = "vName_"..i end ... Изменено 17 Сентября 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 17 Сентября 2012 (изменено) Artos, есть одна идейка, сделать свой дебаггер/отладчик так сказать, точнее, усовершенствовать его, и выложить в люди, облегчить конечному пользователю использование данной вещички, вот с помощью таких "извратов" не надо будет создавать там к примеру 300 строк(каких то) за ранее и заставлять пользователя вписывать все под себя(к примеру в окне опций вкл выдачу/запись логовых функций из данного скрипта или нет(я имею ввиду инициализацию кнопок и тп)), сделать, так сказать, автономность, от пользователя останиться лишь закинуть скрипт куда надо и добавить в табличку, или в список в *.ltx(пока не определился), да и для себя тоже интересно, получиться ли такое или нет)) Изменено 17 Сентября 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 17 Сентября 2012 (изменено) ColR_iT, Artos, спс В принципе, я догадывался, что с полями таблиц можно такое творить, мне интересно было узнать, можно ли такое делать именно с такой формой обьявления переменной(local vName="vName"; vName="vName"). ЗЫ Artos, да, чет не подумал заглянуть в твои скрипты)) обычно оттуда и тяну все интересное/полезное/нужное, а тут совсем вылетело из головы) Изменено 17 Сентября 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение
Viнt@rь 50 Опубликовано 9 Ноября 2012 (изменено) Ради интереса, можно ли в Lua реализовать такое, к примеру: local n = 1 n++ на подобии С++? Изменено 9 Ноября 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Поделиться этим сообщением Ссылка на сообщение