Kenix

Other Languages Moderators
  • Content Count

    4,133
  • Joined

  • Last visited

Community Reputation

40 Good

About Kenix

  • Rank
    Russian Section Moderator
  • Birthday 31/01/1996

Details

  • Location
    Russia, Saint-Petersburg
  • Occupation
    Student
  • Interests
    Creating/listening music, programming/scripting, helping.

Recent Profile Visitors

4,399 profile views
  1. Kenix

    Архетектура МТА

    https://wiki.multitheftauto.com/index.php?title=RU/Server_Commands https://wiki.multitheftauto.com/wiki/Введение_в_скриптинг https://wiki.multitheftauto.com/index.php?title=RU/Server_Manual
  2. Kenix

    Вопросы и ответы по MTA.

    https://community.multitheftauto.com/index.php?p=resources&s=details&id=57
  3. При вызове рендера у вас происходит вызов функции глобальной. Чтобы это оптимизировать вы объявляете функцию локальной. Т.е чтобы добиться максимального эффекта вы можете сделать в одном ресурсе (в одном скрипте) следующее: local tocolor = tocolor; local dxDrawText = dxDrawText; local function dxDrawFramedText ( message , left , top , width , height , color , scale , font , alignX , alignY , clip , wordBreak , postGUI ) dxDrawText ( message , left + 1 , top + 1 , width + 1 , height + 1 , tocolor ( 0 , 0 , 0 , 255 ) , scale , font , alignX , alignY , clip , wordBreak , postGUI ) dxDrawText ( message , left , top , width , height , color , scale , font , alignX , alignY , clip , wordBreak , postGUI ) end addEventHandler( "onClientRender", root, function() -- Тут вызываете dxDrawFramedText end ); Также вы можете добавить условия, например по дистанции игрока от вас, если слишком далеко то соотвественно вызов функции у вас не будет и вы сэкономите FPS. В плане производительности - да. В плане написания больших проектов - нет, вам нужно будет так или иначе разделять логику по скриптам для удобства. UPD: То что я показал это самый быстрый вариант, далее по убыванию более худшие это: - Вызов глобальной функции (которая находится в другом скрипте, в том же ресурсе). - Использование OOP - метатаблиц. В Lua оно не особо быстрое, особенно в циклах. - Вызов функции, которая в другом ресурсе. Через call/exports[ "resourse" ]:Функция( аргументы ); Тоже занимает какое-то время. - Также занимает время вызов из Lua функции C++ (что мта и делает), но тут вы уже ничего не сделаете, даже попытка разработчиков MTA внедртить LuaJIT не имеет смысла. Такие хаки следует использовать на критичных по производительности местах (рендер и большие циклы). В обычном случае такого делать не стоит, вы только усложните все. Вроде ответил очень подробно, но если у вас есть вопросы то пишите.
  4. https://community.multitheftauto.com/index.php?p=resources&s=details&id=977
  5. Создайте отчет на баг трекере: https://bugs.multitheftauto.com/ Приложите всю информацию.
  6. На Wiki функции centerWindow есть пример. addEventHandler( "onClientResourceStart", resourceRoot, function() myWindow = guiCreateWindow( 350, 100, 200, 250, "Window Title", false ) end ) addCommandHandler( "center", function() if myWindow then centerWindow( myWindow ) end end ) При старте ресурса появится окно. Как только вы напишите команду /center окно будет отцентрировано под ваше разрешение экрана. Не забудьте функцию centerWindow скопировать и вставить в код.
  7. 1. MTA должна идти по идее на всех разрешениях. Если у вас не пошло на весь экран, то нужно создать отчет на баг трекере и приложить всю информацию. https://bugs.multitheftauto.com/ 2. В МТА используется абсолютные размеры интерфейсов (px) или относительные размеры (в % от экрана). В большинстве случаев используют абсолютные значения. Я в проектах использовал позиционирование вот так: Если это диалоговое окно на весь экран. https://wiki.multitheftauto.com/wiki/CenterWindow Если это HUD элемент то от ширины/высоты окна вычитал/прибавлял px размера интерфейса.
  8. + Определить все функции локальными переменными.
  9. Intro Gamemode based on Battlefied 3/4. Fully rewrited if you ever played before. About the server Teams: - USA - RUS Classes: - Assault - Support - Engineer - Recon Modes: 2 different modes. CP - Capture Point Assault - Destroy the transmitters and move on. Progress: Open new weapons and upgrades for vehicles. Lobbies: - Large - Medium - Small. Features - Lobbies - Progress - Customization (Skins only) - New UI - 3D HUD - Squad - Voice (/w squad or not) - Settings (Audio, Video, HUD and etc) - Shaders, HD Textures - Weapon fire mode - New weapons - Upgrades for vehicles (In progress) - First person mode for vehicles - Multi-language (English, Russian) you can send your translates. - Improved performance Media Join us: IP: mtasa://178.33.224.67:22003 Website: bfmta.com Discord: Discord
  10. Вот полный список что нужно изучить в MTA, это и языки программирования и софт. Вам придется это изучить если вы хотите делать проекты любого уровня и возможностей, либо помогать MTA. Разработка игровых режимов Lua - https://forum.mtasa.com/topic/27040-русские-доки-мануалы-туториалы-по-lua-и-mtasa/ База данных MySQL - Если хотите сохранять удаленно/локально, очень популярна для больших проектов в MTA. SQLite - MTA Использует по умолчанию для локальной базы, также есть множество функции, которые работают с ней (Account функции). Чаще используют мелкие проекты. Язык структурированных запросов SQL Шейдеры: HLSL - https://wiki.multitheftauto.com/wiki/Element/Shader Остальное: XML - MTA использует такой формат данных в конфигах JSON - Обработка ответа от веб запроса Создание UI используя CEF. HTML CSS Javascript CEF - https://wiki.multitheftauto.com/wiki/CEF_Tutorial Модули/Патчи/Разработка MTA C++ - В основном вся MTA, модули и некоторые библиотеки. C - Используется в библиотеках Модули - https://wiki.multitheftauto.com/wiki/Modules Visual Studio - Разработчики MTA используют именно её. Система контроля версий Git Реверс Assembler IDA Pro - Программа для дизассемблирования CheatEngine - Нахождение адресов памяти Стиль написания кода MTA: https://wiki.multitheftauto.com/wiki/Coding_guidelines Стиль написания кода для игрового мода: https://forum.mtasa.com/topic/34355-как-лучше-всего-выложить-код/
  11. Карту в пределах SA делайте
  12. Kenix

    Помогите)

    https://wiki.multitheftauto.com/wiki/MacOS
  13. Kenix

    [Scripting] Changing the programming language.

    Sometimes needs more speed in Lua, using LuaJIT will resolve this problem. I don't know a current progress level of LuaJIT integration into MTA, maybe someone can answer on this question?