STARCOOL
📈 Аналитический обзор Telegram-канала STARCOOL
Канал STARCOOL (@starcoolplus) является активным участником. Сейчас сообщество объединяет 10 093 подписчиков, занимая 8 796 место в категории Игры и 6 304 место в регионе Индонезия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 093 подписчиков.
Согласно последним данным от 04 ноября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -301, а за последние 24 часа — -19, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.59%. В первые 24 часа после публикации контент обычно набирает 4.95% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 665 просмотров. В течение первых суток публикация набирает 500 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 8.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как pattern, inline, uintptr_t, namespace, off_8783780[0.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“buy here https://realstarcool.biz.id/”
Благодаря высокой частоте обновлений (последние данные получены 05 ноября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Игры.
std::string GetNameFromFName(int32_t key) { if (key <= 0 || UE4Base == 0 || !driver) return ""; const uint32_t nameIndex = static_cast<uint32_t>(key); const uint32_t blockIndex = nameIndex >> Offsets::FNamePool::BlocksBit; const uint32_t blockOffset = nameIndex & ((1u << Offsets::FNamePool::BlocksBit) - 1u); if (blockIndex >= 0x1000) return ""; auto readModernPool = [&](uintptr_t pool) -> std::string { uintptr_t nameBlock = driver->read<uintptr_t>( pool + Offsets::FNamePool::Blocks + blockIndex * sizeof(uintptr_t)); if (nameBlock < 0x10000) return ""; uintptr_t entry = nameBlock + blockOffset * Offsets::FNamePool::Stride; uint16_t header = driver->read<uint16_t>( entry + Offsets::FNamePoolEntry::Header); const bool isWide = (header & 1u) != 0; const int length = static_cast<int>(header >> 1); if (length <= 0 || length > 128) return ""; std::string result; result.reserve(static_cast<size_t>(length) * (isWide ? 3u : 1u)); uintptr_t nameData = entry + Offsets::FNamePoolEntry::Header + sizeof(uint16_t); if (!isWide) { for (int i = 0; i < length; ++i) { result.push_back(driver->read<char>(nameData + i)); } return result; } auto appendUtf8 = [&](uint32_t codePoint) { if (codePoint <= 0x7Fu) { result.push_back(static_cast<char>(codePoint)); } else if (codePoint <= 0x7FFu) { result.push_back(static_cast<char>(0xC0u | (codePoint >> 6))); result.push_back(static_cast<char>(0x80u | (codePoint & 0x3Fu))); } else if (codePoint <= 0xFFFFu) { result.push_back(static_cast<char>(0xE0u | (codePoint >> 12))); result.push_back(static_cast<char>(0x80u | ((codePoint >> 6) & 0x3Fu))); result.push_back(static_cast<char>(0x80u | (codePoint & 0x3Fu))); } else { result.push_back(static_cast<char>(0xF0u | (codePoint >> 18))); result.push_back(static_cast<char>(0x80u | ((codePoint >> 12) & 0x3Fu))); result.push_back(static_cast<char>(0x80u | ((codePoint >> 6) & 0x3Fu))); result.push_back(static_cast<char>(0x80u | (codePoint & 0x3Fu))); } }; for (int i = 0; i < length; ++i) { uint32_t codePoint = driver->read<uint16_t>(nameData + i * sizeof(uint16_t)); if (codePoint >= 0xD800u && codePoint <= 0xDBFFu && i + 1 < length) { uint32_t lowSurrogate = driver->read<uint16_t>( nameData + (i + 1) * sizeof(uint16_t)); if (lowSurrogate >= 0xDC00u && lowSurrogate <= 0xDFFFu) { codePoint = 0x10000u + ((codePoint - 0xD800u) << 10) + (lowSurrogate - 0xDC00u); ++i; } else { codePoint = 0xFFFDu; } } else if (codePoint >= 0xDC00u && codePoint <= 0xDFFFu) { codePoint = 0xFFFDu; } appendUtf8(codePoint); } return result; }; auto readNamesGlobal = [&](uintptr_t namesOffset) -> std::string { uintptr_t namesGlobal = UE4Base + namesOffset; uintptr_t namePoolPointer = driver->read<uintptr_t>(namesGlobal); std::string result; if (namePoolPointer > 0x10000) { result = readModernPool(namePoolPointer); } if (result.empty()) result = readModernPool(namesGlobal); return result; }; std::string result = readNamesGlobal(Offsets::Names); if (result.empty()) result = readNamesGlobal(Offsets::NamesFallback); return result; } std::string GetClassName(uintptr_t actor) { if (actor < 0x10000 || !driver) return ""; uintptr_t classPtr = driver->read<uintptr_t>(actor + 0x10); if (classPtr < 0x10000) return ""; int32_t classNameIndex = driver->read<int32_t>( classPtr + 0x18 + Offsets::FName::DisplayIndex); std::string className = GetNameFromFName(classNameIndex); if (!className.empty()) return className; classNameIndex = driver->read<int32_t>( classPtr + 0x18 + Offsets::FName::ComparisonIndex); return GetNameFromFName(classNameIndex); } static bool IsEspCharacterClass(const std::string& className) { return className == "BP_Baer_NPC" || className == "BP_NH_FemaleM_Base_C" || className == "BP_NH_MaleM_Base_C" || className == "BP_NH_MaleXL_003_C"; } static bool IsMonsterClassName(const std::string& className) { return className.compare(0, 3, "BP_") == 0 && !IsEspCharacterClass(className); } static const char* GetEspCharacterLabel(const std::string& className) { return IsMonsterClassName(className) ? "MONSTER" : "NPC"; } std::string GetObjectName(uintptr_t actor) { if (actor < 0x10000 || !driver) return ""; // Layout UObject: NamePrivate/FName berada pada actor + 0x18. int32_t objectNameIndex = driver->read<int32_t>( actor + 0x18 + Offsets::FName::DisplayIndex); std::string objectName = GetNameFromFName(objectNameIndex); if (objectName.empty()) { objectNameIndex = driver->read<int32_t>( actor + 0x18 + Offsets::FName::ComparisonIndex); objectName = GetNameFromFName(objectNameIndex); } return objectName; }
