Jump to content

Клиентские модули


Recommended Posts

Клиентские модули написать для МТА нельзя, как бы это банально не звучало, но если бы они были, то была бы проблема с безопасностью.

Поэтому в модуле вы можете писать только функции, которые могут выполняться на стороне сервера.

Вот вам первые шаги по написанию модуля.
MTA WIKI: https://wiki.multitheftauto.com/wiki/Modules
Модули для МТА на Git Hub'e: https://github.com/multitheftauto/multitheftauto-modules

Edited by Kenix
Link to comment

Вы можете написать патч для МТА, который бы добавлял функционал, который вам нужно, тогда никаких проблем не было бы.

А вообще, напишите суть, а то не совсем понятно про что идет речь.
 

Edited by Kenix
Link to comment

Суть: я пишу физику автомобилей которая полностью заменяет стандартную физику RenderWare. Соответственно там существует огромная нагрузка со стороны математических операций (преобразования векторов/матриц, вычисления). В принципе конкретно у меня с процессором i5 3.4гГц все хорошо. Но вот пробовал запускать на i3 1.6гГц - фпс провисает с 80 до 30. Соответственно было бы неплохо все вычисления перенести на С++, чтобы хорошо было у всех. Но видимо не судьба.

Link to comment

В МТА был бранч добавляющий LuaJIT (более ускоренную версию Lua), возможно если он бы был готов, то ваша проблема была бы решена.

На данном этапе вы можете создать отдельный бранч с измененной физикой автомобилей и работать над ним. Других выходов я пока не вижу.

Но перед этим я бы рекомендовал вам поговорить на irc канале с разработчиками МТА.
Возможно ваш бранч смогут объединить с основной веткой МТА.

-- UPD (13:04)
На счет производительности это дело случая, но вот вам советы, которые могут помочь при решении ресурсоёмких задач.

1) Определяйте функции заранее, которые вы хотите использовать. Доступ к локальным функциям происходит намного быстрее нежели чем к глобальным.

local getElementPosition = getElementPosition;


2) При очень сильных ресурсоёмких задачах никогда не используйте ООП в MTA (где используется setmetatable), очень сильно падает производительность, особенно на циклах.

И ещё я хотел бы порекомендовать вам использовать ресурс performancebrowser, чтобы узнать где у вас самые сильные проседания и нагрузки.

Попробуйте проанализировать, чтобы найти проблемный участок кода, также вы можете его скинуть сюда, возможно мы что-нибудь придумаем.

Edited by Kenix
Link to comment

Спасибо за советы. Про оптимизацию кода я в курсе, там уже все оптимизировано по максимуму. А вот без ООП размер кода вырастет раз в 5-10. Да и не особо хочется рушить структуру классов, править/находить ошибки потом будет почти невозможно.

LuaJIT выглядит более реально, может быть займусь его внедрением потом. Но там может возникнуть проблема - где-то на этом форуме вычитал что разработчики МТА не хотят внедрять новые версии LUA из-за проблем с совместимостью.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...