- Исправлен патч античита в SA-MP 0.3.7-R1.
- Исправлен текст сообщений об установке хуков.
- Поддержка SA-MP 0.3.7-R5.
- Поддержка масштабирования интерфейса в консоли.
- Возобновлена совместимость SF-плагинов с SAMPFUNCS для разных версий SA-MP.
- Требование к необходимому компоненту DirectX 9 изменено на более раннюю версию, отдельная установка которой не обязательна.
- Исправлена перезапись данных входящих пакетов в RakNet хуке. Проблема могла вызывать вылеты игры, утечки памяти и повреждение данных.
- Исправлен вылет при изменении ника игрока посредством CLEO и SFAPI в SA-MP 0.3.7-R3-1 и 0.3.DL.
- Исправлен вылет при выводе сообщения в лог, в тексте которого присутствуют спецсимволы.
- Исправлен вылет при выходе из игры.
- Исправлено нарушение работы скриптового RakNet хука при срабатывании другого или того же самого хука изнутри.
- Исправлен неверный результат возвращаемый опкодом 0B61: samp is_local_player_spawned в SA-MP 0.3.7-R3-1 и 0.3.DL.
- Исправлены проверки размера данных в функциях BitStream::ReadBits и BitStream::Read.
- Исправлены артефакты в виде чёрных полос рядом с некоторыми символами при рендере текста.
- Исправлена растеризация шрифтов большого размера.
- Совместимость с новыми версиями Sanny Builder (≥3.9) в виде отдельного режима редактирования.
- Добавлен шаблон CMake проекта SF-плагина.
- Пример проекта SF-плагина для Visual Studio заменен установщиком шаблона проекта.
- В SFAPI включены заголовочные файлы для всех поддерживаемых версий SA-MP с возможностью выбора целевой версии во время компиляции.
- Упорядочены заголовочные файлы SFAPI, в структурах SA-MP есть исправления размещения, типов и названий полей.
- Исправлен баг препятствующий перезаписи данных входящих RPC
- Переделаны все хуки для обеспечения совместимости с хуками других модов
- Убрана проверка обновлений, сбор статистики и упаковка
- Функция запуска нескольких процессов игры (multiprocess) отключена по умолчанию и исправлена для совместимости с модом Silent Patch
- Отключен по умолчанию обработчик необработанных исключений
- Опкоды 0B48 и 0B49 теперь работают со стилями DIALOG_STYLE_TABLIST и DIALOG_STYLE_TABLIST_HEADERS
- Оптимизирован опкод 0AFF, в нём использовался старый код, который создавал заметную нагрузку при многократном вызове
- В некоторых случаях колбэк "game destructor" вызывался дважды в SF плагинах
- Устранена ошибка компиляции SF API "<hash_map> is deprecated and will be REMOVED. ..."
- Приведены в порядок инклуды SF API и настройки проекта SF плагина
- Небольшие изменения в тексте и незначительная оптимизация в некоторых местах
- Добавлена поддержка боковых кнопок мыши
- Исправлен вывод цветного текста в консоли
- Исправлены некоторые функции SF API
- Обновлены структуры сампа
- Изменен порядок выгрузки плагинов на "первый пришел - последний ушел"
- Чтение цвета ника теперь возвращает цвет в ARGB, вместо XRGB
- В API добавлена функция установки цвета игроку
- В API обновлены структуры
- Исправлена команда run
- В API добавлены функции работы с настройками сампа (samp.cfg)
- В API добавлена функция отмены регистрации команды чата
- В API добавлены функции чтения и записи текста в поле ввода чата
- В API добавлены функции получения и установки выбранного элемента списка в диалоге
- Исправлена загрузка на Windows XP и Windows 7 без обновления Service Pack 1
- Исправлена загрузка загрузочного экрана SAMPFUNCS
- Вылет при использовании команды cs
- Вылет при освобождении и рестарте SCM-потоков опкодами 0C6E и 0C6F
- Эмуляция статуса нажатости игровых клавиш
- Исправлен негативный результат выполнения опкода 0B35
- Баг опкода 0C2D: выход за границы массива
- Формат опкода 0C71
- Исправлен возвращаемый результат функций SAMPFUNCS::getChatCommands и SAMPFUNCS::getConsoleCommands
- Патч античита больше не вызывает конфликтов с "антиафк"-модами
- Баг функции рисования 2D-линии: в зависимости от ширины происходили неверные вычисления координат
- Вылет при использовании функции CWorldSA::FindGroundZForPosition
- SDK SAMPFUNCS API отныне совместим с VS2015
- Исправлена функция эмуляции входящего пакета
- Исправлена SAMP-структура stObject
- Возможность задать описание пользовательским командам
- Убрано оповещение о регистрации и отмене регистрации команды
- Команда cmdlist теперь выводит и пользовательские команды
- Команда threads выведет активные потоки, если параметр не задан явно
- При вызове команды help с параметром будет выведено описание команды, имя которой задано параметром
- Патч таймера скриптового движка игры активирован всегда без возможности отключения
- Усовершенствован обработчик нажатий клавиш
- Удалена возможность отключить консоль
- Новый формат файла настроек
- Эмуляция опкодов через консоль теперь обрабатывает исключения, чем предотвращает вылеты при возникновении ошибок, но, тем не менее, пользоваться этой возможностью надо с осторожностью, т.к. неопределённое поведение это не предтовращает
- Опкоды 0B25 и 0B26 теперь корректно возвращают здоровье и броню локального игрока
- Новая консоль
- Добавлена загрузка плагинов из поддиректории "core" - плагины из этой папки загружаются раньше остальных
- Ко всем консольным командам добавлено встроенное описание
- Консольная команда chatcmds: выводит список пользовательских чат-команд
- Опция оконного режима при старте (не очень стабильная, возможны конфликты)
- Добавлен альтернативный способ активации консоли
- Добавлен внутриигровой диалог настроек плагина (располагается в консоли)
- Функции и опкоды для принудительной обработки и отправки синхронизации игрока
- Добавлены функции для выполнения SCM-потоков встроенным скриптовым процессором
- Опкоды:
0C7F=2,samp set_client_command %1d% description %2d%
0C80=2,samp set_console_command %1d% description %2d%
- устанавливают описание консольной и чат команде
0C81=1,samp force_vehicle_sync %1d%
0C82=2,samp force_unoccupied_sync %1d% seat_id %2d%
0C83=0,samp force_onfoot_sync
0C84=0,samp force_aim_sync
0C85=1,samp force_trailer_sync %1d%
0C86=2,samp force_passenger_sync %1d% seat_id %2d%
0C87=0,samp force_stats_sync
0C88=0,samp force_weapons_sync
- принудительно обновляют и отправляют синхронизацию игрока
0C8A=2,samp %2d% = get_max_player_id streamed_only %1d%
0C8B=2,samp %2d% = get_player_count streamed_only %1d%
- возвращают максимальный ид игрока и максимальное количество игроков на сервере/в зоне стрима
0C8F=1,samp process_chat_input %1d%
- выполняет чат-команду посредством командного обработчика сампа (отличие от 0AF9 в том, что позволяет выполнять встроенные и пользовательские команды)
0C90=1, samp is_client_command_defined %1d%
0C91=1, is_console_command_defined %1d%
- проверяют, зарегистрирована ли команда
0C8C=3,render %3d% = load_texture_from_file_in_memory %1d% size %2d%
- загружает текстуру из файла в памяти
0C89=1, key_just_pressed %1d%
- проверяет была ли нажата кнопка (в отличие от 0AB0, проверяет была ли кнопка именно нажата, а не зажата ли она на данный момент)
0C8D=1,set_clipboard_text %1d%
0C8E=2,get_clipboard_text %1d% size %2d%
- устанавливает и возвращает текст буфера обмена
0C92=1,%1d% = get_cleo_library_version
- возвращает версию библиотеки CLEO
- некорректный альфа-канал при использовании колортегов
- курсор детачится, даже если функция AntiPause выключена
- несовместимость с SAMPGraphicRestore
- неработоспособность пулов транспорта и педов в Game API (пул объектов по прежнему недоступен)
- проблема с использованием шестнадцатеричных значений при вызове опкода
- добавлена переменная PEDSELF, указывающая на объект локального CPed
- расширен функционал некоторых классов и добавлены функции GetInterface почти ко всем классам
- Исправлены вылеты при использовании опкодов 0C6A, 0C6B, 0C6F
- Исправлена структура stVehiclePool в SF API (недоступность функций GetSAMPVehicleIDFromGTAHandle и GetCarHandleFromSAMPCarID)
- Убрано автоотключение ограничителя кадров при старте игры
- Исправлена проблема с загрузкой текстур экрана загрузки (вместо заставок EAX и NVidia был чёрный экран)
- Поддержка SA:MP 0.3.7
- Реализована поддержка одиночной игры
- Изменены методы загрузки плагина на этапе инициализации
- Добавлен обработчик исключений
- Исправлена проблема перезаписи данных входящего RPC
- Новый загрузочный экран
- Обновлена система проверки обновлений
- Добавлен Game API из MTASA
- Исправлена проблема неполной прорисовки текста с тенью
- Немного расширен функционал SF API (функции эмуляции пакетов, функции для управления SF-плагинами, и пр.)
- Добавлено 26 новых опкодов (большая часть из них - опкоды из плагина MGFUNCS): 0C65, 0C66, 0C67, 0C68, 0C69, 0C6A, 0C6B, 0C6C, 0C6D, 0C6E, 0C6F, 0C70, 0C71, 0C72, 0C73, 0C74, 0C75, 0C76, 0C77, 0C78, 0C79, 0C7A, 0C7B, 0C7C, 0C7D, 0C7E
- Исправлена функция IsPlayerDefined - возвращала true, даже если игрок не в стриме
- Исправлен баг с деинициализацией команд зарегистрированных плагином
- Исправлены баги функций класса CCLEO
- Исправлен баг с функцией getCurrentState
- Добавлен вызов PluginDestructor при выгрузке плагина
- Добавлены две API функции: GetCarHandleFromSAMPCarID, GetActorHandleFromSAMPPlayerID
- Добавлены структуры actor_info и vehicle_info, и функции, позволяющие работать с пулами персонажей и транспорта
- Добавлены функции для вызова опкодов и получения результатов их выполнения
- Класс CD3DFont заменён на облегченную версию - stFontInfo
- Хук Direct3D9 получил полную функциональность
- Появилась возможность получить результат обработки SAMP-диалогов, созданных с помощью SF
- getAPIVersion, getSFVersion, registerConsoleCommand, unregisterConsoleCommand,
- execConsoleCommand, callOpcode, SetLocalVar, GetLocalVar, GetCondResult, SetGlobalVar, GetGlobalVar,
- createHook, actorInfoGet, vehicleInfoGet, getActorPoolSize, getVehiclePoolSize, getCurrentState,
- getOrthMatrix, makeOrthMatrix, getRakClient, registerDialogCallback, setSendRate, takeScreenShot
- Исправлен опкод 0С29 (stristr) - частые вылеты при вызове
- Папка SAMPFUNCS будет создаваться автоматически, если её нет
- Исправлен баг обработки входящих и исходящих RPC (вылет, если пакет пустой)
- Исправления и новые правила опкодов управления доступом глобальных переменных
- Вырезана часть патча ScriptEngine из-за многочисленных конфликтов
- Исправлен вылет при выходе из игры
- Исправлен баг BSOD, проявляющийся при выгрузке шрифтов
- Новая консольная команда: preload
- Новые опкоды: 0C62, 0C63, 0C64
- Добавлен C++ Plugin API.
- Добавлены патчи улучшающие работу скриптового движка (можно отключить в ini, параметр ScriptEnginePatch)
- Исправлен баг опкода получения ника (0B36) - возвращался неверный указатель после того, как ник был сменён
- Немного проработано поле ввода консоли
- Исправлен баг опкода установки ника (0B29) - нельзя было установить ник по указателю на строку
- Проработан обработчик опкодов
- Сильно улучшена система глобальных переменных - теперь можно регулировать доступ к ним
- Начиная с этой версии, все файлы SAMPFUNCS будут находиться в папке "SAMPFUNCS", находящейся в папке с игрой
- Новые консольные команды: run, pfree_all, pload, pfree (подробнее на странице Консоль)
- Три новых опкода: 0C60, 0C61, 1337
- Опкод 0B78 теперь умеет делать перенос строки на месте символа переноса
\n
(0xA)
- Появились хуки входящих и исходящих данных
- В настройки SAMPFUNCS добавились два параметра: MultiProcess - позволяет запускать игру многократно, AntiPause - даёт игре возможность работать даже в фоновом режиме
- Исправлены баги опкода 0B44 (3D-текст)
- Появилась возможность проверить загруженность SAMPFUNCS из скрипта без сторонних дополнений: в глобальной переменной $707 хранится номер релиза SF, если там 0 - значит SF не загружен
- Все опкоды SAMPFUNCS будут пропускать возвращаемые значения, если входящее значение параметра будет константой. Таким образом можно пропускать лишние аргументы
- Опкод 0B74 будет автоматически обновлять чат
- Немного улучшены текстовые поля диалогов: если поле не имеет фокус, то курсор ввода не отображается, а при наличии фокуса он мигает; цветовые теги больше не работают в текстовых полях
- SAMPFUNCS будет вести статистику запусков
- Несколько новых консольных команд: threads <all|active|inactive>, printv, prints, getresult
- Опкоды для получения основных адресов памяти SAMP'а
- (0B7A, 0B7B, 0B7C, 0B7D, 0B7E, 0B7F, 0BAC, 0BAD, 0BAE, 0BAF, 0BB0, 0BB1, 0BB2, 0BB3, 0BB4, 0BB5, 0BB6, 0BB7, 0BB8, 0BB9)
- Опкоды для получения данных синхронизации игрока
- (0BBA, 0BBB, 0BBC, 0BBD, 0BBE)
- Опкоды для отправки различных RPC и пакетов
- (0BBF, 0BC0, 0BC1, 0BC2, 0BC3, 0BC4, 0BC5, 0BC6, 0BC7, 0BC8, 0BC9, 0BCA, 0BCB, 0BCC, 0BCD, 0BCE, 0BCF, 0BD0, 0BD1, 0BD2, 0BD3, 0BD4)
- Новые опкоды расширяющие возможности управления диалогами, чатом и таблицей очков
- (0BD5, 0BD6, 0BD7, 0BD8, 0BD9, 0BDA, 0BDB, 0BDC, 0BDD)
- Опкоды увеличивающие функциональность RakNet'a (хуки входящих и исходящих данных, опкоды для работы с BitStream, опкоды эмуляции входящих пакетов)
- (0BE0, 0BE1, 0BE2, 0BE3, 0BE4, 0BE5, 0BE6, 0BE7, 0BE8, 0BE9, 0BEA, 0BEB, 0BEC, 0BED, 0BEE, 0BEF, 0BF0, 0BF1, 0BF2, 0BF3, 0BF4, 0BF5, 0BF6, 0BF7, 0BF8, 0BF9)
- Опкоды добавляющие возможность работы с глобальными функциями и переменными
- (0BFC, 0BFD, 0C5F, 0C34, 0C35, 0C36, 0C37, 0C38, 0C39)
- Опкоды расширяющие возможности рисования примитивов
- (0C3B, 0C3C, 0C3D, 0C3E, 0C3F, 0C40, 0C41, 0C42, 0C43, 0C44)
- Опкоды для работы с Textdraw и 3D-текстами SAMP'a
- (0C45, 0C46, 0C47, 0C48, 0C49, 0C4A, 0C4B, 0C4C, 0C4D, 0C4E, 0C4F, 0C50, 0C51, 0C52, 0C53, 0C54, 0C55, 0C56, 0C57, 0C58, 0C59, 0C5A, 0C5B, 0C5C, 0C5D, 0C5E)
- Опкоды для работы со строками
- (0C22, 0C23, 0C24, 0C25, 0C26, 0C27, 0C28, 0C29, 0C2A, 0C2B, 0C2C, 0C2D, 0C2E, 0C2F)
- 4 опкода для конвертирования матрицы в кватернион и обратно
- И ещё несколько опкодов не имеющих категории
- (0BDE, 0BDF, 0BFA, 0BFB, 0BFE, 0BFF, 0C3A)
- Исправлен баг с записью дробного значения в BitStream
- В опкод 0B8F был добавлен ещё один параметр, регулирующий глубину
- Исправлена ошибка распознавания типа диалога в опкоде 0B3C
- Команды, зарегистрированные скриптом, автоматически удаляются при завершении его потока
- Диалоги, созданные скриптом, автоматически уничтожаются при завершении его потока
- Опкод 0C14 (strcmp) теперь сравнивает строки с учетом регистра
- Добавлен опкод 0C21 (stricmp) для сравнения строк без учёта регистра
- Увеличены размеры буферов строк для всех опкодов
- Исправлен баг в опкоде 0B65 - очки не обновлялись при его вызове
- Некоторые улучшения рендера: перенос строки при встрече символа переноса
\n
(0xA), увеличены лимиты (максимальный размер шрифта = 100, максимальное количество вертексов для примитивов = 256)
- Опкод 0B3C теперь принимает только конкретный ИД диалога (скрипты, использующие его, должны быть обновлены)
- Исправлен баг с неверной позицией текстуры при её вращении
- Добавлены консольные команды cmdlist, clear, getfps, fpscounter, op
- 0B76: samp set_chat_input_text 1@
- 0B77: samp get_chat_input_text_to 1@
- 0B78: log "SAMPFUNCS"
- 0B79: samp set_chat_input_enabled 1@
- 0BA5: dialog 1@ set_focus_on_control 2@
- 0BA6: dialog 1@ set_control 2@ size_XY 3@ 4@
- 0BA7: dialog 1@ get_control 2@ size_to 3@ 4@
- 0BA8: dialog 1@ set_control 2@ pos_XY 3@ 4@
- 0BA9: dialog 1@ get_control 2@ pos_to 3@ 4@
- 0BAA: dialog 1@ set_checkbox 2@ color 3@
- 0BAB: dialog 1@ is_exists
- 0C1D: 4@ = array 1@ element 2@ el_size 3@
- 0C1E: array 1@ element 2@ el_size 3@ = 4@
- 0C1F: 4@ = string_array 1@ element 2@ size 3@
- 0C20: string_array 1@ element 2@ size 3@ = 4@
- Плагин обновлён на 0.3z
- Улучшен командный процессор: теперь нет лимита на количество клиент-команд, более стабильный и быстрый
- Добавлена внутриигровая консоль
- Полностью переделаны диалоги, у SF отныне собственный DXUT
- Исправлено много ошибок
- Плагин загружается независимо от опкодов 0AF7 и 0AFA
- Добавлен патч античита на бессмертие
- При запуске осуществляется проверка версии клиента
- 0B5E: get_cursor_pos 1@ 2@
- 0B5F: convert_window_screen_coords 1@ 2@ to_game_screen_coords 3@ 4@
- 0B60: convert_game_screen_coords 1@ 2@ to_window_screen_coords 3@ 4@
- 0B5C: samp is_player 1@ paused 0B61: samp is_local_player_spawned
- 0B62: samp 2@ = player 1@ special_action
- 0B63: samp unregister_client_command "mycmd"
- 0B64: samp is_player 1@ npc
- 0B65: samp 2@ = player 1@ score
- 0B8C: samp is_cursor_active
- 0B8D: samp set_cursor_mode 1@
- 0B8E: samp 1@ = get_cursor_mode
- 0B74: samp set_chat_string 1@ text 2@ prefix 3@ color 4@ prefix_color 5@
- 0B75: samp get_chat_string 1@ text_to 2@ prefix_to 3@ color_to 4@ prefix_color_to 5@
- 0B8F: convert_screen_coords 1@ 2@ to_world_3d 3@ 4@ 5@
- 0B8A: raknet send_rpc 1@ bit_stream 2@
- 0B8B: raknet send bit_stream 1@
- 0B66: render argb 1@ to_a 2@ r 3@ g 4@ b 5@
- 0B67: render a 1@ r 2@ g 3@ b 4@ to_argb 5@
- 0B68: render draw_line_point1 1@ 2@ point2 3@ 4@ width 5@ color 6@
- 0B69: render draw_box_pos 1@ 2@ size 3@ 4@ color 5@
- 0B6A: render draw_box_with_border_pos 1@ 2@ size 3@ 4@ color 5@ border_size 6@ border_color 7@
- 0B6B: render 3@ = font 1@ draw_text 2@ length
- 0B6C: render 2@ = font 1@ draw_height
- 0B6D: render 4@ = create_font "Arial" height 2@ flags 3@
- 0B6E: render release_font 1@
- 0B6F: render font 1@ draw_text 2@ pos 3@ 4@ color 5@
- 0B70: render draw_polygon_pos 1@ 2@ size 3@ 4@ corners 5@ rotation 6@ color 7@
- 0B71: render 2@ = load_texture_from_file 1@
- 0B72: render release_texture 1@
- 0B73: render draw_texture 1@ pos 2@ 3@ size 4@ 5@ rotation 6@ color 7@
- 0B99: dialog 1@ add_listbox id 2@ pos_XY 3@ 4@ size 5@ 6@
- 0B9A: dialog 1@ listbox 2@ insert_element 3@ with_data 4@ after 5@
- 0B9B: dialog 1@ listbox 2@ selected_element_to 3@ elements_count_to 4@
- 0B9C: dialog 1@ listbox 2@ delete_element 3@
- 0B9D: dialog 1@ listbox 2@ element 3@ store_text_to 4@ data_to 5@
- 0B9E: dialog 1@ checkbox 2@ set_checked 3@
- 0B9F: dialog 1@ enable_caption 2@
- 0BA0: dialog 1@ is_caption_enabled
- 0BA1: dialog 1@ set_minimized 2@
- 0BA2: dialog 1@ is_minimized
- 0BA3: dialog 1@ control 2@ free
- 0BA4: dialog 1@ free
- Исправлена проверка обновлений
- 0B5D: samp toggle_cursor true
- 0B88: samp dialog 1@ add_editbox id 0x14 text "ThisIsEditBox" pos_XY 0 48 size 256 40
- 0B89: samp dialog 1@ get_control 0x14 text_to 3@
- 0B92: samp dialog 1@ checkbox 0x13 is_checked
- 0B93: samp dialog 1@ set_background_color 0xFF004422
- 0B94: samp dialog 1@ set_control 0x14 text_to "This is SPARTA"
- 0B95: samp dialog 1@ control 0x10 is_visible
- 0B96: samp dialog 1@ add_slider id 0x15 pos_XY 64 24 size 128 32 max 100
- 0B97: samp dialog 1@ slider 0x15 get_value_to 2@
- 0B98: samp dialog 1@ slider 0x15 set_value_to 120
- Исправлена ошибка с опкодом 0AF9
- Опкоды 0B2C, 0B2D теперь могут читать/записывать память только в модуле "samp.dll"
- Исправлена невозможность подключиться к серверу с помощью опкода 0B38
- Добавлено больше патчей античита
- 0B54: samp 0@ = listbox_items_count
- 0B55: convert_3D_coords 1024.0 768.0 32.0 to_screen 0@ 1@
- 0B56: set_game_key 1 state 0xFF
- 0B57: samp 1@ = player 0@ animation_id
- 0B58: samp get_animation_name_to 0@ file_to 1@ by_id 2@
- 0B59: samp 0@ = animation_id_by_name "IDLE_STANCE" file "PED"
- 0B5A: get_screen_resolution 0@ 1@
- 0B5B: samp get_listbox_item 0 text_to 1@
- 0B80: samp 1@ = create_dialog "Caption"
- 0B81: samp dialog 1@ pop_event_to 1@ control_id_to 2@
- 0B82: samp dialog 1@ add_button
- 0B54: samp 0@ = listbox_items_count
- 0B55: convert_3D_coords 1024.0 768.0 32.0 to_screen 0@ 1@
- 0B56: set_game_key 1 state 0xFF
- 0B57: samp 1@ = player 0@ animation_id
- 0B58: samp get_animation_name_to 0@ file_to 1@ by_id 2@
- 0B59: samp 0@ = animation_id_by_name "IDLE_STANCE" file "PED"
- 0B5A: get_screen_resolution 0@ 1@
- 0B5B: samp get_listbox_item 0 text_to 1@
- 0B80: samp 1@ = create_dialog "Caption"
- 0B81: samp dialog 1@ pop_event_to 1@ control_id_to 2@
- 0B82: samp dialog 1@ add_button id 0x12 text "ButtonText" pos_XY 0 0 size 256 24
- 0B83: samp dialog 1@ add_checkbox id 0x13 text "CheckBoxText" pos_XY 0 24 size 256 24
- 0B84: samp dialog 1@ set_pos_XY 64 160 size 256 88
- 0B85: samp dialog 1@ get_position_to 2@ 3@ size_to 4@ 5@
- 0B86: samp dialog 1@ set_visible true
- 0B87: samp dialog 1@ is_visible
- 0B88: samp dialog 1@ add_editbox id 0x14 text "ThisIsEditBox" pos_XY 0 48 size 256 40
- 0B90: samp dialog 1@ control 0x12 set_visible true
- 0B91: samp dialog 1@ add_static id 0x01 text "StaticText" pos_XY 0 0 size 160 24
- Исправлены все баги предыдущей версии.
- Добавлено 13 опкодов.
- Добавлено 17 опкодов для удобной работы с памятью и строками.
- Опкод SetGameState теперь использует собственные ИД-ы игрового статуса.
- Возвращена и улучшена проверка обновлений плагина.
- Адаптирован под SA-MP 0.3x (R1).
- Вшит патч античита.
- Изменена структура опкодов 0B34, 0B35. Отныне 0B34: samp register_client_command "mycommand" to_label @mycommand регистрирует команду на метку, а 0B35: samp 0@ = get_last_command_params возвращает параметры последней введённой команды.
- 0B43: samp cmd_ret
- 0B44: samp 0@ = create_3d_text "3d text" color 0xff00ff00 position 0.0 0.0 0.0 view_distance 15.0 show_behind_walls 0 attached_to_player -1 attached_to_vehicle -1
- 0B45: samp destroy_3d_text 0@
- 0B46: samp 3d_text 0@ defined
- Исправлена ошибка в опкоде вывода диалога.
- Исправлены опкоды записи/чтения памяти модулей.
- Временно убрана проверка обновлений.
- Последняя версия для 0.3e.
- Исправлены вылеты при запуске.
- Мелкие доработки некоторых опкодов.
- В опкод 0B35 в качестве второго параметра теперь можно передавать константное значение, чтобы не было необходимости использовать переменную для возврата параметров команды.
- Добавлен параметр DrawInfoBar в ini, для настройки показа верхней панели.
- Верхняя панель убрана с экрана загрузки игры и перенесена в меню паузы.
- Добавлено 2 опкода для работы с диалогами.
- Добавлена возможность отправлять пакеты и RPC серверу при помощи шести новых опкодов.
- Оптимизирован код.
- 0B38: samp connect_to_server 0@ port 1@
- 0B39: samp get_current_server_address 0@ port 1@
- 0B3A: samp 0@ = get_current_server_name
- 0C0A: math 1@ = ceil 0@
- 0C0B: math 1@ = floor 0@
- 0C00: math 1@ = abs 0@
- 0C01: math 1@ = radian_to_angle 0@
- 0C02: math 1@ = angle_to_radian 0@
- 0C03: math 1@ = sine 0@
- 0C04: math 1@ = arcsine 0@
- 0C05: math 1@ = cosine 0@
- 0C06: math 1@ = arccosine 0@
- 0C07: math 1@ = tangent 0@
- 0C08: math 1@ = arctangent 0@
- 0C09: math 1@ = power 0@ 3.0
- Добавлено ведение лога действий плагина.
- 0B36: samp 1@ = get_player_nickname 0@
- 0B37: samp 1@ = get_player_color 0@
- Исправлен опкод 0B2A: samp 1@ = get_player_ping 0@ - в некоторых случаях опкод возвращал неверное значение
- 0B34: samp 0@ = register_client_command "text"
- 0B35: samp is_command_typed 0@ params 1@
- Проект перенесён на новую основу, переписана архитектура. Плагин больше не зависит от системных библиотек.
- 0B24: samp 1@ = get_player_ptr 0@ (GetPlayerPtr) - можно получить поинтер на локальную структуру
- 0B2A, 0B23, 0B30, 0B31, 0AFB - улучшена стабильность работы
- 0AFE: samp send_death_by_player 0@ with_reason 10 - теперь можно выбрать ИД игрока и причину смерти
- 0B32: samp send_spawn
- 0B33: samp send_damage_vehicle 0@ panel 123456 doors 654321 lights 255 tires 255
- Исправлен вылет при спавне на серверах, где отключена отрисовка маркеров отдалённых игроков
- Исправлен опкод 0B2A: samp 1@ = get_player_ping 0@, теперь можно получить свой пинг.
- 0B23: samp is_player_connected 0@
- 0B24: samp 1@ = get_remote_player_ptr 0@
- 0B2A: samp 1@ = get_player_ping 0@
- 0B2B: samp 1@ = get_player_id_by_actor_handle 0@
- 0B2C: samp 1@ = get_vehicle_id_by_car_handle 0@
- 0B2D: write_module_memory "samp.dll" offset 0x63700 value 0xC390 size 2
- 0B2E: 4@ = read_module_memory "samp.dll" offset 0x63700 size 2
- 0B2F: samp get_streamed_out_player_pos 0@ to 1@ 2@ 3@
- 0B30: samp send_enter_vehicle 0@ as_passenger false
- 0B31: samp send_exit_vehicle 0@
- 0AF6: samp spawn_player - при спавне на сервер отправляется пакет запроса на спавн, при первом спавне отныне сервер не кикает
- 0AFC: samp send_scm_event - добавлена возможность выбора ида машины
- 0AF8: samp add_message_to_chat, 0AF9: samp say_msg, 0B29: samp set_local_name - полностью поддерживают форматирование.
- Адаптирован под SA-MP 0.3e
- Первый публичный релиз для SA-MP 0.3d