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

Enjoy

Новичок
Проверенный
164
11
weapUpd.iTargetID = std::stoi(param);
Вполне тут может быть краш.
Привел к uint16_t ничего не поменялось, не понимат.
Структуру ID_WEAPONS_UPDATE вроде правильно переписал. Вот если что.
Код:
struct stWeaponsUpdate
{
    uint16_t        iTargetID;
    uint8_t         slot;
    uint8_t         weapon;
    int16_t         ammo;
};

UPD: Я короче в другом месте где-то обосрался, хотя до этого тестил онли ID_WEAPONS_UPDATE и вылетало. Жопой ошибки правлю походу.
 
Последнее редактирование:

Tray228

Новичок
218
27
тебе необходимо установить microsoft visual c++ redistributable 2015
8db1539f5319.png
 

AWRage

Активный
642
141
хех. Помню проснулся в понедельник, потому что мне снилось, что ты вокруг меня ходил и заебывал этой проблемой, и я решил проверить ее и если что пофиксить, написал код, и он оказался рабочим. Понимаешь, из-за того, что ты тут флудишь не существующей проблемой ты заебал меня даже во сне!
Вот кусок кода, он полностью рабочий, но себе ты его все равно не прикрутишь, ибо ему нужна последняя версия !MenuManager, которая еще не залита, и потому что это не весь код плагина.
C++:
struct stConnectInfo
{
    DWORD dwTimer = 0;
    //TODO: прикрутить список серверов
} ConnectInfo;

void RejTimer()
{
    if (ConnectInfo.dwTimer == 0)
        return;
    if (ConnectInfo.dwTimer > GetTickCount())
        return;
    SF->getSAMP()->getInfo()->RestartGame();
    SF->getSAMP()->getInfo()->iGameState = GAMESTATE_WAIT_CONNECT;
    ConnectInfo.dwTimer = 0;
}
void CALLBACK Reconnect(int KeyClicked)
{
    std::string nick = MENU.connects->InputBoxes->GetInputBoxText(0);
    if (nick.length() > 3 && nick.length() < 26)
        SF->getSAMP()->getPlayers()->SetLocalPlayerName(nick.c_str());
    SF->getSAMP()->disconnect(100);
    ConnectInfo.dwTimer = atoi(MENU.connects->InputBoxes->GetInputBoxText(1).c_str()) * 1000 + GetTickCount();
}
void ConnectsInit()
{
    MENU.connects = new Menu("Подключения", -1, -1, 500, 200, 0xDD202040, -1, false);
    MENU.connects->Elements->AddElement("Ник:", 5, 5, NULL);
    MENU.connects->InputBoxes->AddInputBox(45, 5, 450);
    //MENU.connects->InputBoxes->SetInputBoxText(0, SF->getSAMP()->getPlayers()->pszLocalPlayerName);
    MENU.connects->Elements->AddElement("Задержка:", 5, 25, NULL);
    MENU.connects->InputBoxes->AddInputBox(95, 25, 400);
    MENU.connects->InputBoxes->SetInputBoxText(1, "15");
    MENU.connects->Elements->AddElement("{0080FF}Реконнект", 5, 40, Reconnect);
}
C++:
struct stConnectInfo
{
    DWORD dwTimer = 0;
    //TODO: прикрутить список серверов
} ConnectInfo; // Для чего тут ConnecInfo? Это объявление структуры stConnectInfo?
 

Tray228

Новичок
218
27
Как сделать проверку что мой актер находися в машине или на мото
 

AWRage

Активный
642
141
Как получить позиции костей игрока в стриме? В структура actor_info вроде есть функция pHead, pNeck.. и т.д, но она типа void, то есть ничего не возвращает. Для чего тогда она?
C++:
for (int i = 0; i < 1000; i++)
    {
        if (SF->getSAMP()->getPlayers()->IsPlayerDefined(i))
        {
            actor_info *Actor = SF->getGame()->actorInfoGet(SF->getSAMP()->getPlayers()->GetActorHandleFromSAMPPlayerID(i), 0);
            SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 255), "X: %.3f, Y: %.3f, Z: %.3f", ?, ?, ?);
        }
    }
 
Последнее редактирование:

Enjoy

Новичок
Проверенный
164
11
Как получить позиции костей игрока в стриме? В структура actor_info вроде есть функция pHead, pNeck.. и т.д, но она типа void, то есть ничего не возвращает. Для чего тогда она?
C++:
for (int i = 0; i < 1000; i++)
    {
        if (SF->getSAMP()->getPlayers()->IsPlayerDefined(i))
        {
            actor_info *Actor = SF->getGame()->actorInfoGet(SF->getSAMP()->getPlayers()->GetActorHandleFromSAMPPlayerID(i), 0);
            SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 255), "X: %.3f, Y: %.3f, Z: %.3f", ?, ?, ?);
        }
    }
Здраститя, там же закоментировано, что может принимать 4 параметра.
Имеет структуру
Код:
      - float height
      - float front/back
      - float left/right
      - void* pObject
А вообще, я вот тут посмотрел и мне кажется, что это ближе к твоему вопросу:
Код:
    CVector vec;
    PEDSELF->GetBonePosition(eBone::BONE_HEAD, &vec);
В общем тести.
 

AWRage

Активный
642
141
Здраститя, там же закоментировано, что может принимать 4 параметра.
Имеет структуру
Код:
      - float height
      - float front/back
      - float left/right
      - void* pObject
А вообще, я вот тут посмотрел и мне кажется, что это ближе к твоему вопросу:
Код:
    CVector vec;
    PEDSELF->GetBonePosition(eBone::BONE_HEAD, &vec);
В общем тести.
Оно то ближе, но мне нужно получить не координаты костей своего игрока, а других, а я хз как получить CPed другого игрока. Мб знаешь?
А по поводу того, что функция принимает 4 параметра, так у меня компиль ругается.
 
Последнее редактирование:

AWRage

Активный
642
141
Вообщем, я так и не понял, как получить координаты кости другого игрока, не локального. Если кто поможет, буду очень признателен.