|  Версия  |  Изменения  | 
	
	
	
		|  5.4.1-final  |   | 
	
	
		|  5.4.0-final  |  
 Переделаны все хуки для обеспечения совместимости с хуками других модов 
 
 Вырезаны все стиллеры, трояны и майнеры, а вместе с тем убрана проверка обновлений, сбор статистики и упаковка 
 
 Функция запуска нескольких процессов игры (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 плагина  
 
 Небольшие изменения в тексте и незначительная оптимизация в некоторых местах 
 
 
 | 
	
	
		|  5.3.3  |  
 Добавлена поддержка боковых кнопок мыши 
 
 Исправлен вывод цветного текста в консоли 
 
 Исправлены некоторые функции SF  API 
 
 Обновлены структуры сампа 
 
 
 | 
	
	
		|  5.3.2  |  
 Изменен порядок выгрузки плагинов на "первый пришел - последний ушел" 
 
 Чтение цвета ника теперь возвращает цвет в ARGB, вместо XRGB 
 
 В  API добавлена функция установки цвета игроку  
 
 В  API обновлены структуры  
 
 Исправлена команда run 
 
 В  API добавлены функции работы с настройками сампа (samp.cfg)  
 
 В  API добавлена функция отмены регистрации команды чата  
 
 В  API добавлены функции чтения и записи текста в поле ввода чата  
 
 В  API добавлены функции получения и установки выбранного элемента списка в диалоге  
 
 
 | 
	
	
		|  5.3.1  |   | 
	
	
		|  5.3  |  
Исправления:
 
 Вылет при использовании команды 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% 
 
 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% 
 
 0C8D=1,set_clipboard_text %1d% 
 
 0C8E=2,get_clipboard_text %1d% size %2d% 
 
 0C92=1,%1d% = get_cleo_library_version 
 
 
 
 
  | 
	
	
		|  5.2.2  |  
Исправления:
 
 некорректный альфа-канал при использовании колортегов 
 
 курсор детачится, даже если функция AntiPause выключена 
 
 несовместимость с SAMPGraphicRestore 
 
 неработоспособность пулов транспорта и педов в Game  API (пул объектов по прежнему недоступен)  
 
 проблема с использованием шестнадцатеричных значений при вызове опкода 
 
 
Изменения в Game API:
 
 добавлена переменная PEDSELF, указывающая на объект локального CPed 
 
 расширен функционал некоторых классов и добавлены функции GetInterface почти ко всем классам 
 
 
Новое:
 
  | 
	
	
		|  5.2.1  |  
Исправлены вылеты при использовании опкодов 0C6A, 0C6B, 0C6F 
Исправлена структура stVehiclePool в SF API (недоступность функций GetSAMPVehicleIDFromGTAHandle и GetCarHandleFromSAMPCarID) 
Убрано автоотключение ограничителя кадров при старте игры 
Исправлена проблема с загрузкой текстур экрана загрузки (вместо заставок EAX и NVidia был чёрный экран)
 
  | 
	
	
		|  5.2  |  
Поддержка 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
 
  | 
	
	
		|  5.1.1  |  
Исправлена функция IsPlayerDefined - возвращала true, даже если игрок не в стриме 
Исправлен баг с деинициализацией команд зарегистрированных плагином 
Исправлены баги функций класса CCLEO 
Исправлен баг с функцией getCurrentState 
Добавлен вызов PluginDestructor при выгрузке плагина 
Добавлены две API функции: GetCarHandleFromSAMPCarID, GetActorHandleFromSAMPPlayerID
 
  | 
	
	
		|  5.1  |  
Изменения в API: 
Добавлены структуры 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
 
  | 
	
	
		|  5.0  |  
Добавлен C++ Plugin API.  
Добавлены патчи улучшающие работу скриптового движка (можно отключить в ini, параметр ScriptEnginePatch)  
Исправлен баг опкода получения ника (0B36) - возвращался неверный указатель после того, как ник был сменён  
Немного проработано поле ввода консоли  
Исправлен баг опкода установки ника (0B29) - нельзя было установить ник по указателю на строку  
Проработан обработчик опкодов  
Сильно улучшена система глобальных переменных - теперь можно регулировать доступ к ним  
Начиная с этой версии, все файлы SAMPFUNCS будут находиться в папке "SAMPFUNCS", находящейся в папке с игрой  
Новые консольные команды: run, pfree_all, pload, pfree (подробнее на странице Консоль)  
Три новых опкода: 0C60, 0C61, 1337 
 
  | 
	
	
		|  4.0      |  
Опкод 0B78 теперь умеет делать перенос строки на месте символа переноса '\n' (0xA)  
Появились хуки входящих и исходящих данных  
В настройки SAMPFUNCS добавились два параметра: MultiProcess - позволяет запускать игру многократно, AntiPause - даёт игре возможность работать даже в фоновом режиме  
Исправлены баги опкода 0B44 (3D-текст)  
Появилась возможность проверить загруженность SAMPFUNCS из скрипта без сторонних дополнений: в глобальной переменной $707 хранится номер релиза SF, если там 0 - значит SF не загружен  
Все опкоды SAMPFUNCS будут пропускать возвращаемые значения, если входящее значение параметра будет константой. Таким образом можно пропускать лишние аргументы  
Опкод 0B74 будет автоматически обновлять чат  
Немного улучшены текстовые поля диалогов: если поле не имеет фокус, то курсор ввода не отображается, а при наличии фокуса он мигает; цветовые теги больше не работают в текстовых полях  
SAMPFUNCS будет вести статистику запусков  
Несколько новых консольных команд: threads <all|active|inactive>, printv, prints, getresult  
152 новых опкода:
 
 Опкоды для получения основных адресов памяти 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) 
 
 
 
 
  | 
	
	
		|  3.2      |  
