Модератор
Скриптер
Пользователь
- Сообщения
- 1,420
- Реакции
- 2,511
- Помог
- 58 раз(а)
Приветствую, имеется небольшой баг при реализации цветного StatusText, код прилагаю ниже.
Вариант с цветом но с багом:
Вариант без цвета но без багов:
Весь этот код вызывается в PreThink, проблема в том что если как ник указывать %%p2 то получается проблема что если быстро ну или бывает даже не быстро убирать прицел с игрока например на пол или в другую зону то выводится вместо ника звездочки (см. скриншот). Так же и с количеством жизней, если указывать как %%i3
Есть вариант лучше или же какой способ есть чтобы это исправить? Подсказали решение (спасибо Keniski ):
Вариант с цветом но с багом:
Код:
func_ShowStatusText(id)
{
new iTarget, szStatusInfo[80];
get_user_aiming(id, iTarget, .dist = 1000);
if(is_user_valid(iTarget))
{
switch(get_member(iTarget, m_iTeam))
{
case TEAM_TERRORIST: formatex(szStatusInfo, charsmax(szStatusInfo), "Заключённый: %%p2 | %%i3 ХП");
case TEAM_CT: formatex(szStatusInfo, charsmax(szStatusInfo), "Охранник: %%p2 | %%i3 ХП");
}
}
else
{
new Float:flHealth;
get_entvar(id, var_health, flHealth);
if(flHealth > 255.0)
formatex(szStatusInfo, charsmax(szStatusInfo), "[ Здоровье: %0.f ХП ]", flHealth);
else
szStatusInfo[0] = '^0';
}
message_begin(MSG_ONE_UNRELIABLE, g_iMsgStatusText, .player = id);
write_byte(0);
write_string(szStatusInfo);
message_end();
}
Код:
func_ShowStatusText(id)
{
new iTarget, Float:flHealth, szStatusInfo[80];
get_user_aiming(id, iTarget, .dist = 1000);
get_entvar(iTarget, var_health, flHealth);
if(is_user_valid(iTarget))
{
switch(get_member(iTarget, m_iTeam))
{
case TEAM_TERRORIST: formatex(szStatusInfo, charsmax(szStatusInfo), "Заключённый: %n | %0.f ХП", iTarget, flHealth);
case TEAM_CT: formatex(szStatusInfo, charsmax(szStatusInfo), "Охранник: %n | %0.f ХП", iTarget, flHealth);
}
}
else
{
if(flHealth > 255.0)
formatex(szStatusInfo, charsmax(szStatusInfo), "[ Здоровье: %0.f ХП ]", flHealth);
else
szStatusInfo[0] = '^0';
}
message_begin(MSG_ONE_UNRELIABLE, g_iMsgStatusText, .player = id);
write_byte(0);
write_string(szStatusInfo);
message_end();
}
https://i.imgur.com/03eyaUD.png
Есть вариант лучше или же какой способ есть чтобы это исправить?
27 Дек 2018
Код:
-case TEAM_TERRORIST: formatex(szStatusInfo, charsmax(szStatusInfo), "Заключённый: %%p2 | %%i3 ХП");
-case TEAM_CT: formatex(szStatusInfo, charsmax(szStatusInfo), "Охранник: %%p2 | %%i3 ХП");
+case TEAM_TERRORIST: formatex(szStatusInfo, charsmax(szStatusInfo), "1 Заключённый: %%p2 | %%i3 ХП");
+case TEAM_CT: formatex(szStatusInfo, charsmax(szStatusInfo), "1 Охранник: %%p2 | %%i3 ХП");
Последнее редактирование: