搜索
查看: 3189|回复: 4

[AMXX 带源码] 发布个人.写的第二个源码插件..CS1.5健造空中物体插件

[复制链接]
发表于 2011-2-1 23:38:27 | 显示全部楼层 |阅读模式 来自 中国–广东–广州
本帖最后由 点通粉丝 于 2011-2-2 00:11 编辑

CS1.5健造空中物体插件
现在点通还支持CS1.5的人..不多了吧..再不出一点新东西不行了
新地图.关了下截别人进不来..旧地图又没新意..用这插件.可在cs1.5的旧地图增设
更多不用下截的东西上去了..也可在小刀战上派上用场了

本帖子中包含更多资源

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

×
 楼主| 发表于 2011-2-1 23:51:07 | 显示全部楼层 来自 中国–广东–广州
插件功能介绍:
OP可在cs地图半空创建一些物体
命令:
amx_big_rock

用处:
是上星期帮朋友改..CS1.5僵尸感染版时.突发奇想的想法
防僵尸太多.局势一面到..而做的..图片的石头模型是CS1.5上自带模型不用下截
如果你想换模型的话..可自行在源码修改参数
entity_set_model(NewEnt, "models/big_rock.mdl")

然后根据模型大小.再修改这里的参数
健造空中楼梯

        MinBox[0] = -50.0 设置模型 宽度
        MinBox[1] = -50.0  设置模型 长度
        MinBox[2] = -15.0  设置模型 高度
        MaxBox[0] = 50.0  设置模型 宽度
        MaxBox[1] = 50.0  设置模型 长度
        MaxBox[2] = 15.0  设置模型 高度

实际操作.要自己反复测试就可以了...........讲完
回复

使用道具 举报

 楼主| 发表于 2011-2-1 23:57:36 | 显示全部楼层 来自 中国–广东–广州
本帖最后由 点通粉丝 于 2011-2-1 23:58 编辑

但有一些地方还望点通上的代码高手..帮一下忙了.就是怎样才能永久保留
因为这个插件要开一次图OP就要设置一次.太麻烦了..可不可以像广告插件那样
永久保存呢..因本人技术有限..望点通高人..出山帮忙了...本人在此先谢谢了.........
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>

  4. public Ass_CreateRadio(id,level,cid){
  5.         if (!cmd_access(id,level,cid,1))
  6.                 return PLUGIN_HANDLED

  7.         if(entity_get_int(id, EV_INT_deadflag) != 0)
  8.                 return PLUGIN_HANDLED

  9.         new Float:vOrigin[3]
  10.         new Float:vAngles[3]
  11.         entity_get_vector(id, EV_VEC_origin, vOrigin)
  12.         entity_get_vector(id, EV_VEC_v_angle, vAngles)

  13.         new NewEnt
  14.         NewEnt = create_entity("info_target")

  15.         if(NewEnt == 0) {
  16.             return PLUGIN_HANDLED_MAIN
  17.         }

  18.         entity_set_string(NewEnt, EV_SZ_classname, "ass_radio")
  19.         entity_set_model(NewEnt, "models/big_rock.mdl")
  20.         entity_set_int(NewEnt, EV_INT_body, 1)
  21.         entity_set_int(NewEnt, EV_INT_sequence, 1)
  22.         entity_set_int(NewEnt, EV_INT_solid, 2)

  23.         new Float:MinBox[3]
  24.         new Float:MaxBox[3]

  25.         MinBox[0] = -15.0
  26.         MinBox[1] = -15.0
  27.         MinBox[2] = -12.0
  28.         MaxBox[0] = 15.0
  29.         MaxBox[1] = 15.0
  30.         MaxBox[2] = 12.0

  31.         entity_set_vector(NewEnt, EV_VEC_mins, MinBox)
  32.         entity_set_vector(NewEnt, EV_VEC_maxs, MaxBox)

  33.         new Float:vNewOrigin[3]
  34.         new Float:vNormal[3]
  35.         new Float:vTraceDirection[3]
  36.         new Float:vTraceEnd[3]
  37.         new Float:vTraceResult[3]
  38.         new Float:vEntAngles[3]

  39.         VelocityByAim(id, 64, vTraceDirection)
  40.        
  41.         vTraceEnd[0] = vTraceDirection[0] + vOrigin[0]
  42.         vTraceEnd[1] = vTraceDirection[1] + vOrigin[1]
  43.         vTraceEnd[2] = vTraceDirection[2] + vOrigin[2]

  44.         trace_line(id, vOrigin, vTraceEnd, vTraceResult)

  45.         if(trace_normal(id, vOrigin, vTraceEnd, vNormal) == 0) {
  46.                 remove_entity(NewEnt)
  47.                 console_print(id, "[Radio] You must plant the radio on a wall!")
  48.                 return PLUGIN_HANDLED_MAIN
  49.         }


  50.         vNewOrigin[0] = vTraceResult[0] + (vNormal[0] * 15.0)
  51.         vNewOrigin[1] = vTraceResult[1] + (vNormal[1] * 15.0)
  52.         vNewOrigin[2] = vTraceResult[2] + (vNormal[2] * 12.0)

  53.         entity_set_origin(NewEnt, vNewOrigin)
  54.         vector_to_angle(vNormal, vEntAngles)

  55.         entity_set_vector(NewEnt, EV_VEC_angles, vEntAngles)


  56.         new Float:vBeamEnd[3]
  57.         new Float:vTracedBeamEnd[3]
  58.         vBeamEnd[0] = vNewOrigin[0] + (vNormal[0] * 8192)
  59.         vBeamEnd[1] = vNewOrigin[1] + (vNormal[1] * 8192)
  60.         vBeamEnd[2] = vNewOrigin[2] + (vNormal[2] * 8192)
  61.         trace_line(-1, vNewOrigin, vBeamEnd, vTracedBeamEnd)
  62.         entity_set_vector(NewEnt, EV_VEC_vuser1, vTracedBeamEnd)

  63.         entity_set_int(NewEnt, EV_INT_movetype, 5) //5 = movetype_fly, No grav, but collides.


  64.         return PLUGIN_HANDLED_MAIN
  65. }

  66. public plugin_init(){
  67.         register_plugin("Trasistor Radio","1.0","AssKicR")
  68.         register_clcmd("amx_big_rock","Ass_CreateRadio",ADMIN_KICK)
  69.         register_cvar("radio_station","1")
  70.         return PLUGIN_CONTINUE
  71. }

  72. public plugin_precache() {
  73.         precache_model("models/big_rock.mdl")
  74.         return PLUGIN_CONTINUE
  75. }
复制代码
回复

使用道具 举报

发表于 2013-12-4 10:47:35 | 显示全部楼层 来自 中国–辽宁–鞍山
什么东西的
回复

使用道具 举报

发表于 2013-12-5 05:26:38 | 显示全部楼层 来自 中国–内蒙古–兴安盟–阿尔山市
支持,,,,,,,,,,,,,,
回复

使用道具 举报

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

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