Помогите пожалуйста решить задачку:
есть вот такой инфо_таргет с моделью красной точки:
Образуется в центре экрана на ближайшем препятсвии
Необходимо продлить координаты на определенное растояние относительно взгляда игрока и установить вторую точку, что бы это выглядело примерно вот так:
Суть в том, что бы между ними могла оказаться стена или другой объект
Для теста создал такой плаг, который устанавливает первую точку и определяет между игроком и этой точкой растояние:
- Код: Выделить всё
#include <amxmodx>
#include <fakemeta_util>
#include <hl_wpnmod>
#include < engine >
#define LSPOT_SPRITE "sprites/laserdot.spr"
#define TASK_NZ 58726
new rd
public plugin_precache(){
PRECACHE_MODEL( LSPOT_SPRITE )
}
public plugin_init() {
register_plugin("red_dote","SF[AdmiN]","SF[AdmiN]")
register_clcmd("rd", "distance_dote_funk")
}
public distance_dote_funk(id)
{
if(is_valid_ent(rd)) remove_entity(rd)
rd = create_entity("info_target")
new Float:vecSrc[3],Float:vecAiming[3],Float:vecEnd[3]
entity_set_int(rd,EV_INT_rendermode,kRenderGlow)
entity_set_int(rd,EV_INT_renderfx,kRenderFxNoDissipation) //DALNOST LAZERA
entity_set_float(rd,EV_FL_renderamt,255.0) //Jarkostb
set_pev(rd, pev_scale, 0.5)
entity_set_model(rd,LSPOT_SPRITE)
wpnmod_get_gun_position(id,vecSrc)
fm_get_aim_origin(id,vecAiming)
trace_line(id,vecSrc,vecAiming,vecEnd)
entity_set_origin(rd,vecEnd)
new distann = get_entity_distance ( id, rd );
client_print(id,print_chat,"Distance between you and a hen of %d", distann);
return distann
}
Буду признателен за любую помощь!