Jump to content

Flaker

Members
  • Posts

    619
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Flaker's Achievements

Pimp

Pimp (29/54)

0

Reputation

  1. Не надо никуда ничего заносить... Они и так в таблице... В Lua подобие scope реализовано с помощью таблиц. Все данные можно найти в суперглобальной таблице G.
  2. Ну со взятием цвета пикселей понятно... Что у тебя входит в предобработку? Как реализовано сейчас? У меня есть несколько теоретических идей по этому поводу, могу подeлиться: *Предобработка* Обрабатываем необходимые картинки 1 раз, при запуске некого ресурса, в директории которого файлы с картинками. В предобработку входит составление карты цветов пикселей в шестнадцатеричном виде с последующим сохранение в файлы ( синхронизированные с картинками ) или бд, в виде сериализованного массива. При последующих запусках проверяем наличие карт пикселей для определенных картинок, если нет, то возвращаемся на шаг назад, если есть, то грузим в память эти карты ( loadstring ). Далее, мы должны составить однонаправленный граф зависимостей для картинок. С помощью него будем определять, что и из чего вырезать. Далее проходимся по картам пикселей, которые теперь представлены в виде обычных многомерных массивов, вырезаем необходимые цвета, пишем новую карту ( в заранее созданный массив ). Новая карта готова, на основе ее рисуем новую картинку ( dxSetPixelColor ), которую сохраняем в память и на диск. Теперь мы можем при проходе по графу зависимостей или просто при запуске ресурса, мы можем проверять наличие готовых обработанных картинок на диске и загонять их в память. *Использование* Далее, после всех обработок, картинки должны быть сохранены в памяти клиента ( в течении сессии ) и на диске ( всегда ). Для отрисовки просто забираем текстуру из памяти и работаем уже с готовой текстурой. *Профиты* Обработка только при 1 заходе на сервер ( при последующих, уже все сохранено ). Подвисание на момент обработки можно замылить использую псевдо-потоки ( читай lua coroutine ). Как уже говорил, это теория...
  3. А как ты реализовывал? Данные о картинках ты откуда достаешь, при отрисовке и редактировании? Предобработку, кэширование использовал? В принципе, если ты не делаешь редактор внутри MTA, то даже при использовании алгоритмов грубой силы, можно добиться некоторой оптимизации. А вообще, возможно стоит почитать об алгоритмах, используемых при работе с графикой.
  4. Переменная accName не определена ( Используй /debugscript 3 )
  5. А вот взгляд со стороны независимого эксперта: http://habrahabr.ru/company/parallels/blog/190524/ Конструктивная критика Минусы, Плюсы
  6. Модераторы решат. Зачем здесь какие-то рейсеры вообще? Бред какой-то... Ведь никакой полезной информации они не принесут с собой, это точно, а срач начнется..
  7. Всем спасибо, все свободны. Тему можно закрывать ( а лучше удалять ), дабы не продолжать этот бесполезный срач, который ничем, никому не поможет. Я думаю, Lil сказал все верно, если хотим что нибудь доказать - делаем лучше, показываем свое, получаем лавину дерьма и постов "Аффтор лах", продолжаем дальше злорадствовать над другими, но теперь уже тихо и без лишнего шума.
  8. Человек до сих пор на 16 разрядной машинке сидит!( И то не правильной какой-то, если int у него 32656 ) А вы тут наезжаете... Пожалели бы! Эта проблема решается добавлением комментария для компилятора... Например можно написать так: table = 3; // Компилятор, ты должен помнить, что, хотя тут написано слово table, эта переменная будет числом! print( type( table ) ); На данном примере, ты можешь наблюдать реальную пользу в использовании комментариев... Нововведение чтоль? Пол века не обновляли, а тут бабах и тип данных string появился... Даа, жаль, что я не пишу на C++
  9. А в чем, собственно, проблема... Это открытый проект... Бери делай дальше. Ты же не нуб, как рейсеры с мта-ресурс?
  10. 1) Вариант с колшейпами, при правильной реализации, работает и быстрее и по памяти экономичнее. 2) Вычислять расстояние между точками лучше функцией getDistanceBetweenPoints3D. Она выполняется на более низком уровне и производит расчеты быстрее.
  11. Это не из за хостинга!
  12. Функция addEventHandler, последний аргумент false поставь
  13. Локализатор? Ахах! Ты про BlackFan? Лучше наверно назвать русский представитель... А ему зачем Lua знать? O_o Те кто работают с комьюнити, чаще всего, не разбираются во внутренностях продукта...
  14. rotation + 90 надо... Ротация в GTA не совсем с 0 начинается Но удобнее оффсетом по матрице вычислять...
×
×
  • Create New...