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

I0000M

Новичок
24
6
На этом скрине изображён лог RakLogger'а, и меня интересует каким образом сосчитать, сколько бит нужно пропустить в пакете, чтобы считать "LD_SPAC:white". Подсобите что ли, может формула какая есть
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
536 бит.
Слева (0040) указано смещение в шестнадцатеричной системе.
До "L" три символа => 43.
43 => 67 (десятичная)
67 * 8 = 536

Но это не применимо ко всем пакетам, особенно к тем у которых несколько строк. Там придется считать/читать данные полностью.
 

I0000M

Новичок
24
6
536 бит.
Слева (0040) указано смещение в шестнадцатеричной системе.
До "L" три символа => 43.
43 => 67 (десятичная)
67 * 8 = 536

Но это не применимо ко всем пакетам, особенно к тем у которых несколько строк. Там придется считать/читать данные полностью.
Спасибо, сохраню-ка я это.
А вот насчёт считывания всего пакета, я примерно так и думал, когда заметил что один и тот же рпц со строчкой иногда выдаёт разный размер данных, разброс битов примерно +-20
А можно как-то автоматизировать пропуск битов? Ну допустим изначально пройтись по стандартному оффсету, и пропускать результат через коллбек-функцию с заготовками возможного текста, и если нет совпадений - отступать по одному биту назад, повторая пока функция не найдёт ожидаемый результат, либо пока биты не кончатся.
Меня просто волнует такая ситуация, что это (как мне кажется) полностью сожрёт фпс, а то и игру крашнет, поскольку текстдравов приходит очень много, и каждый обрабатывать - весьма затратно по ресурсам, с учётом того что там банальный перебор, и сколько он времени займёт неизвестно никому
 

p1cador

cerf
Проверенный
221
359
@I0000M
Не знаю, как можно реализовать то, что тебе нужно наиболее оптимальным способом, но касаемо твоей фразы про фпс - не надо параноить, комп работает гораздо быстрее, чем тебе кажется, а электроны "бегают" в полупроводниках в твоем процессоре со скоростью света, к тому же это не такое уж сложное вычисление
 
Последнее редактирование:

I0000M

Новичок
24
6
@I0000M
Не надо параноить, комп работает гораздо быстрее, чем тебе кажется, а электроны "бегают" в полупроводниках в твоем процессоре со скоростью света
Ну, представь что разброс будет стандартный - 20 бит, и придётся на эти 20 бит поочерёдно сместиться назад и каждый раз проверять больше 1к вариантов содержимого, и всё это пока пакет висит на "рекейве" ._.
Уверен что это не нагрузит сильно?
 

FYP

Известный
Администратор
1,763
5,906
Спасибо, сохраню-ка я это.
А вот насчёт считывания всего пакета, я примерно так и думал, когда заметил что один и тот же рпц со строчкой иногда выдаёт разный размер данных, разброс битов примерно +-20
А можно как-то автоматизировать пропуск битов? Ну допустим изначально пройтись по стандартному оффсету, и пропускать результат через коллбек-функцию с заготовками возможного текста, и если нет совпадений - отступать по одному биту назад, повторая пока функция не найдёт ожидаемый результат, либо пока биты не кончатся.
Меня просто волнует такая ситуация, что это (как мне кажется) полностью сожрёт фпс, а то и игру крашнет, поскольку текстдравов приходит очень много, и каждый обрабатывать - весьма затратно по ресурсам, с учётом того что там банальный перебор, и сколько он времени займёт неизвестно никому
в сампе почти во всех пакетах перед самой строкой пишется её длина
 
  • Нравится
Реакции: I0000M

Dark_Knight

Me, me and me.
Друг
4,078
2,095
Давай свой код. Ничего там не теряется.
Код:
char buffer[1024];
strcpy(buffer, "ТА ПІШОВ ТИ НАХУЙ");
std::string str(buffer);
std::cout << str.c_str() << '\n';
[code]
Угадай, что этот код выполнит?
 

ishi

Известный
493
110
Давай свой код. Ничего там не теряется.
Код:
char buffer[1024];
strcpy(buffer, "ТА ПІШОВ ТИ НАХУЙ");
std::string str(buffer);
std::cout << str.c_str() << '\n';
[code]
Угадай, что этот код выполнит?
можно просто игнорировать тех, кто тебя чем-то раздражает, но конечно ты решишь что лучше показать свою нетерпимость. мудак
 

Dark_Knight

Me, me and me.
Друг
4,078
2,095
можно просто игнорировать тех, кто тебя чем-то раздражает, но конечно ты решишь что лучше показать свою нетерпимость. мудак
Я тебя попросил код, чтобы помочь. Написал код примера по приколу, а ты как маленькая девочка, все принял близко к сердцу. Так что давай свой код, который у тебя криво работает и будет разбираться.
 

Dark_Knight

Me, me and me.
Друг
4,078
2,095
  • Нравится
Реакции: BlackKnigga и ishi

ishi

Известный
493
110
В каком типе данных можно хранить цвет сообщений из чата?