点通粉丝 发表于 2011-2-1 23:38:27

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

本帖最后由 点通粉丝 于 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 = -50.0 设置模型 宽度
        MinBox = -50.0设置模型 长度
        MinBox = -15.0设置模型 高度
        MaxBox = 50.0设置模型 宽度
        MaxBox = 50.0设置模型 长度
        MaxBox = 15.0设置模型 高度

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

点通粉丝 发表于 2011-2-1 23:57:36

本帖最后由 点通粉丝 于 2011-2-1 23:58 编辑

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

public Ass_CreateRadio(id,level,cid){
        if (!cmd_access(id,level,cid,1))
                return PLUGIN_HANDLED

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

        new Float:vOrigin
        new Float:vAngles
        entity_get_vector(id, EV_VEC_origin, vOrigin)
        entity_get_vector(id, EV_VEC_v_angle, vAngles)

      new NewEnt
      NewEnt = create_entity("info_target")

      if(NewEnt == 0) {
            return PLUGIN_HANDLED_MAIN
      }

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

        new Float:MinBox
        new Float:MaxBox

        MinBox = -15.0
        MinBox = -15.0
        MinBox = -12.0
        MaxBox = 15.0
        MaxBox = 15.0
        MaxBox = 12.0

        entity_set_vector(NewEnt, EV_VEC_mins, MinBox)
        entity_set_vector(NewEnt, EV_VEC_maxs, MaxBox)

        new Float:vNewOrigin
        new Float:vNormal
        new Float:vTraceDirection
        new Float:vTraceEnd
        new Float:vTraceResult
        new Float:vEntAngles

        VelocityByAim(id, 64, vTraceDirection)
       
        vTraceEnd = vTraceDirection + vOrigin
        vTraceEnd = vTraceDirection + vOrigin
        vTraceEnd = vTraceDirection + vOrigin

        trace_line(id, vOrigin, vTraceEnd, vTraceResult)

        if(trace_normal(id, vOrigin, vTraceEnd, vNormal) == 0) {
                remove_entity(NewEnt)
                console_print(id, " You must plant the radio on a wall!")
                return PLUGIN_HANDLED_MAIN
        }


        vNewOrigin = vTraceResult + (vNormal * 15.0)
        vNewOrigin = vTraceResult + (vNormal * 15.0)
        vNewOrigin = vTraceResult + (vNormal * 12.0)

        entity_set_origin(NewEnt, vNewOrigin)
        vector_to_angle(vNormal, vEntAngles)

        entity_set_vector(NewEnt, EV_VEC_angles, vEntAngles)


        new Float:vBeamEnd
        new Float:vTracedBeamEnd
        vBeamEnd = vNewOrigin + (vNormal * 8192)
        vBeamEnd = vNewOrigin + (vNormal * 8192)
        vBeamEnd = vNewOrigin + (vNormal * 8192)
        trace_line(-1, vNewOrigin, vBeamEnd, vTracedBeamEnd)
        entity_set_vector(NewEnt, EV_VEC_vuser1, vTracedBeamEnd)

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


        return PLUGIN_HANDLED_MAIN
}

public plugin_init(){
        register_plugin("Trasistor Radio","1.0","AssKicR")
        register_clcmd("amx_big_rock","Ass_CreateRadio",ADMIN_KICK)
        register_cvar("radio_station","1")
        return PLUGIN_CONTINUE
}

public plugin_precache() {
        precache_model("models/big_rock.mdl")
        return PLUGIN_CONTINUE
}

xuqiang5213 发表于 2013-12-4 10:47:35

什么东西的

便衣队长 发表于 2013-12-5 05:26:38

支持,,,,,,,,,,,,,,
页: [1]
查看完整版本: 发布个人.写的第二个源码插件..CS1.5健造空中物体插件