多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 一、FakeMeta(Pev) 在 `FakeMeta` 模块中有一种代码叫 `Pev` PEV是一个神奇东西,他几乎可以篡改游戏中的任何数据,比如 `生命值`,`重力`,`固体类型`,`移动类型`,`摩擦力`,`坐标位置` 等等… 我们可以通过 `Pev` 来获取或者更改游戏中的数据 例如: ``` 生命值是 `pev_health` 重力是 `pev_gravity` 坐标系是 `pev_origin` 移动向量 `pev_velocity` …… ``` 让我们来看看如何用 `Pev` 更改以及获取 ## 示例(1):将玩家生命值改为140 ``` #include <amxmodx> #include <fakemeta> public test(id) { set_pev(id, pev_health, 140.0) } ``` ## 示例(2):获取玩家坐标位置 ``` #include <amxmodx> #include <fakemeta> public test(id) { new Float:org[3] pev(id, pev_origin, org) client_print(id, print_chat, "玩家坐标是: [X: %.2f], [Y: %.2f], [%.2f]", org[0], org[1], org[2]) } ``` ## 示例(3):设定玩家移动向量(玩家会以 `400.0` 的速度向上飞起) ``` #include <amxmodx> #include <fakemeta> public test(id) { new Float:vel[3] vel[2] = 400.0 set_pev(id, pev_velocity, vec) } ``` 不难看出,获取也就是只写 `pev` ,而修改则需要写上 `set_pev` 。这就是他们的区别 ## 更多的PEV > 那 `pev类型` 到底有哪些呢?(下面的代码摘于:百度贴吧) ``` 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, //无效的实体属性 主要用于遍历 ``` > 可能不是所有的 `pev类` 都包含在里面。标准大全可参考 `fakemeta_const.inc`