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

Dima_Myrzich

Потрачен
7
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как сделать рекурсию ?
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
void foo() {
foo ();
}
 

-raymond-

Известный
110
9
как сделать так чтобы скрипт автоматически выбирал нужный listitem в диалоге отправленном сервером?
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
с сф или без
 

Sasiko1

Новичок
24
0
Пробовал получить ХП игроков в стриме, но чет не получилось, укажите на ошибки.
C++:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();

void CALLBACK cmd_show_info_player(std::string param)
{
    if (param.empty()) return;
    int    i = std::stoi(param);

    char buf[128];

    stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[i];
    stUnoccupiedData *ppPlayer; // ПЫТАЛСЯ ПОЛУЧИТЬ



    if (!pPlayer) return;

    sprintf(buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %0.0f AFKState - %d",
        pPlayer->szPlayerName,
        pPlayer->iPing,
        pPlayer->iScore,
        pPlayer->iIsNPC,
        ppPlayer->fHealth, // ПЫТАЛСЯ ПОЛУЧИТЬ
        pPlayer->pPlayerData->iAFKState == 2);

    SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
};


void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {

        SF->getSAMP()->registerChatCommand("showinfo", cmd_show_info_player);       
    init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Регай колбек и там меняй парметр листбокса
Пробовал получить ХП игроков в стриме, но чет не получилось, укажите на ошибки.
C++:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();

void CALLBACK cmd_show_info_player(std::string param)
{
    if (param.empty()) return;
    int    i = std::stoi(param);

    char buf[128];

    stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[i];
    stUnoccupiedData *ppPlayer; // ПЫТАЛСЯ ПОЛУЧИТЬ



    if (!pPlayer) return;

    sprintf(buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %0.0f AFKState - %d",
        pPlayer->szPlayerName,
        pPlayer->iPing,
        pPlayer->iScore,
        pPlayer->iIsNPC,
        ppPlayer->fHealth, // ПЫТАЛСЯ ПОЛУЧИТЬ
        pPlayer->pPlayerData->iAFKState == 2);

    SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
};


void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {

        SF->getSAMP()->registerChatCommand("showinfo", cmd_show_info_player);      
    init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
Ты бля сколько дней уже не можешь получить хп игроков
Я бы уже давно рыдать начал и кричать что программирование это не моё
А потом вскрылся
И я не могу понять какие ошибки искать в коде из примера
 

Sasiko1

Новичок
24
0
Регай колбек и там меняй парметр листбокса

Ты бля сколько дней уже не можешь получить хп игроков
Я бы уже давно рыдать начал и кричать что программирование это не моё
А потом вскрылся
И я не могу понять какие ошибки искать в коде из примера
Могёшь замутить получение ХП игроков в зоне стрима?
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
окей ща
 

CleanLegend

Известный
Всефорумный модератор
481
939
Пробовал получить ХП игроков в стриме, но чет не получилось, укажите на ошибки.
C++:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();

void CALLBACK cmd_show_info_player(std::string param)
{
    if (param.empty()) return;
    int    i = std::stoi(param);

    char buf[128];

    stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[i];
    stUnoccupiedData *ppPlayer; // ПЫТАЛСЯ ПОЛУЧИТЬ



    if (!pPlayer) return;

    sprintf(buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %0.0f AFKState - %d",
        pPlayer->szPlayerName,
        pPlayer->iPing,
        pPlayer->iScore,
        pPlayer->iIsNPC,
        ppPlayer->fHealth, // ПЫТАЛСЯ ПОЛУЧИТЬ
        pPlayer->pPlayerData->iAFKState == 2);

    SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
};


void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {

        SF->getSAMP()->registerChatCommand("showinfo", cmd_show_info_player);     
    init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
Ты используешь для получения хп игроков не правильную структуру.
C++:
stUnoccupiedData *ppPlayer; // это удали
sprintf(buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %.1f AFKState - %d",
pPlayer->szPlayerName,
pPlayer->iPing,
pPlayer->iScore,
pPlayer->iIsNPC,
pPlayer->pPlayerData->fActorHealth ,
pPlayer->pPlayerData->iAFKState == 2);
 
  • Нравится
Реакции: Sasiko1

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
for (unsigned short i = 0; i < 1000; i++) {
    if (SF->getSAMP()->getPlayers()->IsPlayerDefined(i, true)) {
        float health = SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData->fActorHealth;
    }
}
попробуй так
 
  • Нравится
Реакции: Sasiko1

Sasiko1

Новичок
24
0
Ты используешь для получения хп игроков не правильную структуру.
C++:
stUnoccupiedData *ppPlayer; // это удали
sprintf(buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %.1f AFKState - %d",
pPlayer->szPlayerName,
pPlayer->iPing,
pPlayer->iScore,
pPlayer->iIsNPC,
pPlayer->pPlayerData->fActorHealth ,
pPlayer->pPlayerData->iAFKState == 2);
Все работает
C++:
for (unsigned short i = 0; i < 1000; i++) {
    if (SF->getSAMP()->getPlayers()->IsPlayerDefined(i, true)) {
        float health = SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData->fActorHealth;
    }
}
попробуй так
Спасибо вам