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

ishi

Известный
493
110
потому что условие цикла изначально ложно (false)
Ой :D
Я просто забыл указать колбек, который её переключает:
C++:
void CALLBACK qwe(std::string params)
{
   meow = !meow;
   SF->getSAMP()->getChat()->AddChatMessage(555555, "%d", meow);
   std::thread qwe(qqqwe);
   qwe.join();
   return;
}
Вот только почему-то, не смотря на то что цикл в отдельном потоке, всё равно крашит при попытке его завести,, без цикла же итерация проходит нормально
Нет предположений, в чём ошибся?
 

ishi

Известный
493
110
Где можно глянуть стили для шрифтов создаваемых функой ниже?
C++:
pFont = SF->getRender()->CreateNewFont("Tahoma", 12, FCR_BORDER );
 

ishi

Известный
493
110
Как добавить в строку цифры?
Пробовал как в клео (0C15: strcat destination 5@ source 3@)
C++:
strcat(sstring, last);
Но мне выдаёт, что так нельзя, инт не является константой чар, и совмещать отказывается ._.
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Так в чём проблема? int в char с помощью любой функции, которое предоставляет такой функционал и используешь strcat.
А можно ещё заюзать класс string и сделать такое:
C++:
std::string mystr = "test";
mystr += std::to_string(2360);
 

ishi

Известный
493
110
Так в чём проблема? int в char с помощью любой функции, которое предоставляет такой функционал и используешь strcat.
А можно ещё заюзать класс string и сделать такое:
C++:
std::string mystr = "test";
mystr += std::to_string(2360);
немножечко не то, я не так выразился. У меня "строка" - это char, я его преобразую конкретно в строку уже в конце, а вот сейчас мне надо инт уместить в чар-строку (не знаю как правильно называется, не кусайся пожалуйста)

и кстати твой вариант выдаёт ошибку, отсутствует оператор "+=" сооветствующий операндам char[144] std::to_string
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Ну раз ты всё таки используешь хейдер string, то можешь заюзать ту же функцию std::to_string и выполнить .c_str()
Колхоз, но и твои намерения тоже мне не понятны.
 

ishi

Известный
493
110
Ну раз ты всё таки используешь хейдер string, то можешь заюзать ту же функцию std::to_string и выполнить .c_str()
Колхоз, но и твои намерения тоже мне не понятны.
я строчку для рендера sf готовлю, хотел как в клео просто выделить память и накидать туда в перемешку строк и цифр, а потом уже рендерить. вот
C++:
using namespace std;

SAMPFUNCS *SF = new SAMPFUNCS();
stFontInfo *pFont;
bool meow = false;
char sstring[144];
C++:
bool CALLBACK oPack(stRakNetHookParams *params)
{
   if (params->packetId == 207)
   {
     params->bitStream->IgnoreBits(449);
     int last;
     memset(sstring, 0, sizeof(sstring));
     sstring += std::to_string(last);
     //strcat(sstring, );
     //strcat(sstring,last
     SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
     SF->getSAMP()->getChat()->AddChatMessage(555555, "%d", meow);
     return true;
   }
   return true;
}
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Колбэк регистрируется 1 раз. Ты его регаешь точно не 1 раз.
Насчет строки:
C++:
strcat(sstring, std::to_string(last).c_str());