Jump to content

TheNormalnij

MTA Contributors
  • Posts

    680
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by TheNormalnij

  1. MTA-AES Данная библиотека реализует симметричный алгоритм шифрования Advanced Encryption Standard на клиентской и серверной стороне, что может использоваться, например для создания аналога cookie на клиенте, которые будут активировать автовход на сервер; шифрование важных файлов/информации на клиенте или сервере. Использование: -- Для шифрования string encryptedString = exports['MTA-AES']:encrypt( string passworld, string data [, string cryptType, string mode ] ) обязательные аргументы: passworld - пароль для шифрования; data - данные для шифрования; Опциональные аргументы: cryptType - тип шифрования, от него зависит размер ключа. Может быть: AES128 ( стандарт ), AES192, AES256; mode - режим шифрования. Может быть: CBC ( стандарт ), ECB, OFB, CFB; Возврат: encryptedString - зашифрованные данные; --Для дешифрования: string data = exports['MTA-AES']:decrypt( string passworld, string encryptedString [, string cryptType, string mode ] ) обязательные аргументы: passworld - пароль для шифрования; encryptedString - зашифрованные данные Опциональные аргументы: cryptType - тип шифрования, от него зависит размер ключа. Может быть: AES128 ( стандарт ), AES192, AES256; mode - режим шифрования. Может быть: CBC ( стандарт ), ECB, OFB, CFB; Возврат: data - расшифрованные данные; При шифровании/расшифровки режимы и типы должны совпадать! Авторы: Matthias Hilbig ([email protected]) -- написание основного кода. TheNormalnij -- портирование для МТА. Лицензия: GPL Ссылка на комьюнити.
  2. Потому что то значение, которое вы записываете, используется только для записи/выгрузки какой-то специфической информации, которую вряд ли вы будете использовать где-то ещё. Локальная переменная то, что надо. Не забудь, что обработчик можно вешать сразу на всю ветвь myMarkerRoot.
  3. Красиво было бы так не делать, всегда есть оптимальный безопасный путь.
  4. Минимальный вариант на ресурсоемкость: --server local myMarkerRoot = createElement( 'myMarkerRoot', 'myMarkerRoot' ) -- где-то в скрипте создаем маркеры local marker = createMarker( x, y, z, type ... ) setElementParent( marker, myMarkerRoot ) --client local myMarkerRoot = getElementByID( 'myMarkerRoot' ) -- используем маркеры for key, marker in pairs( getElementChildren( myMarkerRoot ) ) do end
  5. Не усложняй, зачем такая замудренная система. Касается обоих.
  6. Продолжу. Для того, чтобы заменить файл в имг, img tools, для экономии времени, скорее всего записывает файл в конец блока данных и меняет смещение для одного файла. Это баг МТА.
  7. Элементарнее языка, чем Lua не видел. Вы не могли понять в нем массивы? Скорее всего вы не изучили полноценно хотя бы один ЯП.
  8. Тут в другом проблема, скорее всего, в самом формате img. IMG архив состоит из Хейдера в 8 байт ( 4 байта - версия формата, для SA "VER2#; 4 байта - кол-во файлов. ) Далее для каждого файла расписано: 4 байта - смещение в сектора 2 байта - размер в секторах 2 байта - всегда 0 24 байта - имя файла Сектор равен 2 Кб. После списка файлов начинаются сектора с данными. Поэтому после замены файла большим, редакторы перераспределяют пространство, для более компактного хранения. МТА скорее всего в таком случае сохраняет смещения файлов, а не хеши, что есть плохо.
  9. В программировании имеет максимальную значимость логика, по которой пишется код, чем сам язык, на котором код пишется. Для Lua достаточно материалов и документации, чтобы начать программировать. Главное, чтобы человек осознал принципы программирования, правила оформления кода.
  10. Никак, заменяйте, в гта много объектов, которые вы не используете.
  11. Такая дыра в безопасности... Такая система аналогична тому, что я знаю все твои логины и пароли и могу войти на серв с админскими правами.
  12. Не надо так, такие методы написания условий только портят код ИМХО.
  13. Сначала надо как-нибудь код стилизовать. Сделать легкое добавление новых ворот. Обозначить области видимости переменных.
  14. https://wiki.multitheftauto.com/wiki/GetPedMaxOxygenLevel[/url Возможно, меняется стат, поэтому эту функцию можно заюзать.
  15. Кто-то показывал, как хардкорно можно юзать ООП в Lua.
  16. Я немного видел, в каком стиле ты пишешь код, в нашем случае string таблица, а не функция, поэтому: dxDrawText( tostring( getPedArmor( Ped ) ), x, y, w, h, ... );
  17. таймер, эффект тоже время свое имеет.
  18. Я думаю, что несложно будет подделать запрос.
  19. onClientSoundStopped + плейлист в таблице + сохранения текущего положения в плейлисте.
  20. https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#Ped_functions https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#Element_functions
×
×
  • Create New...