Заказать Сервер Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

Страница 1 из 11
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Как узнать точку прицела entity?
Как узнать точку прицела entity?
tonline_kms65 Дата: Понедельник, 01.08.2016, 20:10:07 | Сообщение # 1
Сообщений: 182
Репутация: 2 [ +/- ]
Всем привет
Такой вопрос появился - есть ли функция определения прицела энтити. Наподобие определения прицела у игрока



Как можно применить событие event к энтити? Возможно ли такое?


Сообщение отредактировал tonline_kms65 - Понедельник, 01.08.2016, 20:11:50
 
SourceSamil Дата: Понедельник, 01.08.2016, 20:36:43 | Сообщение # 2
Сообщений: 237
Репутация: [ +/- ]
GetEyeAngles + трасировка по углу
 
tonline_kms65 Дата: Понедельник, 01.08.2016, 22:43:10 | Сообщение # 3
Сообщений: 182
Репутация: 2 [ +/- ]
Цитата SourceSamil ()
GetEyeAngles + трасировка по углу


GetEyeAngles - это что? Вообще не нахожу такого.
Похожее GetClientEyePosition это для игрока.

Если ты имеешь в виду так - получаем углы энтити, строим от угла вектор, трассируем (TR_TraceRayFilter), - как определить саму конечную точку? Например смотрим на стену (стена точно не энтити).
Кусок кода есть?
 
SourceSamil Дата: Вторник, 02.08.2016, 08:44:18 | Сообщение # 4
Сообщений: 237
Репутация: [ +/- ]
decl Float: fAngles[ 3 ];
GetClientEyeAngles(iClient, fAngles );
TR_TraceRayFilter(Эту позицию задашь сам, ее найдешь путем тестов с Origin +- xyz, fAngles, MASK_SOLID, RayType_Infinite, TraceRay_DontHimself, iClient );

public bool: TraceRay_DontHimself ( iEnity, iMask, any: iClient )
return iEnity != iClient;
 
хвостег Дата: Вторник, 02.08.2016, 08:50:28 | Сообщение # 5
Сообщений: 161
Репутация: 53 [ +/- ]
Код

stock GetClientAimPosition(client, Float:origin[3])
{
    decl Float:angles[3];
    GetClientEyePosition(client, origin);
    GetClientEyeAngles(client,   angles);
    
    TR_TraceRayFilter(origin, angles, MASK_SOLID, RayType_Infinite, Trace_FilterPlayers, client);
    
    if(TR_DidHit(INVALID_HANDLE))
        TR_GetEndPosition(origin, INVALID_HANDLE);
}

public bool:Trace_FilterPlayers(entity, contentsMask, any:data)
{
    if(entity != data && entity > MaxClients)
        return true;
    return false;
}
 
SourceSamil Дата: Вторник, 02.08.2016, 12:27:20 | Сообщение # 6
Сообщений: 237
Репутация: [ +/- ]
Вот, точно, Хвостег, а я вспоминал, где я мог видеть то, что ему нужно(=
 
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Как узнать точку прицела entity?
Страница 1 из 11
Поиск: