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

Romelo

dev.
Проверенный
540
626
Как и где ты это получил, если не секрет.
Вот мне надо узнать координаты метки. Как мне узнать их. Подробную инструкцию можно?
Все давно уже есть на форуме, научись пользоваться поиском.

 
  • Нравится
Реакции: || NN - NoName ||

Ya Zaregalsya

Известный
387
135
convert3DCoordsToScreen() выдаёт значения, которые находятся за пределами экрана когда цель находится прямо за ним. Т.е. если при помощи этой функции отметить какой-то объект из мира на экране, то он будет отображаться сразу в двух направлениях: если посмотреть на него и если повернуться на 180 градусов (т.е. туда, где этого объекта нет). С чем это может быть связано?

*демонстрация*
 
Последнее редактирование:

Dept

Известный
20
13
Как проверить перса на спавн/заход в игру? ( желательно без ебучего iIsActive )
 

ufdhbi

Известный
Проверенный
1,458
865
convert3DCoordsToScreen() выдаёт значения, которые находятся за пределами экрана когда цель находится прямо за ним. Т.е. если при помощи этой функции отметить какой-то объект из мира на экране, то он будет отображаться сразу в двух направлениях: если посмотреть на него и если повернуться на 180 градусов (т.е. туда, где этого объекта нет). С чем это может быть связано?

*демонстрация*
проверять есть ли объект на экране, функция есть в сф
 
  • Нравится
Реакции: Ya Zaregalsya

_Benya_

Участник
82
37
Приветствую.
Какая версия Microsoft Visual C++ Redistributable нужна для нормальной работы самого Samfuncs ?
 

Dept

Известный
20
13
как определить что в чате что то написали
Код:
bool CALLBACK incomingRPC(stRakNetHookParams *params)
{
    if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage)
    {
       
            uint strLen, color;
            char szMsg[144];

            params->bitStream->ResetReadPointer();
            params->bitStream->Read(color);
            params->bitStream->Read(strLen);
            if (strLen >= sizeof(szMsg)) strLen = sizeof(szMsg) - 1;
            params->bitStream->Read(szMsg, strLen);
            szMsg[strLen] = '\0';
            if (strstr(szMsg, "что то написали"))
            {
           
            }
       
    }
    return true;
}

в mainloop
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
 

bottom_text

Известный
675
320
Как с помощью хука диалога изменить, к примеру, название диалога? Что не делал, диалог просто не появляется.
 

sc6ut

неизвестный
Модератор
382
1,085
Как с помощью хука диалога изменить, к примеру, название диалога? Что не делал, диалог просто не появляется.
C++:
// регистрируем CALLBACK в mainloop
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);

bool __stdcall incomingRPC(stRakNetHookParams* params)
{
    if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowDialog)
    {
        UINT16 wDialogID;
        UINT8 bDialogStyle;
        UINT8 bTitleLength, bButton1Len, bButton2Len;
        char szTitle[256], szButton1[256], szButton2[256];
        char szInfo[4096];

        // читаем данные диалога
        params->bitStream->ResetReadPointer();
        params->bitStream->Read(wDialogID); // ID диалога
        params->bitStream->Read(bDialogStyle); // стиль диалога
        params->bitStream->Read(bTitleLength); // длинна заголовка
        params->bitStream->Read(szTitle, bTitleLength); // заголовок
        szTitle[bTitleLength] = NULL;
        params->bitStream->Read(bButton1Len); // длинна текста 1 кнопки
        params->bitStream->Read(szButton1, bButton1Len); // текст 1 кнопки
        szButton1[bButton1Len] = NULL;
        params->bitStream->Read(bButton2Len); // длинна текста 2 кнопки
        params->bitStream->Read(szButton2, bButton2Len); // текст 2 кнопки
        szButton2[bButton2Len] = NULL;
        SF->getRakNet()->DecodeString(szInfo, 4096, params->bitStream); // текст диалога

        // делаем проверки, меняем данные
        std::string new_title = "HOOKED | " + std::string(szTitle); // к примеру добавим в начало заголовка "HOOKED | "
        strcpy_s(szTitle, new_title.c_str());

        // обратно записываем данные
        params->bitStream->ResetWritePointer();
        params->bitStream->Write(wDialogID); // ID диалога
        params->bitStream->Write(bDialogStyle); // стиль диалога
        params->bitStream->Write((UINT8)strlen(szTitle)); // длинна заголовка
        params->bitStream->Write(szTitle, strlen(szTitle)); // заголовок
        params->bitStream->Write((UINT8)strlen(szButton1)); // длинна текста 1 кнопки
        params->bitStream->Write(szButton1, strlen(szButton1)); // текст 1 кнопки
        params->bitStream->Write((UINT8)strlen(szButton2)); // длинна текста 2 кнопки
        params->bitStream->Write(szButton2, strlen(szButton2)); // текст 2 кнопки
        SF->getRakNet()->EncodeString(szInfo, 4096, params->bitStream); // текст диалога
    }
    return true;
}
1609502792615.png
 

Rei

Известный
Друг
1,610
1,666
Как в визуалке шаблон создать, чтоб в пару кликов создавать стоковые проекты?
Скопировал из SAMPFUNCS SDK проект, все нормально компилится. Жму Проект > Экспорт шаблона > Далее > Далее > Далее..
Потом создаю новый проект по созданному шаблону и все обсирается...
Снимок экрана (748).png
 
  • Нравится
Реакции: gaZmanoV

kizn

\ 0 _ 0 /
Всефорумный модератор
2,406
2,090
DirectX SDK установил?
Как в визуалке шаблон создать, чтоб в пару кликов создавать стоковые проекты?
Скопировал из SAMPFUNCS SDK проект, все нормально компилится. Жму Проект > Экспорт шаблона > Далее > Далее > Далее..
Потом создаю новый проект по созданному шаблону и все обсирается...