Show Nick
maxim5442
Дата: Четверг, 12.02.2015, 16:53:08 | Сообщение # 1
Сообщений: 18
Репутация: 0 [ +/- ]
Здравствуйте, форумчане. Нашёл плагин, который мне нужен, но нужно убрать проверку на то живой игрок или нет. Суть в том, что если он мёртвый - то это работает, а если живой - то нет. Надеюсь на вашу поддержку Код:
#include <sourcemod> #include <sdktools> #include <cstrike> #define PLUGIN_VERSION "1.0" 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); } public Action:Timer(Handle:timer) { for(new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i) && !IsPlayerAlive(i)) { new target = TraceClientViewEntity(i); if(target > 0 && target <= MaxClients && IsClientInGame(target) && IsPlayerAlive(target)) { PrintHintText(i, "Игрок на которого вы смотрите: \"%N\"", target); } } } return Plugin_Continue; }
ıIıIİıİIıımusic
Дата: Четверг, 12.02.2015, 18:01:00 | Сообщение # 2
Сообщений: 54
Репутация: -10 [ +/- ]
maxim5442, Тут нет проверки на живой или нет Вот код, но его нет тут HookEvent("player_death", death)
Сообщение отредактировал ıIıIİıİIıımusic - Четверг, 12.02.2015, 18:02:25
maxim5442
Дата: Четверг, 12.02.2015, 18:06:35 | Сообщение # 3
Сообщений: 18
Репутация: 0 [ +/- ]
Цитата ıIıIİıİIıımusic (
)
maxim5442, Тут нет проверки на живой или нет Вот код, но его нет тут HookEvent("player_death", death)
Нет, она есть. Потому-что когда ты следишь за кем-то то это показывается, а я хочу чтоб всегда показывалось. Возможно это совсем другой код, просто не совсем смыслю.
ıIıIİıİIıımusic
Дата: Четверг, 12.02.2015, 18:13:50 | Сообщение # 4
Сообщений: 54
Репутация: -10 [ +/- ]
maxim5442, Пробуй Там в конце лишний код был Он смысл не несет вроде return Plugin_Continue; }
Гости не могут скачивать файлы
Scarface_slv
Дата: Четверг, 12.02.2015, 18:20:47 | Сообщение # 5
Сообщений: 737
Репутация: 61 [ +/- ]
ıIıIİıİIıımusic
maxim5442
Дата: Четверг, 12.02.2015, 18:21:09 | Сообщение # 6
Сообщений: 18
Репутация: 0 [ +/- ]
ıIıIİıİIıımusic, перестал работать, флудит жёстко в консоль :( Но спасибо за попытку Кстати, вот логи:
Scarface_slv
Дата: Четверг, 12.02.2015, 18:25:32 | Сообщение # 7
Сообщений: 737
Репутация: 61 [ +/- ]
Попробуй изменить это if (IsClientInGame(i) && !IsPlayerAlive(i)) // 57 строка на if (IsClientInGame(i)) может прокатит
ıIıIİıİIıımusic
Дата: Четверг, 12.02.2015, 18:30:43 | Сообщение # 8
Сообщений: 54
Репутация: -10 [ +/- ]
Scarface_slv, А где я ошибся? Код
#include <sourcemod> #include <sdktools> #include <cstrike> #define PLUGIN_VERSION "1.0" 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); } public Action:Timer(Handle:timer) { for(new i = 1; i <= MaxClients; i++) { PrintHintText(i, "Игрок на которого вы смотрите: \"%N"); } }
Tokami
Дата: Четверг, 12.02.2015, 18:31:28 | Сообщение # 9
Сообщений: 238
Репутация: 19 [ +/- ]
ıIıIİıİIıımusic, Пожалуйста прошу тебя, не пиши чушь.
ıIıIİıİIıımusic
Дата: Четверг, 12.02.2015, 18:32:03 | Сообщение # 10
Сообщений: 54
Репутация: -10 [ +/- ]
Tokami, Я старался)
maxim5442
Дата: Четверг, 12.02.2015, 19:31:13 | Сообщение # 11
Сообщений: 18
Репутация: 0 [ +/- ]
Scarface_slv, частично помогло) Но теперь пишет что я смотрю на себя) При том всегда. Ладно, попарюсь сам) Спасибо за помощь)
Scarface_slv
Дата: Четверг, 12.02.2015, 19:42:00 | Сообщение # 12
Сообщений: 737
Репутация: 61 [ +/- ]
maxim5442, Ну а что должно быть? Раз ты реально смотришь на себя)
Regedit
Дата: Четверг, 12.02.2015, 19:50:27 | Сообщение # 13
Сообщений: 135
Репутация: 1 [ +/- ]
так сложно аж ппц... Код
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; }
maxim5442
Дата: Четверг, 12.02.2015, 20:04:40 | Сообщение # 14
Сообщений: 18
Репутация: 0 [ +/- ]
Regedit, спасибо огромное, но последняя проблема, я убрал все проверки, а всё равно только мёртвым видешь.
Scarface_slv
Дата: Четверг, 12.02.2015, 20:10:22 | Сообщение # 15
Сообщений: 737
Репутация: 61 [ +/- ]
maxim5442, Что ты хочешь сделать когда игрок живой? Что он должен видеть????