Инфо из engine.inc:
native entity_set_vector(iIndex, iKey, const Float:vNewVector[3]);
Синтаксис:
entity_set_vector ( entity, key, Float:NewVector[3] )
- entity - id объекта
- key - Ключ вектора
enum {
EV_VEC_origin = 0,
EV_VEC_oldorigin,
EV_VEC_velocity,
EV_VEC_basevelocity,
EV_VEC_clbasevelocity,
EV_VEC_movedir,
EV_VEC_angles,
EV_VEC_avelocity,
EV_VEC_punchangle,
EV_VEC_v_angle,
EV_VEC_endpos,
EV_VEC_startpos,
EV_VEC_absmin,
EV_VEC_absmax,
EV_VEC_mins,
EV_VEC_maxs,
EV_VEC_size,
EV_VEC_rendercolor,
EV_VEC_view_ofs,
EV_VEC_vuser1,
EV_VEC_vuser2,
EV_VEC_vuser3,
EV_VEC_vuser4,
} - Float:NewVector[3] - Значение вектора
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "[engine.inc] entity_set_vector"
#define VERSION "1.0"
#define AUTHOR "Admin"
new g_Model[] = {"models/chick.mdl"}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /chick","add_chicken")
}
public plugin_precache(){
precache_model(g_Model)
}
public add_chicken(id){
new Ent = create_entity("info_target")
if(is_valid_ent(Ent)){
entity_set_model(Ent, g_Model)
entity_set_size(Ent,Float:{-6.0, -10.0, 0.0},Float:{6.0, 10.0, 18.0})
new Float:f_Origin[3]
entity_get_vector(id, EV_VEC_origin, f_Origin)
f_Origin[0] += 50.0
entity_set_origin(Ent, f_Origin)
entity_set_int(Ent,EV_INT_solid,SOLID_BBOX)
entity_set_float(Ent, EV_FL_takedamage, DAMAGE_YES)
new Float:angles[3]
angles[0] = 45.0
angles[1] = 90.0
angles[2] = 45.0
entity_set_vector(Ent,EV_VEC_angles,angles)
drop_to_floor(Ent)
}
}
Описание:
Продолжим издеваться над созданной курочкой.
Будем считать что вы читали описание функций которые есть в данном примере и будем говорить только о entity_set_vector.
В данном примере мы развернем получившуюся курицу в сторону с помощью рассматриваемой функции.
Для это объявим новый массив angles и присвоим ему какие то значения.
Затем для нашей функции выберем ключ EV_VEC_angles.
Попробуйте поменять значения, что бы нагляднее понять принцип работы.
Изменяйте по одному значению градусов на +-90. эффект буден виден однозначно.