Plugin SDK + samp

yuras0401

Новичок
Автор темы
27
1
Ребята, подскажите как с помощью Plugin SDK отправлять сообщение игроку или вызвать команду на кнопку, буду благодарен
я в этом деле нуб нубом, хочу научится на практике

C++:
#include "plugin.h"

using namespace plugin;

class clocker {
public:
    clocker() {
        // Добавьте здесь код инициализации плагина
        Events::gameProcessEvent += [] {
            if (KeyPressed(0x49)) { // на нажатие кнопки I хочу вызвать команду
                //аля здесь
            }
        };
    }
} _clocker;
 

checkdasound

Известный
Проверенный
963
406
а как же SA:MP ASI Framework?
Ты спросил: как с помощью Plugin SDK отправлять сообщение игроку или вызвать команду на кнопку?
С помощью Plugin SDK - никак.

Конечно, ты можешь отдельно подключить файлы для работы с сампом (не знаю насчет самп аси фреймворка, но ты можешь сам сделать это, если изучишь как это происходит в собейте).
Ищешь нужную функцию, например addSayToChatWindow(), там смотришь что используется в ней:
g_SAMP - указатель на структуру stSAMP, можно получить с помощью stGetSampInfo(), в ней используется GetSAMPPtrInfo() (выше названия функции есть template..., это шаблон, легко понять, что он делает, если уже знаешь что это, если нет - изучи).
В GetSAMPPtrInfo() нужен g_dwSAMP_Addr (это адрес samp.dll, его получают в функции getSamp(), но там много того, что тебе не понадобится, поэтому это можно сделать в одну строчку, если не можешь написать получение адреса сам, поищи на форуме.
В stGetSampInfo() уже нужно SAMP_INFO_OFFSET (это макрос, в котором находится оффсет на эту структуру). Все макросы и объявления функций, структур находятся в samp.h, описания в samp.cpp.

Потом в addSayToChatWindow() идет проверка первого символа сообщения и если это команда (там есть слеш), то нужно g_Input, это по аналогии с g_SAMP находится через функцию stGetInputInfo(), а если это обычное сообщение, то понадобится g_Players (указатель на структуру stPlayerPool), а именно член этой структуры pLocalPlayer (это указатель на другую структуру stLocalPlayer).
 
Последнее редактирование:
  • Нравится
Реакции: loganhackerdff и yuras0401