Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

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

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Отслеживание прицел
Отслеживание прицел
polo79655 Дата: Вторник, 22.11.2016, 13:25:04 | Сообщение # 1
Сообщений: 99
Репутация: -1 [ +/- ]
Отслеживаю, смотрит ли игрок на кого-нибудь. Вопрос, как мне определить, смотрит он через какие-нибудь текстуры или нет? Просто у меня стоит плагин, игроки могут лечить друг друга и получается очень тупо, когда они это делают через стены. Подскажите пожалуйста.
 
Meow_1337 Дата: Вторник, 22.11.2016, 14:16:00 | Сообщение # 2
Сообщений: 207
Репутация: 11 [ +/- ]
polo79655, писал для себя, но вот тебе мой GetClientAimTarget.

Запрещает целиить игрока через стены, т.е дейсствия через стены или пропы не учитываются.

Код
public bool TRDontHitTarget(int entity, int mask, any data)
{
    if (entity == data) return false;
    return true;
}

stock int AimTargetPlayer(int client) {
    float m_vecOrigin[3],
  m_angRotation[3];

    GetClientEyePosition(client, m_vecOrigin);
    GetClientEyeAngles(client, m_angRotation);

    Handle tr = TR_TraceRayFilterEx(m_vecOrigin, m_angRotation, MASK_VISIBLE, RayType_Infinite, TRDontHitTarget, client);
    if (TR_DidHit(tr)) {
  int pEntity = TR_GetEntityIndex(tr);
  if (0 < pEntity < MaxClients)
  {
   delete tr;
   return pEntity;
  }
    }

    delete tr;
    return -1;
}
 
polo79655 Дата: Вторник, 22.11.2016, 14:38:44 | Сообщение # 3
Сообщений: 99
Репутация: -1 [ +/- ]
Цитата Meow_1337 ()
public bool TRDontHitTarget(int entity, int mask, any data)
{
    if (entity == data) return false;
    return true;
}

stock int AimTargetPlayer(int client) {
    float m_vecOrigin[3],
  m_angRotation[3];

    GetClientEyePosition(client, m_vecOrigin);
    GetClientEyeAngles(client, m_angRotation);

    Handle tr = TR_TraceRayFilterEx(m_vecOrigin, m_angRotation, MASK_VISIBLE, RayType_Infinite, TRDontHitTarget, client);
    if (TR_DidHit(tr)) {
  int pEntity = TR_GetEntityIndex(tr);
  if (0 < pEntity < MaxClients)
  {
   delete tr;
   return pEntity;
  }
    }

    delete tr;
    return -1;
}

Большое тебе спасибо
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Отслеживание прицел
  • Страница 1 из 1
  • 1
Поиск: