搜索
查看: 4986|回复: 8

请教下关于模型hlsdk_const函数判断问题

[复制链接]
发表于 2008-6-21 23:06:48 | 显示全部楼层 |阅读模式 来自 中国–云南–西双版纳傣族自治州–景洪市
这段时间研究了下hlsdk_const.inc模型函数表
发现一个问题如果使用entity_set_model函数来判断模型名称以后.如果模型中带有动态的效果就无法实现.那么就要增加2个新的函数例如
entity_set_int(gEnt, EV_INT_solid, 要调用的函数名称)
entity_set_int(gEnt, EV_INT_movetype, 要调用的函数名称)
如果一个模型中有很多种效果该如何判断?

// pev(entity, pev_movetype) values
#define        MOVETYPE_NONE                   0           // Never moves
#define        MOVETYPE_WALK                   3           // Player only - moving on the ground
#define        MOVETYPE_STEP                   4           // Gravity, special edge handling -- monsters use this
#define        MOVETYPE_FLY                    5           // No gravity, but still collides with stuff
#define        MOVETYPE_TOSS                   6           // Gravity/Collisions
#define        MOVETYPE_PUSH                   7           // No clip to world, push and crush
#define        MOVETYPE_NOCLIP                 8           // No gravity, no collisions, still do velocity/avelocity
#define        MOVETYPE_FLYMISSILE             9           // Extra size to monsters
#define        MOVETYPE_BOUNCE                 10          // Just like Toss, but reflect velocity when contacting surfaces
#define MOVETYPE_BOUNCEMISSILE          11          // Bounce w/o gravity
#define MOVETYPE_FOLLOW                 12          // Track movement of aiment
#define        MOVETYPE_PUSHSTEP               13          // BSP model that needs physics/world collisions (uses nearest hull for world collision)

// pev(entity, pev_solid) values
// NOTE: Some movetypes will cause collisions independent of SOLID_NOT/SOLID_TRIGGER when the entity moves
// SOLID only effects OTHER entities colliding with this one when they move - UGH!
#define        SOLID_NOT                       0           // No interaction with other objects
#define        SOLID_TRIGGER                   1           // Touch on edge, but not blocking
#define        SOLID_BBOX                      2           // Touch on edge, block
#define        SOLID_SLIDEBOX                  3           // Touch on edge, but not an onground
#define        SOLID_BSP                       4           // BSP clip, touch on edge, block
发表于 2008-6-21 23:53:46 | 显示全部楼层 来自 中国–福建–漳州

回复: 请教下关于模型hlsdk_const函数判断问题

你前半部分说的就不对……
回复

使用道具 举报

 楼主| 发表于 2008-6-22 00:09:25 | 显示全部楼层 来自 中国–云南–西双版纳傣族自治州–景洪市

回复: 请教下关于模型hlsdk_const函数判断问题

难得Rulzy版主在啊.我就想请教你下关于你做的掉钱插件代码
我原来把掉出来的钱换成了足球模型以后.只能实现跳动的效果.无法判断出模型中滚动的效果.还得请教下你要注册什么函数
Rulzy版主你掉钱代码中的
entity_set_int(gEnt, EV_INT_solid, SOLID_TRIGGER)
entity_set_int(gEnt, EV_INT_movetype, MOVETYPE_TOSS)
我看了hlsdk_const.inc调用表以后把代码改为
entity_set_int (gEnt, EV_INT_solid, SOLID_BBOX)
entity_set_int (gEnt, EV_INT_movetype, MOVETYPE_BOUNCE)
足球可以实现跳动效果.就是没有滚动的效果.如何做到金钱满的玩家碰到球体以后可以滚.
回复

使用道具 举报

发表于 2008-6-22 00:52:33 | 显示全部楼层 来自 中国–福建–漳州

回复: 请教下关于模型hlsdk_const函数判断问题

足球的那个滚动,应该是模型本身的带的动画效果吧?如果是,设置其帧率,好像是这个吧:
entity_set_float(gEnt, EV_FL_animtime, 1.0)
entity_set_float(gEnt, EV_FL_framerate, 1.0)

其中EV_FL_framerate后面的1.0为帧率,用于调节动画快慢的。
另外,还有相关的几个值:
EV_FL_frame 设置为第几帧
EV_INT_sequence 设置为哪个场景(即哪个动作)。
回复

使用道具 举报

 楼主| 发表于 2008-6-22 01:39:49 | 显示全部楼层 来自 中国–云南–西双版纳傣族自治州–景洪市

回复: 请教下关于模型hlsdk_const函数判断问题

感谢Rulzy版主的回答.我按照你说的代码增加
entity_set_float(gEnt, EV_FL_animtime, 1.0)
entity_set_float(gEnt, EV_FL_framerate, 1.0)
好象足球还是只会在地上跳.没有滚动效果.
足球模型我发出来麻烦你帮忙看看是不是模型有问题!还是插件代码没写对.

另外,还有相关的几个值:
EV_FL_frame 设置为第几帧
EV_INT_sequence 设置为哪个场景(即哪个动作)。
Rulzy版主你说的后面这2个是用entity_set_float来判断吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

发表于 2008-6-22 04:58:50 | 显示全部楼层 来自 中国–福建–漳州

回复: 请教下关于模型hlsdk_const函数判断问题

这样试试:
entity_set_int(gEnt, EV_INT_sequence, 3) //或改成2试试,我忘了是从0开始还是1开始了
entity_set_float(gEnt, EV_FL_animtime, 1.0)
entity_set_float(gEnt, EV_FL_framerate, 1.0)

EV_INT_ 打头的使用 entity_set_int,EV_FL_ 打头的使用 entity_set_float。
回复

使用道具 举报

发表于 2008-6-22 13:01:27 | 显示全部楼层 来自 中国–北京–北京–海淀区

回复: 请教下关于模型hlsdk_const函数判断问题

刚看了一下模型
关跳是0
边跳边转是1
滚动是2
回复

使用道具 举报

 楼主| 发表于 2008-6-22 13:40:07 | 显示全部楼层 来自 中国–云南–西双版纳傣族自治州–景洪市

回复: 请教下关于模型hlsdk_const函数判断问题

2位前辈.我试着把代码改为以下可以实现滚动效果.但是它只能在原地跳着滚不能落地.汗!
entity_set_int (gEnt, EV_INT_solid, SOLID_BBOX)  
entity_set_int (gEnt, EV_INT_movetype, MOVETYPE_BOUNCE)
entity_set_int(gEnt, EV_INT_sequence, 2)
entity_set_float(gEnt, EV_FL_animtime, 1.0)
entity_set_float(gEnt, EV_FL_framerate, 1.0)
回复

使用道具 举报

 楼主| 发表于 2008-6-22 13:46:28 | 显示全部楼层 来自 中国–云南–西双版纳傣族自治州–景洪市

回复: 请教下关于模型hlsdk_const函数判断问题

jim_yang说的很对.足球金钱模型里面到是有3种效果.原地跳、跳着滚、慢滚.
难道是我这里代码写错了吗?
entity_set_int (gEnt, EV_INT_solid, SOLID_BBOX)
entity_set_int (gEnt, EV_INT_movetype, MOVETYPE_BOUNCE)
还得请教下版主.麻烦你看看是不是这段代码后面调用的函数不对.谢谢了
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

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