samp-api-multiver | В чём ошибка или как его использовать?

gaZmanoV

Участник
Автор темы
31
3
Приветствую! На просторах интернета я наткнулся на прекрасную тему. Чуть ниже я "нашёл" ссылку на github, где была (как я понял) чуть переделанная версия api. Я скачал, скомпилировал .lib, добавил "sampapi.lib" (в настройки компоновщика, в новом "проекте") и быстренько заварганил говно кодик.

В итоге пишет "Нестатическая ссылка не член должна указываться относительно заданного объекта". Возможно я даже не правильно настроил проект. Было бы куда легче, если к нему(к API) были бы примеры, но я их найти к большому моему сожалению не смог 😔. Все "примеры" которые я находил вели к другому github`у, который автор api зачем-то удалил(.
Кто поможет с моей проблемой, тому буду очень сильно благодарен=)
main.cpp:
#include "main.h"

void DLLProject()
{
    while (true)
    {
        Sleep(1);
        if (GetAsyncKeyState(VK_END))
        {
            while (GetAsyncKeyState(VK_END))
            {
                Sleep(1);
            }
            sampapi::v037r3::CChat::AddChatMessage("[test]", 0xFFFFFF, "Здравствуйте, мои маленькие любители экстремизма...");
        }
    }
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
    if (fdwReason == DLL_PROCESS_ATTACH)
    {
        _beginthread(DLLProject, NULL, NULL);
    }
    return TRUE;
}
main.h:
#pragma once

#include <windows.h>
#include <process.h>

//#include "sampapi/src/common/sampapi.h"
#include "sampapi/AimStuff.h"
#include "sampapi/Animation.h"
#include "sampapi/CActor.h"
#include "sampapi/CActorPool.h"
#include "sampapi/CAudio.h"
#include "sampapi/CAudioStream.h"
#include "sampapi/CCamera.h"
#include "sampapi/CChat.h"
#include "sampapi/CChatBubble.h"
#include "sampapi/CConfig.h"
#include "sampapi/CDeathWindow.h"
#include "sampapi/CDialog.h"
#include "sampapi/CEntity.h"
#include "sampapi/CFont.h"
#include "sampapi/CFonts.h"
#include "sampapi/CGame.h"
#include "sampapi/CGangZonePool.h"
#include "sampapi/CHelpDialog.h"
//#include "sampapi/CHttpClient.h"
#include "sampapi/CInput.h"
#include "sampapi/CLabel.h"
#include "sampapi/CLabelPool.h"
#include "sampapi/CLicensePlate.h"
#include "sampapi/CLocalPlayer.h"
#include "sampapi/CMatrix.h"
#include "sampapi/CMenu.h"
#include "sampapi/CMenuPool.h"
#include "sampapi/CNetGame.h"
#include "sampapi/CNetStats.h"
#include "sampapi/CObject.h"
#include "sampapi/CObjectMaterialText.h"
#include "sampapi/CObjectPool.h"
#include "sampapi/CObjectSelection.h"
#include "sampapi/Commands.h"
#include "sampapi/ControllerState.h"
#include "sampapi/CPed.h"
#include "sampapi/CPickupPool.h"
#include "sampapi/CPlayerInfo.h"
#include "sampapi/CPlayerPool.h"
#include "sampapi/CPlayerTags.h"
#include "sampapi/CRect.h"
#include "sampapi/CRemotePlayer.h"
#include "sampapi/CScoreboard.h"
#include "sampapi/CSpawnScreen.h"
#include "sampapi/CSrvNetStats.h"
#include "sampapi/CTextDraw.h"
#include "sampapi/CTextDrawPool.h"
#include "sampapi/CTextDrawSelection.h"
#include "sampapi/CVector.h"
#include "sampapi/CVehicle.h"
#include "sampapi/CVehiclePool.h"
#include "sampapi/Debug.h"
#include "sampapi/DebugScript.h"
#include "sampapi/Exception.h"
#include "sampapi/GUI.h"
#include "sampapi/InputHandler.h"
#include "sampapi/KeyStuff.h"
#include "sampapi/RPC.h"
#include "sampapi/sampapi.h"
#include "sampapi/Scripting.h"
#include "sampapi/Settings.h"
#include "sampapi/SpecialAction.h"
#include "sampapi/Synchronization.h"
#include "sampapi/VehicleSelection.h"
Очень сильно прошу отвечать без всякого хейта. Все мы начинали с низов и делали очень банальные ошибки. Делать ошибки не глупо, гораздо тупее пропускать и не решать их.
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,731
4,719
Честно, сам когда пытался его использовать - просто забил начал делать свое xD

Ты через :: пытаешься обратится к методу класса, а т.к. метод не статический, ты этого сделать не можешь. Тебе нужно получить инстанс, и через него обращаться, в samp-api это вроде pRefChat и что-то подобное

UPD: тебе нужен SAMP::pChat->AddChatMessage
 
  • Нравится
Реакции: reussssya и gaZmanoV