-
Автор темы
- #1
добавляем куда-нибудь
отрисовку измените на свою, дальше в хуке где вы рисуете визуалы и т д пихаем
и чтобы создать уведомление используем Message::Get().Start("тут текст");
пиздец класна да?
SS:
Код:
class Message
{
private:
bool Enable = false;
float OfstLayWhite = 0;
float OfstLayBlack = 0;
int NumTicks = 100000;
ImVec2 MsgTextSize = ImVec2(0, 0);
string MessageText;
public:
Message()
{
MessageText = "";
}
void Start(string Msg)
{
MessageText = Msg;
OfstLayWhite = 0;
OfstLayBlack = 0;
NumTicks = 0;
Enable = true;
}
void Show()
{
if (Enable)
{
int posX = width;
int posY = 50;
if (NumTicks < 10000)
NumTicks += 5;
else
Enable = false;
if (NumTicks < 1900)
{
if (OfstLayWhite < 200)
OfstLayWhite += (200 - OfstLayWhite) * 0.0999f;
if (OfstLayWhite > 200)
OfstLayWhite = 200;
if (OfstLayWhite > 200 / 1.09f)
if (OfstLayBlack < 194)
OfstLayBlack += (194 - OfstLayBlack) * 0.0999f;
if (OfstLayBlack > 194)
OfstLayBlack = 194;
}
else
{
if (OfstLayBlack > 0)
OfstLayBlack -= (((194)-OfstLayBlack) * 0.0999f) + 0.01f;
if (OfstLayBlack < (194 - 5.f) && OfstLayWhite >= 0)
OfstLayWhite -= ((200 - OfstLayWhite) * 0.0999f) + 0.01f;
}
Render::Get().RenderBoxFilled(int(posX - OfstLayWhite) + 3, posY, int(posX - OfstLayWhite) + 3 + int(OfstLayWhite), posY + 55, Color::White);
Render::Get().RenderBoxFilled(int(posX - OfstLayBlack) + 3, posY, int(posX - OfstLayBlack) + 3 + int(OfstLayBlack), posY + 55, Color::Black);
MsgTextSize = g_pDefaultFont->CalcTextSizeA(20.f, FLT_MAX, NULL, MessageText.c_str());
ImVec2 TPos = ImVec2(0, 0);
TPos.x = posX - OfstLayBlack + 97 - MsgTextSize.x / 2 + 6;
TPos.y = posY + 27.5 - MsgTextSize.y / 2;
Render::Get().RenderText(MessageText, TPos, 20.f, Color::White);
}
}
static Message& Get()
{
static Message obj;
return obj;
}
};
Код:
Message::Get().Show();
пиздец класна да?
SS: