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

Fomikus

Известный
Проверенный
474
347
Как узнать цвет пикселя в игре? (Старый добрый горара раен САНАН ДРЕС)
 

Babayka2016

Известный
51
2
Кто-нибудь в курсе как устроена функция multiprocessing в sampfuncs'e?

Или же по-другому:

Стоит задача запустить несколько окон сампа без sampfuncs, без замены gta_sa.exe, без песочницы, чисто программными методами. Как это можно сделать?
 

bet.io

Известный
117
16
Объясните пожалуйста, что в этой программе делает строка scanf("%d %d", &a, &b); и printf("%d", k);

Код:
int main(){
     int a, b, s, k;
     scanf("%d %d", &a, &b);
     s = 1;
     k = a;
     while (s <= b) {
         k = k+1;
         s = s+k;
     }
     printf("%d", k);
     return 0;
 

traceattack

Известный
218
119
  • Влюблен
Реакции: bet.io

papercut

Известный
125
25
Делаю SF плагин, нужно усложие, чтобы при нажатии TAB и открытом чате... У меняя так:
C++:
if (SF->getGame()->isKeyPressed('TAB') && SF->getSAMP()->getInput()->iInputEnabled == 1) prt();
что-то тут не так
 

#Northn

Pears Project — уже запущен!
Всефорумный модератор
2,652
2,549
Изучаю С++, возникла идея избавиться от стандартов C#.
Имею код
C++:
case ScriptRPCEnumeration::RPC_ScrClientMessage:
    uint32 color; std::string msg;
    params->bitStream->ResetReadPointer();
    params->bitStream->Read(color);
    params->bitStream->SetReadOffset(32);
    params->bitStream->Read(msg);
    print(msg);
Но он не хочет работать с классом std нормально.
Читал, что тип std::string самостоятельно устанавливает конец строки и ему не нужно дополнительно узнавать размер, по крайней мере так говорит сам VS
45541


Если туда ещё и передавать размер:
45542


Я что-то не так понимаю?
 

Musaigen

shitposter
Проверенный
1,660
1,477
Изучаю С++, возникла идея избавиться от стандартов C#.
Имею код
C++:
case ScriptRPCEnumeration::RPC_ScrClientMessage:
    uint32 color; std::string msg;
    params->bitStream->ResetReadPointer();
    params->bitStream->Read(color);
    params->bitStream->SetReadOffset(32);
    params->bitStream->Read(msg);
    print(msg);
Но он не хочет работать с классом std нормально.
Читал, что тип std::string самостоятельно устанавливает конец строки и ему не нужно дополнительно узнавать размер, по крайней мере так говорит сам VSПосмотреть вложение 45541

Если туда ещё и передавать размер:
Посмотреть вложение 45542

Я что-то не так понимаю?
 

#Northn

Pears Project — уже запущен!
Всефорумный модератор
2,652
2,549
Я не хочу использовать char, я же упомянул об этом.
 

traceattack

Известный
218
119
Делаю SF плагин, нужно усложие, чтобы при нажатии TAB и открытом чате... У меняя так:
C++:
if (SF->getGame()->isKeyPressed('TAB') && SF->getSAMP()->getInput()->iInputEnabled == 1) prt();
что-то тут не так
1:
if (SF->getGame()->isKeyPressed(VK_TAB) && SF->getSAMP()->getInput()->iInputEnabled ) prt();
Я не хочу использовать char, я же упомянул об этом.
2:
        UINT32 dColor;
        UINT32 dMessageLength;
        char temp[144];

        params->bitStream->ResetReadPointer();
        params->bitStream->Read( dColor );
        params->bitStream->Read( dMessageLength );
        params->bitStream->Read( temp , dMessageLength  );
        temp[dMessageLength] = '\0';

        std::string str = temp;
В классе стринг , нет такого конструктора насколько я знаю;
 
Последнее редактирование:
  • Грустно
Реакции: #Northn

papercut

Известный
125
25
Думаю, этог одостаточно будет:
void CALLBACK  prt() {
    std::string startstr = "{5e625d}[SF]{ffffff}: {c7de39}TAB-nick {5ede37}LOADED";
    char* start = _strdup(startstr.c_str());
    char t[10];
    sprintf(t, "%d", SF->getSAMP()->getInput()->iInputEnabled);
    SF->getSAMP()->getChat()->AddChatMessage(-1, start);
}

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        init = true;
    }
    if (SF->getGame()->isKeyPressed(VK_TAB) && SF->getSAMP()->getInput()->iInputEnabled) prt();
}
 

traceattack

Известный
218
119
\
Думаю, этог одостаточно будет:
void CALLBACK  prt() {
    std::string startstr = "{5e625d}[SF]{ffffff}: {c7de39}TAB-nick {5ede37}LOADED";
    char* start = _strdup(startstr.c_str());
    char t[10];
    sprintf(t, "%d", SF->getSAMP()->getInput()->iInputEnabled);
    SF->getSAMP()->getChat()->AddChatMessage(-1, start);
}

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        init = true;
    }
    if (SF->getGame()->isKeyPressed(VK_TAB) && SF->getSAMP()->getInput()->iInputEnabled) prt();
}
Не вижу никакой логики в программе , что ты конкретно хочешь?