![]() |
Введение
API предоставляет возможность использовать готовые функции плагина SAMPFUNCS в своих собственных плагинах. Вам больше не придется самому искать адреса для вызова функций из памяти, вам больше не придется вручную перехватывать вызов функций RakNet'а и D3DDevice. Парой кликов мыши происходит регистрация своей функции, которая будет вызвана SF в нужный момент. Основные возможности На данный момент реализован доступ к пяти основным классам: CGame — получение статусов нажатий клавиш, позиций курсора, эмуляция клавиш в игре, конвертация игровых координат, регистрация своей функции обработки нажатий клавиш и т.д. CSAMP — самый объёмный класс. Предоставляет такие функции как: получение статуса инициализации клиента, работа со всеми структурами и данными (Players, Vehicles, Chat, Dialog, DeathList и другие), готовые функции отправки некоторых данных серверу, регистрация клиентской команды в чате. CCLEO — на данный момент поддерживается регистрация собственных опкодов, а в будущих версиях будет добавлена возможность выполнения всех опкодов Cleo с привычным синтаксисом из SB. CRakNet — отправка пакетов, регистрация callback-функций для чтения отсылаемых/полученных данных, получение названия пакета и RPC по ID, кодирование/декодирование строк. CRender — позволяет создавать собственные шрифты и текстуры, рендер примитивов, регистрация callback-функций на всю таблицу методов Direct3D Device. Начало работы Для работы .sf плагинов требуется:
В качестве первого примера будет показана простая функция показа информации об игроке в чат. Для этого открываем скачанный проект и заходим в файл main.cpp. Перед функцией mainloop вставляем этот код: C++: Код:
voidЗатем в функции mainloop внутри условного блока if( !init ) перед операцией init = true; вставляем: C++: Код:
SFКомпилируем, закидываем в папку SAMPFUNCS полученный .sf плагин ( в папке bin ) и заходим в игру. Пишем в чат /showinfo и получаем примерно следующее: https://blast.hk/wiki/_media/tutoria...600&tok=0a990a На этом урок окончен, в следующих примерах будут разобраны подробно каждый из классов API. Автор: urShadow |
| Время: 16:45 |