SAMP API ходьба по координатам

PED

Новичок
Автор темы
8
0
SAMP API как реализовать ходьбу по координатам
 

Adofe

Потрачен
6
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
и добавь зажатие W
 
  • Нравится
Реакции: aldaramin

PED

Новичок
Автор темы
8
0
Не работает:
    float x=2197.28;
    float y=-2188.46;

    DWORD* pActorMtrx = (DWORD*)((*ptrActor) + 0x14);

    CVector2D pPos(*(float*)((*pActorMtrx) + 0x30), *(float*)((*pActorMtrx) + 0x34));
    CVector2D cPos(*(float*)(0xB6F9CC), *(float*)(0xB6F9D0));

    float ac = sqrt(pow(fabs(cPos.x - x), 2) + pow(fabs(cPos.y - y), 2));
    float alpha = asin(fabs(cPos.x - x) / ac);
    float beta = acos(fabs(cPos.x - x) / ac);

    if ((pPos.x > x) && (pPos.y < y))
        *xCam = -beta;
    if ((pPos.x > x) && (pPos.y > y))
        *xCam = beta;
    if ((pPos.x < x) && (pPos.y > y))
        *xCam = (alpha + (1.57));
    if ((pPos.x < x) && (pPos.y < y))
        *xCam = (-alpha - (1.57));

   

        float radius;
        bool sprint;
        bool active;
       
        CVector vect = FindPlayerPed()->GetPosition();
    float dist = (vect.y, vect.x);
        do {
            if (active)
            {
               
                if (!sprint)
                   
                SAMP::isKeyPressed(87);
                else
                {
                   
                    SAMP::isKeyPressed(87);
                }
            }
        } while (active || dist < radius);

        if (active || dist < radius) {
            active=false;
        }

Не работает
 

ARMOR

kjor32 is legend
Модератор
4,852
6,081
Не работает:
    float x=2197.28;
    float y=-2188.46;

    DWORD* pActorMtrx = (DWORD*)((*ptrActor) + 0x14);

    CVector2D pPos(*(float*)((*pActorMtrx) + 0x30), *(float*)((*pActorMtrx) + 0x34));
    CVector2D cPos(*(float*)(0xB6F9CC), *(float*)(0xB6F9D0));

    float ac = sqrt(pow(fabs(cPos.x - x), 2) + pow(fabs(cPos.y - y), 2));
    float alpha = asin(fabs(cPos.x - x) / ac);
    float beta = acos(fabs(cPos.x - x) / ac);

    if ((pPos.x > x) && (pPos.y < y))
        *xCam = -beta;
    if ((pPos.x > x) && (pPos.y > y))
        *xCam = beta;
    if ((pPos.x < x) && (pPos.y > y))
        *xCam = (alpha + (1.57));
    if ((pPos.x < x) && (pPos.y < y))
        *xCam = (-alpha - (1.57));

  

        float radius;
        bool sprint;
        bool active;
      
        CVector vect = FindPlayerPed()->GetPosition();
    float dist = (vect.y, vect.x);
        do {
            if (active)
            {
              
                if (!sprint)
                  
                SAMP::isKeyPressed(87);
                else
                {
                  
                    SAMP::isKeyPressed(87);
                }
            }
        } while (active || dist < radius);

        if (active || dist < radius) {
            active=false;
        }

Не работает
Ты добавил проверку нажата ли клавиша, а не её нажатие.