|
楼主 |
发表于 2011-5-25 16:21:55
|
显示全部楼层
来自 中国–广东–广州
本帖最后由 点通粉丝 于 2011-5-25 16:24 编辑
各位高手看一下这代码.我重写的
- #include <amxmodx>
- #include <amxmisc>
- #include <engine>
- public plugin_init(){
- register_plugin("Trasistor Radio","1.0","AssKicR")
- register_clcmd("amx_big_rock","Ass_CreateRadio",ADMIN_KICK) //设置模型命令
- register_clcmd("big_rock","Ass_DelRadios",ADMIN_KICK) //设消模型命令
- register_cvar("radio_station","1")
- return PLUGIN_CONTINUE
- }
- public plugin_precache() {
- precache_model("models/big_rock.mdl")
- return PLUGIN_CONTINUE
- }
- 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[3]
- new Float:vAngles[3]
- 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)
- set_rendering(NewEnt,kRenderFxNone,200,20,120,kRenderTransAlpha,150);
- new Float:MinBox[3]
- new Float:MaxBox[3]
- MinBox[0] = -16.0
- MinBox[1] = -16.0
- MinBox[2] = -12.0
- MaxBox[0] = 16.0
- MaxBox[1] = 16.0
- MaxBox[2] = 12.0
- entity_set_vector(NewEnt, EV_VEC_mins, MinBox)
- entity_set_vector(NewEnt, EV_VEC_maxs, MaxBox)
- new Float:vNewOrigin[3]
- new Float:vNormal[3]
- new Float:vTraceDirection[3]
- new Float:vTraceEnd[3]
- new Float:vTraceResult[3]
- new Float:vEntAngles[3]
- VelocityByAim(id, 64, vTraceDirection)
-
- vTraceEnd[0] = vTraceDirection[0] + vOrigin[0]
- vTraceEnd[1] = vTraceDirection[1] + vOrigin[1]
- vTraceEnd[2] = vTraceDirection[2] + vOrigin[2]
- trace_line(id, vOrigin, vTraceEnd, vTraceResult)
- if(trace_normal(id, vOrigin, vTraceEnd, vNormal) == 0) {
- remove_entity(NewEnt)
- console_print(id, "[Radio] You must plant the radio on a wall!")
- return PLUGIN_HANDLED_MAIN
- }
- vNewOrigin[0] = vTraceResult[0] + (vNormal[0] * 16.0)
- vNewOrigin[1] = vTraceResult[1] + (vNormal[1] * 16.0)
- vNewOrigin[2] = vTraceResult[2] + (vNormal[2] * 12.0)
- entity_set_origin(NewEnt, vNewOrigin)
- vector_to_angle(vNormal, vEntAngles)
- entity_set_vector(NewEnt, EV_VEC_angles, vEntAngles)
- new Float:vBeamEnd[3]
- new Float:vTracedBeamEnd[3]
- vBeamEnd[0] = vNewOrigin[0] + (vNormal[0] * 8192)
- vBeamEnd[1] = vNewOrigin[1] + (vNormal[1] * 8192)
- vBeamEnd[2] = vNewOrigin[2] + (vNormal[2] * 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
- }
复制代码 我就想问一下一楼那两张图内的石头模型如何
能像广告插件一样..把设置好的石头梯子坐标保存下来
不用每次开服都要设置一次
帮忙修改一下谢谢 |
|