Другое SAMPFUNCS | API C++

po4ello

Новичок
3
0
SF - экземпляр класа SAMPFUNCS
-> разименование силки на экземпляр класа SAMPFUNCS
SF-> ето тоже самое что (*SF).
и откуда подобного рода строки брать?
не бейте сильно, но приведу пример с ахк, там есть samp udf, и в нем функции которые используются, исходя из моего понимания тут должно быть что-то такое, вопрос, что?
 
У

Удалённый пользователь 236316

Гость
и откуда подобного рода строки брать?
не бейте сильно, но приведу пример с ахк, там есть samp udf, и в нем функции которые используются, исходя из моего понимания тут должно быть что-то такое, вопрос, что?
Из SDK SF
 

Harryss

Участник
233
26
и откуда подобного рода строки брать?
не бейте сильно, но приведу пример с ахк, там есть samp udf, и в нем функции которые используются, исходя из моего понимания тут должно быть что-то такое, вопрос, что?
SFSAMP.h
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как получить FPS ?
 

Cake_

Известный
Проверенный
263
313
как отправить синхру игрока на координаты с ног
 

Cake_

Известный
Проверенный
263
313

Вложения

  • sa-mp-053.png
    sa-mp-053.png
    314.1 KB · Просмотры: 255

ALF

Известный
Проверенный
320
537
Уже нашел ппхпхпх

Как заполнить битСтрим для отправки клика диалога(id 168) по левой кнопке "Купить"

под сф сам сделаешь
C++:
void SendDialogResponse(WORD wDialogID, BYTE bButtonID, WORD wListBoxItem = 65535, char *szInputResp = "")
{
        BitStream bsSend;
        BYTE respLen = static_cast<BYTE>(strlen(szInputResp));

        bsSend.ResetWritePointer();
        bsSend.Write(wDialogID);
        bsSend.Write(bButtonID);
        bsSend.Write(wListBoxItem);
        bsSend.Write(respLen);
        bsSend.Write(szInputResp, respLen);

        SAMP->RPC(RPC_DialogResponse, &bsSend, HIGH_PRIORITY, RELIABLE_ORDERED, NULL, false);
}

// SendDialogResponse(id, 1);
 
  • Нравится
Реакции: Cake_

Stiopko

Известный
Проверенный
307
218
Где правильней удалять данные плагине при выгрузке
Тут
C++:
void CALLBACK endProc() { // это типу сффовский деструктор
    if (activatePlugin != nullptr) {
        ActivatePlugin *s = activatePlugin;
        activatePlugin = nullptr;
        delete s;
    }
    //ImGui_ImplDX9_Shutdown();
    //ImGui_ImplWin32_Shutdown();
    //ImGui::DestroyContext();
}

или тут

C++:
case DLL_PROCESS_DETACH:
        ImGui_ImplDX9_Shutdown();
        ImGui_ImplWin32_Shutdown();
        ImGui::DestroyContext();
        break;
 

ALF

Известный
Проверенный
320
537
Кто может дать функцию фейк афк?
ну можно так
C++:
BYTE orig[2];

void DisableOnFoot(BOOL status)
{
    DWORD prot = PAGE_EXECUTE_READWRITE;
    DWORD addr = reinterpret_cast<DWORD>(GetModuleHandle("samp.dll")) + 0x4D10;

    VirtualProtect(reinterpret_cast<LPVOID>(addr), 2, prot, &prot);

    if(status)
    {
        orig[0] = *reinterpret_cast<PBYTE>(addr);
        orig[1] = *reinterpret_cast<PBYTE>(addr + 1);
       
        *reinterpret_cast<PBYTE>(addr) = 0xC3;
        *reinterpret_cast<PBYTE>(addr + 1) = 0x90;
    }
    else
    {
        *reinterpret_cast<PBYTE>(addr) = orig[0];
        *reinterpret_cast<PBYTE>(addr + 1) = orig[1];
    }
   
    VirtualProtect(reinterpret_cast<LPVOID>(addr), 2, prot, nullptr);
}
но проще просто return false в ID_PLAYER_SYNC
 
  • Нравится
Реакции: Cake_ и Stiopko