cs单机版

 找回密码
 账号注册

小喇叭+ 发布

10-02 08:56
03-04 21:44
查看: 668|回复: 0

[经验分享] pev

[复制链接]
  • TA的每日心情
    擦汗
    2021-2-22 16:45
  • 195

    主题

    210

    帖子

    530

    积分

    高级会员

    Rank: 4

    积分
    530

    流量屠夫闪闪发光启明星讲师论坛元老荣誉管理突出贡献原创作者

    发表于 2021-3-8 13:22:03 | 显示全部楼层 |阅读模式
    实体的概念

    在游戏里 一切场景分为实体和固体两种

    固体在引擎外是没有网络信息(属性)的,
    实体是有网络信息(属性)的

    HL游戏支持 500 个实体 在游戏中,
    HL程序将实体信息按照一定的时间发送至每个客户端
    实体是要实时发送至每个客户端 以确保实体的位置,状态,速率 等等属性

    断线后有一段时间看不到游戏里面的实体 例如 门,人物 箱子 等等
    游戏中的门 可以移动的箱子 人物 手雷 枪 地面上的物件 都称为实体



    2 实体的属性

    在AMXX里 操作实体需要实体的序列号 实体序列号为整数类型
    使用 pev(实体序号,实体的属性,【变量】) 取得实体的信息
    使用 set_pev(实体序号,实体的属性,【变量】) 设置实体的信息

    fakemeta_const.inc 给出了一些实体的属性



    2.1.1 字符串型实体属性 取得或设置实体字符串

    pev_string_start = 0, //无效的实体属性 主要用于遍历

    pev_classname, 实体类型名称 做地图的人会知道这些 实体的类决定了实体是什么用途
    pev_globalname,
    pev_model, 实体模型
    pev_target, 实体的目标 用于控制
    pev_targetname, 实体的目标 用于控制
    pev_netname, 实体的网络名称 如玩家游戏名称
    pev_message, 实体的激发的文字

    pev_noise, 保留备用的 可以自由存放
    pev_noise1, 保留备用的 可以自由存放
    pev_noise2, 保留备用的 可以自由存放
    pev_noise3, 保留备用的 可以自由存放

    pev_string_end, //无效的实体属性 主要用于遍历


    2.1.2 实体值型实体属性 里面装载另一个实体号

    pev_edict_start, //无效的实体属性 主要用于遍历

    pev_chain,
    pev_dmg_inflictor, //被伤害的人/实体 ,攻击者
    pev_enemy, //敌人 用于NPC
    pev_aiment, //帽子等装饰 用于连接2个实体
    pev_owner, //所有者
    pev_groundentity, //脚下的实体
    pev_euser1, //保留备用的 可以自由存放
    pev_euser2, //保留备用的 可以自由存放
    pev_euser3, //保留备用的 可以自由存放
    pev_euser4, //保留备用的 可以自由存放

    pev_edict_end, //无效的实体属性 主要用于遍历



    2.1.3 小数型实体属性 取得或设置实体的详细值

    pev_float_start, //无效的实体属性 主要用于遍历

    pev_impacttime, //碰撞时间
    pev_starttime, //开始时间
    pev_idealpitch, //理想的PITCH范围
    pev_ideal_yaw, //理想的YAW范围
    pev_pitch_speed, //朝向PITCH的速度
    pev_yaw_speed, //朝向YAW的速度
    pev_ltime, //时间长度
    pev_nextthink, //下次心跳时间
    pev_gravity, //重力
    pev_friction, //摩擦速度 如滑雪
    pev_frame, //当前实体播放的动作帧数
    pev_animtime, //在什么时候开始播放实体动画
    pev_framerate, //动画播放速度比率
    pev_scale, //大小 仅用于SPR
    pev_renderamt, //渲染 详见 fakemeta_util.inc fm_set_rendering
    pev_health, //生命值
    pev_frags, //比分
    pev_takedamage, //实体是否可被伤害 参看HLSDK.INC
    pev_max_health, //最大生命值
    pev_teleport_time, //传输时间
    pev_armortype, //护甲类型
    pev_armorvalue, //护甲值
    pev_dmg_take, //伤害值保存
    pev_dmg_save, //伤害值保存
    pev_dmg, //实体威力值 用于手雷等爆炸物
    pev_dmgtime, //实体威力爆发时间 主要用于手雷爆炸物
    pev_speed, //速度
    pev_air_finished,
    pev_pain_finished,
    pev_radsuit_finished,
    pev_maxspeed, //最大速度
    pev_fov, //视野
    pev_flFallVelocity, //坠落的速度
    pev_fuser1, //保留备用的 可以自由存放
    pev_fuser2, //保留备用的 可以自由存放
    pev_fuser3, //保留备用的 可以自由存放
    pev_fuser4, //保留备用的 可以自由存放

    pev_float_end, //无效的实体属性 主要用于遍历



    2.1.4 整数型实体属性 取得或设置实体的详细值

    pev_int_start, //无效的实体属性 主要用于遍历

    pev_fixangle, //朝向与视角朝向同步
    pev_modelindex, //模型缓存序号
    pev_viewmodel, //V模型
    pev_weaponmodel, //P模型
    pev_movetype, //移动类型 参看HLSDK.INC
    pev_solid, //固态类型 参看HLSDK.INC

    pev_skin, //模型的皮肤样式 如果模型有
    pev_body, //子模型 如果模型有

    pev_effects, //渲染亮度
    pev_light_level, //亮度等级

    pev_sequence, //模型的动作序列
    pev_gaitsequence, //下半身动作序列 仅用于玩家

    pev_rendermode, //详见 fakemeta_util.inc fm_set_rendering
    pev_renderfx, //详见 fakemeta_util.inc fm_set_rendering

    pev_weapons, //武器表(位)
    pev_deadflag, //死亡标记 参看HLSDK.INC
    pev_button, //正在被按下的按键
    pev_impulse, //手电 喷图 喷射 等
    pev_spawnflags, //出生标记 参看HLSDK.INC
    pev_flags, //状态标记 参看HLSDK.INC
    pev_colormap,
    pev_team, //队伍
    pev_waterlevel, //浸泡在水中的程度
    pev_watertype, //浸泡在哪种液体中
    pev_playerclass, //玩家角色
    pev_weaponanim, //武器动作
    pev_pushmsec, //推时间
    pev_bInDuck, //蹲下
    pev_flTimeStepSound, //脚步声
    pev_flSwimTime, //游泳时间
    pev_flDuckTime, //蹲下时间
    pev_iStepLeft, //步伐
    pev_gamestate, //游戏状态
    pev_oldbuttons, //之前按下的按键
    pev_groupinfo, //组类型

    pev_iuser1, //保留备用的 可以自由存放
    pev_iuser2, //保留备用的 可以自由存放
    pev_iuser3, //保留备用的 可以自由存放
    pev_iuser4, //保留备用的 可以自由存放

    pev_int_end, //无效的实体属性 主要用于遍历



    2.1.5 向量实体属性 取得或设置实体的向量

    pev_vecarray_start, //无效的实体属性 主要用于遍历

    pev_origin, //实体坐标
    pev_oldorigin, //实体之前的坐标
    pev_velocity, //实体速率
    pev_basevelocity, //实体基础速率 用于传送带等
    pev_clbasevelocity,
    pev_movedir, //可能是移动目标
    pev_angles, //实体朝向
    pev_avelocity, //实体受速率影响时朝向变化 仅对实体有效
    pev_v_angle, //实体视角朝向
    pev_endpos, //开始点
    pev_startpos, //结束点
    pev_absmin, //实体范围 开始
    pev_absmax, //实体范围 结束
    pev_mins, //实体大小 开始
    pev_maxs, //实体大小 结束
    pev_size, //实体大小
    pev_rendercolor, //详见 fakemeta_util.inc fm_set_rendering
    pev_view_ofs, //瞄准视角的速率
    pev_vuser1, //保留备用的 可以自由存放
    pev_vuser2, //保留备用的 可以自由存放
    pev_vuser3, //保留备用的 可以自由存放
    pev_vuser4, //保留备用的 可以自由存放
    pev_punchangle, //晃动朝向 仅对玩家有效

    pev_vecarray_end, //无效的实体属性 主要用于遍历






    2.2 在游戏中创建一个实体
    使用 fakemeta_util.inc

    函数过程 fm_create_entity(字符串类型:实体类)
    函数返回结果 0-500 的实体序号
    0则创建失败 原因超过500个实体 或其他


    使用例子
    new Ent = fm_create_entity("info_target") 创建一个实体
    if(!pev_valid(Ent)) return 0 如果这个实体无效 那么不往下执行
    set_pev(Ent,pev_classname,“gift”) 设定实体的名称
    fm_entity_set_model(Ent,“models/w.mdl”) 设定实体的模型
    fm_entity_set_origin(Ent,fOrigin) 设定实体的坐标



    创建一个导弹

    create_ent_by_player(id,model[])
    {
    new Ent = fm_create_entity("info_target")
    if(!pev_valid(Ent)) return 0
    set_pev(Ent,pev_classname,"gift")

    fm_entity_set_model(Ent,model)

    //取得玩家实体坐标属性
    new Float:fOrigin[3];pev(id,pev_origin,fOrigin)
    //取得玩家向前的力速率
    new Float:vel[3];velocity_by_aim(id,70,vel)
    //根据坐标和速率 算出距离玩家前面的一个点
    xs_vec_add(fOrigin,vel,fOrigin) //位置在玩家前
    fm_entity_set_origin(Ent,fOrigin)

    //取得玩家向前的速度
    velocity_by_aim(id,400,vel);

    //设置实体速度
    set_pev(Ent,pev_velocity,vel)

    }





    上一篇:AMXX信息
    下一篇:Emit_Sound发出声音相关说明
    CSOL单机版,游戏K2论坛,MOD中国同盟社,CF单机版,神器时代官方网站,csbte,cssme,ck竞技之王,创新纪元,破茧,超越,突破,cs地图,cs模型,cs插件,cs纹理,cskz,香蕉网,cs模型下载,CSOL大灾,CSOL大灾变单机版,EC精英社
    回复 论坛版权

    使用道具 举报

    懒得打字,不如试试右边的快捷回复→
    您需要登录后才可以回帖 登录 | 账号注册

    本版积分规则

    Archiver|手机版|小黑屋|csol单机版,神器时代官网,创.新纪元官网,csol单机版官网 |友链申请|网站地图

    GMT+8, 2021-10-19 13:26 , Processed in 0.192164 second(s), 36 queries .

    Powered by gamek2.com X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表