Другое С/С++ Вопрос - Ответ

horacy

Известный
110
97
в хуке player sync keysdata


Я пытался отправить такой ключ, но я не знаю, как обратиться к stSAMPKeys, чтобы изменить этот параметр (компилятор показывает ошибку в коде). Можете ли вы привести пример, как изменить этот параметр?
 

F0RQU1N and

Известный
1,292
502
Я пытался отправить такой ключ, но я не знаю, как обратиться к stSAMPKeys, чтобы изменить этот параметр (компилятор показывает ошибку в коде). Можете ли вы привести пример, как изменить этот параметр?
Как я помню, в stOnFootData sKeys, либо sKeysData
Вот - https://gitlab.com/RcKoid/mod-s0beit-overlight/-/blob/master/src/samp.h#L368
 
  • Нравится
Реакции: horacy

MeG@LaDo[N] ^_^

Известный
280
323

F0RQU1N and

Известный
1,292
502
1. Как рисовать на игроках? Способ из этого https://www.blast.hk/threads/25417/ урока не работает, крашит.
Циклом проходишся по всем игрокам, получаешь их координаты, конвертируешь в экранные и рисуешь, советую рисовать через рендер имгуя.
И кстати - всё работает)

2. Как вытащить из player data нажатие клавиш других игроков
Вроде как оно токо на сервер отправляется, а если нет, то также, как и с outcoming синхрой. Чекнул, ваще странно что самп эту инфу всем игрокам рассылает
 
Последнее редактирование:

Kol4p

Активный
151
58
Парни помогите пожалуйста, как сделать текст над объектом типо вх asi r3
 

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
665
295
Как получить координаты объекта по его ид(sfapi) ?
Как получить расстояние между координатами?
 

F0RQU1N and

Известный
1,292
502
Как получить координаты объекта по его ид(sfapi) ?
Получи от туда CObject, и там будет позиция

Как получить расстояние между координатами?
Как обычно
C++:
float GetDistance(float X, float Y, float Z, float XX, float YY, float ZZ) {
    return sqrt((X - XX) * (X - XX) + (Y - YY) * (Y - YY) + (Z - ZZ) * (Z - ZZ));
}
 
  • Нравится
Реакции: Savchik Blazer

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
665
295
как сделать открытие/закрытие имгуи окна по команде?
 

killian228

Потрачен
12
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Что делать крашит игру


sampapi:
for (int i = 0; i < 1000 /*max_object*/; i++)
    {
        if (i >= 999) {
            ObjectIDs = false;
            i = 0;
            break;
        }

        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() < 2.f)
        {
            char buffer[64];
            sprintf_s(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
            ObjectIDs = false;
            i = 0;
            break;
        }
        Sleep(20);
    }

Суть кода: перебирает id объектов которые на дистанции 2-ух метров, и выводит в чат.
 

EclipsedFlow

Известный
Проверенный
1,044
490
Что делать крашит игру


sampapi:
for (int i = 0; i < 1000 /*max_object*/; i++)
    {
        if (i >= 999) {
            ObjectIDs = false;
            i = 0;
            break;
        }

        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() < 2.f)
        {
            char buffer[64];
            sprintf_s(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
            ObjectIDs = false;
            i = 0;
            break;
        }
        Sleep(20);
    }

Суть кода: перебирает id объектов которые на дистанции 2-ух метров, и выводит в чат.
C++:
for (int i = 0; i < 1000 /*max_object*/; i++)
{
    if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->DoesExits())
    {
        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() <= 2.0f)
        {
            char buffer[64];
            sprintf(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
        }
    }
}

Прочитай про цикл for как он работает и что делает
 

killian228

Потрачен
12
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
for (int i = 0; i < 1000 /*max_object*/; i++)
{
    if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->DoesExits())
    {
        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() <= 2.0f)
        {
            char buffer[64];
            sprintf(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
        }
    }
}

Прочитай про цикл for как он работает и что делает
Крашит