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

F0RQU1N and

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

MeG@LaDo[N] ^_^

Известный
233
261

F0RQU1N and

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

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

Kol4p

Участник
81
16
Парни помогите пожалуйста, как сделать текст над объектом типо вх asi r3
 

Savchik Blazer

Известный
633
192
Как получить координаты объекта по его ид(sfapi) ?
Как получить расстояние между координатами?
 

F0RQU1N and

Известный
1,073
351
Как получить координаты объекта по его ид(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

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-ух метров, и выводит в чат.
 

Scar_

Известный
974
354
Что делать крашит игру


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 как он работает и что делает
Крашит