Show nickname on HUD таймер
|
|
Skrepka
|
Дата: Пятница, 22.05.2015, 17:33:09 | Сообщение # 1 |
|
Сообщений: 3
Репутация: 0 [ +/- ]
|
|
Здравствуйте, я нашёл плагин который при наводке на игрока показывает его ник(Show nickname on HUD), но когда отводишь от него прицел, то его ник показывается примерно 10 секунд Если я заменяю CreateTimer(0.5, Timer, _, TIMER_REPEAT); на CreateTimer(0.3, Timer, _, TIMER_REPEAT);, то ничего не происходит, как это исправить? Код #include <sourcemod> #include <sdktools> #include <cstrike>
#define PLUGIN_VERSION "1.1"
public Plugin:myinfo = { name = "Show nickname on HUD", author = "Graffiti", description = "Show nickname on HUD for CSGO", version = PLUGIN_VERSION, url = "http://www.sourcemod.net/" };
public OnPluginStart() { CreateConVar("sm_show_nickname_on_hud_version", PLUGIN_VERSION, "Show nickname on HUD", FCVAR_PLUGIN | FCVAR_SPONLY | FCVAR_DONTRECORD | FCVAR_NOTIFY); CreateTimer(0.5, Timer, _, TIMER_REPEAT); }
stock TraceClientViewEntity(client) { new Float:m_vecOrigin[3]; new Float:m_angRotation[3];
GetClientEyePosition(client, m_vecOrigin); GetClientEyeAngles(client, m_angRotation);
new Handle:tr = TR_TraceRayFilterEx(m_vecOrigin, m_angRotation, MASK_VISIBLE, RayType_Infinite, TRDontHitSelf, client); new pEntity = -1;
if (TR_DidHit(tr)) { pEntity = TR_GetEntityIndex(tr); CloseHandle(tr); return pEntity; }
if(tr != INVALID_HANDLE) { CloseHandle(tr); } return -1; }
public bool:TRDontHitSelf(entity, mask, any:data) { return (1 <= entity <= MaxClients && entity != data); }
public Action:Timer(Handle:timer) { for(new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { new target = TraceClientViewEntity(i); if(target > 0 && target <= MaxClients && IsClientInGame(target) && IsPlayerAlive(target) && i != target) { PrintHintText(i, "\"%N\"", target); } } } return Plugin_Continue; }
|
|
| |
_R1KO_
|
Дата: Пятница, 22.05.2015, 18:12:34 | Сообщение # 2 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Всё дело в PrintHintText(i, "\"%N\"", target); У него такая дефолт длительность.
Можно попробывать убрать надпись если уже не смотрит на игрока:
|
|
| |
Skrepka
|
Дата: Пятница, 22.05.2015, 18:25:52 | Сообщение # 3 |
|
Сообщений: 3
Репутация: 0 [ +/- ]
|
|
[code] if (IsClientInGame(i)) { new target = TraceClientViewEntity(i); if(target > 0 && target <= MaxClients && IsClientInGame(target) && IsPlayerAlive(target) && i != target) { PrintHintText(i, "\"%N\"", target); PrintHintText(i, ""); } }
Если сделать так, то будет поле без текста, даже при наводке. Как правильно сделать? Или может можно изменить длительность?
|
|
| |
_R1KO_
|
Дата: Пятница, 22.05.2015, 19:41:05 | Сообщение # 4 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Код new target = TraceClientViewEntity(i); if(target > 0 && target <= MaxClients && IsClientInGame(target) && IsPlayerAlive(target) && i != target) { PrintHintText(i, "\"%N\"", target); } else PrintHintText(i, "");
Сообщение отредактировал _R1KO_ - Пятница, 22.05.2015, 19:41:19 |
|
| |
«SeReGa»☆
|
Дата: Пятница, 22.05.2015, 22:28:29 | Сообщение # 5 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
_R1KO_, а почему 2 символа &&?
и ещё вопрос, если написаний мною плагин не выдаёт ERROR logs значит ли что всё хорошо?
Сообщение отредактировал «SeReGa»☆ - Пятница, 22.05.2015, 22:39:44 |
|
| |
_R1KO_
|
Дата: Пятница, 22.05.2015, 22:59:19 | Сообщение # 6 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Цитата «SeReGa»☆ ( ) а почему 2 символа &&? Логическое И
Цитата «SeReGa»☆ ( ) и ещё вопрос, если написаний мною плагин не выдаёт ERROR logs значит ли что всё хорошо? Если нет утечек и ошибок в логике то норм.
|
|
| |
«SeReGa»☆
|
Дата: Пятница, 22.05.2015, 23:19:06 | Сообщение # 7 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
Как определить есть ли утечки?
|
|
| |
SourceSamil
|
Дата: Суббота, 23.05.2015, 03:41:14 | Сообщение # 8 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
Sourcemod выдаст ошибку, выгрузит плагин и выключит сервер
|
|
| |
Skrepka
|
Дата: Суббота, 23.05.2015, 11:42:48 | Сообщение # 9 |
|
Сообщений: 3
Репутация: 0 [ +/- ]
|
|
_R1KO_, после того как я увожу прицел от игрока, то появляется пустое окно, можно убрать окно если ты не целишься в человека?
|
|
| |
_R1KO_
|
Дата: Суббота, 23.05.2015, 11:50:02 | Сообщение # 10 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Цитата Skrepka ( ) _R1KO_, после того как я увожу прицел от игрока, то появляется пустое окно, можно убрать окно если ты не целишься в человека? Там проще смирится с тем что он долго игрока показывает.
Цитата «SeReGa»☆ ( ) Как определить есть ли утечки? Сервер будет жрать много памяти и со временем падать т.к. ему её уже не будет хвататат
Для проверки можно поюзать sm_dump_handles
|
|
| |
SourceSamil
|
Дата: Суббота, 23.05.2015, 20:30:17 | Сообщение # 11 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
/del
Сообщение отредактировал SourceSamil - Суббота, 23.05.2015, 20:31:42 |
|
| |