typedef struct entvars_s
{
string_t classname;
string_t globalname;
Vector origin;
Vector oldorigin;
Vector velocity;
Vector basevelocity;
Vector clbasevelocity; // Base velocity that was passed in to server physics so
// client can predict conveyors correctly. Server zeroes it, so we need to store here, too.
Vector movedir;
Vector angles; // Model angles
Vector avelocity; // angle velocity (degrees per second)
Vector punchangle; // auto-decaying view angle adjustment
Vector v_angle; // Viewing angle (player only)
Vector endpos;
Vector startpos;
float impacttime;
float starttime;
int fixangle; // 0:nothing, 1:force view angles, 2:add avelocity
float idealpitch;
float pitch_speed;
float ideal_yaw;
float yaw_speed;
int modelindex;
string_t model;
string_t viewmodel; // player's viewmodel
string_t weaponmodel; // what other players see
Vector absmin; // BB max translated to world coord
Vector absmax; // BB max translated to world coord
Vector mins; // local BB min
Vector maxs; // local BB max
Vector size; // maxs - mins
float ltime;
float nextthink;
int movetype;
int solid;
int skin;
int body; // sub-model selection for studiomodels
int effects;
float gravity; // % of "normal" gravity
float friction; // inverse elasticity of MOVETYPE_BOUNCE
int light_level;
int sequence; // animation sequence
int gaitsequence; // movement animation sequence for player (0 for none)
float frame; // % playback position in animation sequences (0..255)
float animtime; // world time when frame was set
float framerate; // animation playback rate (-8x to 8x)
byte controller[4]; // bone controller setting (0..255)
byte blending[2]; // blending amount between sub-sequences (0..255)
float scale; // sprite rendering scale (0..255)
int rendermode;
float renderamt;
Vector rendercolor;
int renderfx;
float health;
float frags;
int weapons; // bit mask for available weapons
float takedamage;
int deadflag;
Vector view_ofs; // eye position
int button;
int impulse;
edict_t *chain; // Entity pointer when linked into a linked list
edict_t *dmg_inflictor;
edict_t *enemy;
edict_t *aiment; // entity pointer when MOVETYPE_FOLLOW
edict_t *owner;
edict_t *groundentity;
int spawnflags;
int flags;
int colormap; // lowbyte topcolor, highbyte bottomcolor
int team;
float max_health;
float teleport_time;
float armortype;
float armorvalue;
int waterlevel;
int watertype;
string_t target;
string_t targetname;
string_t netname;
string_t message;
float dmg_take;
float dmg_save;
float dmg;
float dmgtime;
string_t noise;
string_t noise1;
string_t noise2;
string_t noise3;
float speed;
float air_finished;
float pain_finished;
float radsuit_finished;
edict_t *pContainingEntity;
int playerclass;
float maxspeed;
float fov;
int weaponanim;
int pushmsec;
int bInDuck;
int flTimeStepSound;
int flSwimTime;
int flDuckTime;
int iStepLeft;
float flFallVelocity;
int gamestate;
int oldbuttons;
int groupinfo;
// For mods
int iuser1;
int iuser2;
int iuser3;
int iuser4;
float fuser1;
float fuser2;
float fuser3;
float fuser4;
Vector vuser1;
Vector vuser2;
Vector vuser3;
Vector vuser4;
edict_t *euser1;
edict_t *euser2;
edict_t *euser3;
edict_t *euser4;
} entvars_t;
Так... Ладно... А НЕ добрые люди шарят за анимацию? XDЛюди добрые
set_pev(ent, pev_framerate, 0.1);
set_pev(ent, pev_spawnflags, SF_SPRITE_STARTON);
dllfunc(DLLFunc_Spawn, ent);
static ent, a;
if(!a) a = engfunc(EngFunc_AllocString, "env_sprite");
ent = engfunc(EngFunc_CreateNamedEntity, a);
Не надо.А еще надо установить объекту pev_modelindex, чтобы инициализировалось значение максимального количества кадров:
engfunc(EngFunc_SetModel, pEnt, g_sprite_fire);
set_entvar(pEnt, var_animtime, get_gametime());
set_entvar(pEnt, var_framerate, random_float(10.0, 20.0));
set_entvar(pEnt, var_spawnflags, SF_SPRITE_STARTON);
ExecuteHam(Ham_Spawn, pEnt);
set_pev(ent, pev_model, sprite);
Ну там в спавне env_sprite такое жеж:Никогда не пользуюсь таким способом установки модели
Код:set_pev(ent, pev_model, sprite);
Полностью код создания покажи.fl0wer, Так?
P.S. Не работает :(C++:set_pev(ent, pev_model, sprite); set_pev(ent, pev_framerate, 1.0); set_pev(ent, pev_spawnflags, SF_SPRITE_STARTON); dllfunc(DLLFunc_Spawn, ent);
Одно и тоже.BalbuR, В чём разница между set_entvar и set_pev? Кроме модуля
Говорю ж... Кроме модуля... А то получается я его только ради этого добавляю...@ArKaNeMaN, entvar = reapi модуль
В других типах сам посмотришь.fl0wer, а в других типах? "по протоптанной хожу"
В других типах сам посмотришь.
Полностью код создания покажи.
set_pev(ent, pev_classname, classname);
engfunc(EngFunc_SetModel, ent, sprite);
set_pev(ent, pev_owner, victim);
set_pev(ent, pev_movetype, MOVETYPE_NONE);
set_pev(ent, pev_solid, SOLID_NOT);
if(get_pcvar_num(pCvars[cPlayerLight])) set_pev(ent, pev_effects, EF_BRIGHTLIGHT);
set_pev(ent, pev_rendermode, kRenderTransAdd);
set_pev(ent, pev_renderamt, 200.0);
set_pev(ent, pev_animtime, get_gametime());
set_pev(ent, pev_framerate, 1.0);
set_pev(ent, pev_spawnflags, SF_SPRITE_STARTON);
ExecuteHam(Ham_Spawn, ent);
set_pev(ent, pev_nextthink, get_gametime()+0.1);
Мне что, теперь каждую энтити ради тебя смотреть и говорить где такое возможно, а где нет?[Скрытый контент]
set_pev(ent, pev_classname, classname);
//engfunc(EngFunc_SetModel, ent, sprite);
set_pev(ent, pev_model, sprite);
set_pev(ent, pev_owner, victim);
// set's in spawn
//set_pev(ent, pev_movetype, MOVETYPE_NONE);
//set_pev(ent, pev_solid, SOLID_NOT);
if(get_pcvar_num(pCvars[cPlayerLight])) set_pev(ent, pev_effects, EF_BRIGHTLIGHT);
set_pev(ent, pev_rendermode, kRenderTransAdd);
set_pev(ent, pev_renderamt, 200.0);
//set_pev(ent, pev_animtime, get_gametime());
set_pev(ent, pev_framerate, 1.0);
set_pev(ent, pev_spawnflags, SF_SPRITE_STARTON);
ExecuteHam(Ham_Spawn, ent);
// mistake
//set_pev(ent, pev_nextthink, get_gametime()+0.1);