搜索
查看: 5155|回复: 19

关于人物发光

[复制链接]
发表于 2007-1-12 04:49:29 | 显示全部楼层 |阅读模式 来自 中国–天津–天津
1.请问有没有一个函数使人物发光,在别人看起来就像开了手电筒的(即使没有用手电也发光)

2.前我用了09x版的人物发光补丁,有点不满意,人物发光后变成了半透明的壳,原来的皮肤都看不到了,怎么能保留皮肤呢.

希望知道的能给与帮助.

本帖子中包含更多资源

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

×
发表于 2007-1-12 16:42:35 | 显示全部楼层 来自 中国–北京–北京–海淀区

回复: 关于人物发光

1. 用tempentity TE_DLIGHT
2. rendermode 不用kRenderTransAlpha就不会透明了,用kRenderNormal就可以了
回复

使用道具 举报

 楼主| 发表于 2007-1-12 19:46:38 | 显示全部楼层 来自 中国–天津–天津

回复: 关于人物发光

不管怎样,先谢谢了.
============================================
关于第一个tempentity怎么用阿,它既不是函数也不是命令提示符,能不能给个例子
第二个问题到解决了
============================================
回复

使用道具 举报

发表于 2007-1-12 19:56:27 | 显示全部楼层 来自 中国–广东–中山

回复: 关于人物发光

怎么不说详细点呀!!!
回复

使用道具 举报

发表于 2007-1-13 18:56:50 | 显示全部楼层 来自 中国–广东–深圳

回复: 关于人物发光

Post by yinshi2007

============================================
关于第一个tempentity怎么用阿,它既不是函数也不是命令提示符,能不能给个例子
============================================

查看 message_const.inc 里面有详细说明
或者讲究一下其他人的代码。。。
回复

使用道具 举报

 楼主| 发表于 2007-1-16 00:54:19 | 显示全部楼层 来自 中国–天津–天津

回复: 关于人物发光

再次感谢,我去研究研究
回复

使用道具 举报

 楼主| 发表于 2007-1-17 02:51:59 | 显示全部楼层 来自 中国–天津–天津

回复: 关于人物发光

  1. public test(id, level, cid){
  2. if (!cmd_access(id,level,cid,1))
  3.   return PLUGIN_HANDLED
  4. new vec1[3]
  5. get_user_origin(id, vec1, 1) // origin; your camera point.
  6. message_begin(MSG_ONE,SVC_TEMPENTITY,vec1,id)
  7. write_byte(TE_DLIGHT)
  8. write_coord(vec1[0])
  9. write_coord(vec1[1])
  10. write_coord(vec1[2])
  11. write_byte(10)
  12. write_byte(255)
  13. write_byte(0)
  14. write_byte(0)
  15. write_byte(20)
  16. write_byte(10)
  17. write_byte(10)
  18. message_end()
  19. return PLUGIN_HANDLED
  20. }
  21. public plugin_init()
  22. {
  23. register_plugin("test","1.0","test");
  24. register_concmd("amx_test", "test", ADMIN_LEVEL_B, "<0-1> - 0:off,1:glow")
  25. }
复制代码
这是我看inc文件后式着写的,可是每次运行的时候游戏就会跳出到有新建和搜索服务器的那个开始画面,我不知道为什么请指教。
回复

使用道具 举报

 楼主| 发表于 2007-1-17 03:02:22 | 显示全部楼层 来自 中国–天津–天津

