Цитата (iEx)
Что по идее делаешь ты - именно если смотрит На игрока,а не видит его.
Есть функция проверяющая игроков в радиусе 250 юнитов . Если игрок оказался в радиусе то его например трясет . Я хочу доделать функцию и установить если игрок в радиусе 250 юнитов но за стенкой (либо за стеклом либо за коробкой большой ) то его трясти не будет !
Код
new Float:origin[3];
GetClientAbsOrigin(client, origin);
origin[2] += 15.0;
new clientteam = GetClientTeam(client);
new String:classname[64];
TE_SetupBeamRingPoint(origin, 10.0, 200.0, g_beamsprite, g_halosprite, 1, 1, 0.2, 100.0, 1.0, {255,75,75,255}, 0, 0);
TE_SendToAll();
new Float:targetOrigin[3];
for (new i = 1; i <= MaxClients; i++)
{
if (!IsClientInGame(i) || !IsPlayerAlive(i) || GetClientTeam(i) == clientteam)
{
continue;
}
GetClientAbsOrigin(i, targetOrigin);
targetOrigin[2] += 130.0;
if (GetVectorDistance(origin, targetOrigin) <= 250)
{
new Handle:trace = TR_TraceRayFilterEx(origin, targetOrigin, MASK_ALL, RayType_Infinite, FilterTarget, i);
GetEdictClassname(TR_GetEntityIndex(trace), classname, sizeof(classname));
if(ЕСЛИ МЕЖДУ ИГРОКОМ И МНОЙ НИЧЕГО НЕТ ЗНАЧИТ ВЫПОЛНЯЕМ ФУНКЦИЮ){
/// ФУНКЦИЯ
}
CloseHandle(trace);
}
}
Добавлено (16.09.2013, 11:18:55)
---------------------------------------------
Все всем спасибо решение нашел !