1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92. | /* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
#include <xs>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
static const mrocket[] = "models/rpgrocket.mdl";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("stozek", "test");
}
public plugin_precache()
precache_model(mrocket);
public test(id){
const Float:fSpeed = 700.0;
new Float:fAngles[3];
pev(id,pev_angles,fAngles)
new Float:fVeloc[3][3],Float:fTmp[3],Float:fForward[3];
angle_vector(fAngles,ANGLEVECTOR_FORWARD,fForward);
xs_vec_normalize(fForward,fForward);
xs_vec_mul_scalar(fForward,fSpeed,fForward);
xs_vec_copy(fVeloc[1],fForward);
xs_vec_normalize(fForward,fForward);
angle_vector(fAngles,ANGLEVECTOR_RIGHT,fTmp);
xs_vec_normalize(fTmp,fTmp)
for(new i = 0;i<3;i++){
fTmp[i] = fForward[i] + ( fTmp[i] * floatsin(30.0,degrees) )
}
xs_vec_normalize(fTmp,fTmp);
xs_vec_mul_scalar(fTmp,fSpeed,fTmp)
xs_vec_copy(fVeloc[0],fTmp);
angle_vector(fAngles,ANGLEVECTOR_RIGHT,fTmp);
xs_vec_neg(fTmp,fTmp);
xs_vec_normalize(fTmp,fTmp)
for(new i = 0;i<3;i++){
fTmp[i] = fForward[i] + ( fTmp[i] * floatsin(30.0,degrees) )
}
xs_vec_normalize(fTmp,fTmp);
xs_vec_mul_scalar(fTmp,fSpeed,fTmp)
xs_vec_copy(fVeloc[2],fTmp);
MakeEnt(id, fVeloc[0]);
MakeEnt(id, fVeloc[1]);
MakeEnt(id, fVeloc[2]);
}
public MakeEnt(id, Float:fVeloc[3])
{
if(is_user_alive(id))
{
new Float: Origin[3], Float:Angles[3];
pev(id, pev_origin, Origin);
pev(id, pev_angles, Angles)
new ent = Spawn_Ent("info_target");
set_pev(ent, pev_classname,"Effect_Piesc_Mocy");
set_pev(ent, pev_movetype, MOVETYPE_FLY);
engfunc(EngFunc_SetModel, ent, mrocket);
set_pev(ent,pev_owner,id);
set_pev(ent,pev_solid,SOLID_BBOX);
Origin[2] += 8.0;
set_pev(ent, pev_origin, Origin);
set_pev(ent, pev_angles, Angles)
set_pev(ent, pev_velocity, fVeloc);
}
}
stock Spawn_Ent(const classname[])
{
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, classname))
set_pev(ent, pev_origin, {0.0, 0.0, 0.0})
dllfunc(DLLFunc_Spawn, ent)
return ent
} |