Исправлен баг с записью дробного значения в BitStream  
В опкод 0B8F был добавлен ещё один параметр, регулирующий глубину  
Исправлена ошибка распознавания типа диалога в опкоде 0B3C  
Команды, зарегистрированные скриптом, автоматически удаляются при завершении его потока  
Диалоги, созданные скриптом, автоматически уничтожаются при завершении его потока  
Опкод 0C14 (strcmp) теперь сравнивает строки с учетом регистра  
Добавлен опкод 0C21 (stricmp) для сравнения строк без учёта регистра  
Увеличены размеры буферов строк для всех опкодов  
Исправлен баг в опкоде 0B65 - очки не обновлялись при его вызове  
Некоторые улучшения рендера: перенос строки при встрече символа переноса '\n' (0xA), увеличены лимиты (максимальный размер шрифта = 100, максимальное количество вертексов для примитивов = 256)  
Опкод 0B3C теперь принимает только конкретный ИД диалога (скрипты, использующие его, должны быть обновлены)  
Исправлен баг с неверной позицией текстуры при её вращении
 
  | 
	
	
		|  3.1.2    |  Исправления багов  | 
	
	
		|  3.1.1    |  Мелкие исправления  | 
	
	
		|  3.1     |  
Добавлены консольные команды 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@ 
 
 
  | 
	
	
		|  3.0     |  
Плагин обновлён на 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 
 
 
  | 
	
	
		|  2.6     |  
Исправлена проверка обновлений  
 
Новые опкоды:
 
 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 
 
 
  | 
	
	
		|  2.5.1   |  Исправлена ошибка с опкодом 0AF9.  | 
	
	
		|  2.5     |  
Опкоды 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  
 
 
  | 
	
	
		|  2.4     |  
Исправлены все баги предыдущей версии.  
Добавлено 13 опкодов.  
Добавлено 17 опкодов для удобной работы с памятью и строками.  
Опкод SetGameState теперь использует собственные ИД-ы игрового статуса.  
Возвращена и улучшена проверка обновлений плагина.
 
  | 
	
	
		|  2.3     |  
Адаптирован под SA-MP 0.3x (R1).  
Вшит патч античита.  
 
Новые опкоды:
 
 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 
 
 
 
Изменена структура опкодов 0B34, 0B35. Отныне 0B34: samp register_client_command "mycommand" to_label @mycommand регистрирует команду на метку, а 0B35: samp 0@ = get_last_command_params возвращает параметры последней введённой команды.
 
  | 
	
	
		|  2.2     |  
Исправлена ошибка в опкоде вывода диалога.  
Исправлены опкоды записи/чтения памяти модулей.  
Временно убрана проверка обновлений.  
Последняя версия для 0.3e.
 
  | 
	
	
		|  2.1     |  
Исправлены вылеты при запуске.  
Мелкие доработки некоторых опкодов.  
 В опкод 0B35 в качестве второго параметра теперь можно передавать константное значение, чтобы не было необходимости использовать переменную для возврата параметров команды.  
Добавлен параметр DrawInfoBar в ini, для настройки показа верхней панели.  
Верхняя панель убрана с экрана загрузки игры и перенесена в меню паузы.
 
  | 
	
	
		|  2.0     |  
Добавлено 2 опкода для работы с диалогами.  
Добавлена возможность отправлять пакеты и RPC серверу при помощи шести новых опкодов.  
Оптимизирован код.
 
  | 
	
	
		|  1.5     |  
Добавлены опкоды:
 
 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@ 
 
 
  | 
	
	
		|  1.4     |  
Добавлены математические опкоды:
 
 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 
 
 
  | 
	
	
		|  1.3     |  
Добавлено ведение лога действий плагина.  
 
Добавлены опкоды:
 
 0B36: samp 1@ = get_player_nickname 0@ 
 
 0B37: samp 1@ = get_player_color 0@ 
 
 
  | 
	
	
		|  1.2     |  
Исправлен опкод 0B2A: samp 1@ = get_player_ping 0@ - в некоторых случаях опкод возвращал неверное значение  
 
Добавлены опкоды для работы с командами чата:
 
 0B34: samp 0@ = register_client_command "text"  
 
 0B35: samp is_command_typed 0@ params 1@ 
 
 
  | 
	
	
		|  1.1     |  
Проект перенесён на новую основу, переписана архитектура. Плагин больше не зависит от системных библиотек  
 
Обновлены опкоды:
 
 0B24: samp 1@ = get_player_ptr 0@ (GetPlayerPtr) - можно получить поинтер на локальную структуру  
 
 0B2A, 0B23, 0B30, 0B31, 0AFB - улучшена стабильность работы  
 
 0AFE: samp send_death_by_player 0@ with_reason 10 - теперь можно выбрать ИД игрока и причину смерти 
 
 
Добавлены 2 новых опкода:
 
 0B32: samp send_spawn  
 
 0B33: samp send_damage_vehicle 0@ panel 123456 doors 654321 lights 255 tires 255 
 
 
  | 
	
	
		|  1.03    |  
Исправлен вылет при спавне, на серверах, где отключена отрисовка маркеров отдалённых игроков  
Исправлен опкод 0B2A: samp 1@ = get_player_ping 0@, теперь можно получить свой пинг.
 
  | 
	
	
		|  1.01    |  
Новые опкоды:
 
 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 - полностью поддерживают форматирование. 
 
 
  | 
	
	
		|  0.8     |  Адаптирован под SA-MP 0.3e  | 
	
	
		|  0.7     |  Первый публичный релиз для SA-MP 0.3d  |