回复: 关于人物发光

  1. public plugin_init() {
  2. mode = 3
  3. register_plugin("Grentrail","1.3","AssKicR")
  4. register_event("SendAudio","FireInTheHole","bc")
  5. register_concmd("amx_trail", "admin_trail", ADMIN_LEVEL_B, "<0-4> - 0:off,1:all,2:random,3:team")
  6. }
  7. public admin_trail(id, level, cid){
  8. if (!cmd_access(id,level,cid,1))
  9.   return PLUGIN_HANDLED
  10. new args[2]
  11. read_argv(1, args, 1)
  12. if (equal(args,"?")) {
  13.   console_print(id,"amx_trail 0 or 1 or 2 or 3")
  14.   return PLUGIN_HANDLED
  15. }
  16. mode = str_to_num(args)
  17. return PLUGIN_HANDLED
  18. }
  19. public plugin_precache() {
  20. m_iTrail = precache_model("sprites/smoke.spr")
  21. }
  22. public FireInTheHole(id) {
  23. if(mode == 0) return PLUGIN_HANDLED
  24. set_task(0.1, "grenid", id)
  25. return PLUGIN_HANDLED
  26. }
  27. public grenid(id){
  28. new grenadeid = get_grenade(id)
  29. if (!grenadeid) return PLUGIN_HANDLED  // no model
  30. message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
  31. write_byte( TE_BEAMFOLLOW )
  32. write_short(grenadeid) // entity
  33. write_short(m_iTrail) // model
  34. write_byte( 20 ) // life
  35. write_byte( 5 ) // width
  36. switch (mode) {
  37.   case 1: {
  38.    write_byte( 255 ) // r, g, b
  39.    write_byte( 255 ) // r, g, b
  40.    write_byte( 0 ) // r, g, b
  41.   }
  42.   case 2:{
  43.    new red = random_num(0,255)
  44.    new green = random_num(0,255)
  45.    new blue = random_num(0,255)
  46.    write_byte( red ) // r, g, b
  47.    write_byte( green ) // r, g, b
  48.    write_byte( blue ) // r, g, b
  49.   }
  50.   case 3:{
  51.    if (get_user_team(id)==1){ // Terrorist
  52.     write_byte( 255 ) // r, g, b
  53.     write_byte( 0 ) // r, g, b
  54.     write_byte( 0 ) // r, g, b
  55.    } else { // Counter-Terrorist
  56.     write_byte( 0 ) // r, g, b
  57.     write_byte( 255 ) // r, g, b
  58.     write_byte( 0 ) // r, g, b
  59.    }
  60.   }
  61.   default:{
  62.    write_byte( 0 ) // r, g, b
  63.    write_byte( 0 ) // r, g, b
  64.    write_byte( 0 ) // r, g, b
  65.   }
  66. }
  67. write_byte( 192 ) // brightness
  68. message_end() // move PHS/PVS data sending into here (SEND_ALL, SEND_PVS, SEND_PHS)
  69. return PLUGIN_HANDLED
  70. }
复制代码
这个是我改的一个手雷拖尾插件,问题是当我和bot打时只有我的手雷有尾巴,电脑的没有,我不知道怎么才能让bot的手雷也有效果,请指教。

这个get_grenade(id)函数我在论坛的amx函数查询器里找不到,但是amx认,请问他是那个inc文件的。
有没有一个函数可以查到手雷的种类闪的、炸得、烟的。

代码没有完全看到没有关系因为看不到的只是message_begin(MSG_BROADCAST,SVC_TEMPENTITY)、write_byte之类的。
回复

使用道具 举报

发表于 2007-1-17 20:14:49 | 显示全部楼层 来自 中国–广东–深圳–罗湖区

回复: 关于人物发光

Post by yinshi2007
[code]
public test(id, level, cid){
if (!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED

new vec1[3]
get_user_origin(id, vec1, 1) // origin; your camera point.

message_begin(MSG_ONE,SVC_TEMPENTITY,vec1,id)
write_byte(TE_DLIGHT)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(ve...

你的代码里没有什么错误
有一点: message_begin(MSG_ONE,SVC_TEMPENTITY,origin,id)
一般 origin 不用设置,可以直接 {0,0,0}

出错的问题应该是 message_const.inc 里关于 TE_DLIGHT 的解释有误
参考了使用 TE_DLIGHT 的插件 Flashbang Dynamic Light
正确的应该是:
[php]
#define TE_DLIGHT 27 // Dynamic light, effect world, minor entity effect
write_byte(TE_DLIGHT)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_byte(radius in 10's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(life in 10's)
write_byte(decay rate in 10's)
[/php]
原有的这个不要
// write_byte(brightness)
回复

使用道具 举报

发表于 2007-1-17 20:31:09 | 显示全部楼层 来自 中国–广东–深圳–罗湖区

回复: 关于人物发光

Post by yinshi2007

这个是我改的一个手雷拖尾插件,问题是当我和bot打时只有我的手雷有尾巴,电脑的没有,我不知道怎么才能让bot的手雷也有效果,请指教。
没有测试过,也不知道你用那类bot?
大概原因是,这个插件用 radio 的 "FireInTheHole"
来扑捉信息,是否有人扔雷,如果bot扔雷没有这个信息,那肯定不会有尾巴效果
如果改成 grenade_throw( index,greindex,wId );
应该可以了
Post by yinshi2007

这个get_grenade(id)函数我在论坛的amx函数查询器里找不到,但是amx认,请问他是那个inc文件的。
get_grenade(id) 在 engine_stocks.inc 里有解释
Post by yinshi2007

有没有一个函数可以查到手雷的种类闪的、炸得、烟的。
简单的话可以使用 <csx> 里的
grenade_throw( index,greindex,wId );
根据 wId判断是那类雷
回复

使用道具 举报

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

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