广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2112 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
xiangxiang
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x1 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] 为什么这个插件不能使用?
      我自己做的一个源码插件,我有些错误都改正了,最后成功后在游戏里打指令,没反应?
   这插件是什么问题?


献花 x0 回到顶端 [楼 主] From:未知地址 | Posted:2011-08-07 13:42 |
xiangxiang
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x1 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
[补充说明]
#include <amxmodx>
#include <cstrike>
#include <zombieplague>
#include <engine>
#include <xs>
#include <fakemeta>
#include <hamsandwich>


#define PLUGIN_NAME "透视眼插件"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR " 3"

new Float:g_fDelay[33]
new const money = 10
new buy_num[33]
new sprite_playerheat
new cvar_maxdistance
new cvar_updatedelay
public plugin_init()
{
     register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
     register_clcmd("say /buy_eye", "buy_ammo")
     cvar_maxdistance = register_cvar("zp_tig_distance",      "1000")
     cvar_updatedelay = register_cvar("zp_tig_updatedelay", "0.2")
     register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
}
public plugin_precache()
{
sprite_playerheat = precache_model("sprites/poison.spr")
}
public buy_eye(id)
{
     if (!is_user_alive(id))
     {
           client_print(id, print_chat, "[便利店] 你已经死了,不能购买!")
           return PLUGIN_HANDLED;
     }
     
     if (zp_get_user_ammo_packs(id) < money)
     {
           client_print(id, print_chat, "[便利店] 你没有足够的龙鳞!", money)
           return PLUGIN_HANDLED;
     }
     
     if (buy_num[id] >= 3)
     {
           client_print(id, print_chat, "[便利店] 每局便利店只能买3次!")
           return PLUGIN_HANDLED;
     }
     
     buy_num[id]++
     
     new name[32]
     get_user_name(id, name, 31)
     
     zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - money)
     client_print(id, print_chat, "[便利店] %s在便利店购买了透视!", name)
     
     g_fDelay[id] = get_gametime()
     
     if((g_fDelay[id] + get_pcvar_float(cvar_updatedelay)) > get_gametime())
           return PLUGIN_CONTINUE
     new Float:fMyOrigin[3]
     entity_get_vector(id, EV_VEC_origin, fMyOrigin)
     
     static Players[32], iNum
     get_players(Players, iNum, "a")
     for(new i = 0; i < iNum; ++i) if(id != Players)
{
     
     if (!zp_get_user_zombie(traget))
     {
           new Float:fTargetOrigin[3]
           entity_get_vector(target, EV_VEC_origin, fTargetOrigin)
           
           if((get_distance_f(fMyOrigin, fTargetOrigin) > get_pcvar_num(cvar_maxdistance))
           || !is_in_viewcone(id, fTargetOrigin))
           continue
           
           new Float:fMiddle[3], Float:fHitPoint[3]
           xs_vec_sub(fTargetOrigin, fMyOrigin, fMiddle)
           trace_line(-1, fMyOrigin, fTargetOrigin, fHitPoint)
           
           new Float:fWallOffset[3], Float:fDistanceToWall
           fDistanceToWall = vector_distance(fMyOrigin, fHitPoint) - 10.0
           normalize(fMiddle, fWallOffset, fDistanceToWall)
           
           new Float:fSpriteOffset[3]
           xs_vec_add(fWallOffset, fMyOrigin, fSpriteOffset)
           new Float:fScale, Float:fDistanceToTarget = vector_distance(fMyOrigin, fTargetOrigin)
           if(fDistanceToWall > 100.0)
                 fScale = 8.0 * (fDistanceToWall / fDistanceToTarget)
                 else
                       fScale = 2.0
                 
                 te_sprite(id, fSpriteOffset, sprite_playerheat, floatround(fScale), 125)
}
}
     return 1
}

public event_round_start()
{
     for (new id = 1; id <= 32; id++)
           buy_num[id] = 0
}


stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul)
{
     new Float:fLen = xs_vec_len(fIn)
     xs_vec_copy(fIn, fOut)
     
     fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen
     fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul
}

stock te_sprite(id, Float:origin[3], sprite, scale, brightness)
{
     message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
     write_byte(TE_SPRITE)
     write_coord(floatround(origin[0]))
     write_coord(floatround(origin[1]))
     write_coord(floatround(origin[2]))
     write_short(sprite)
     write_byte(scale)
     write_byte(brightness)
     message_end()
}


献花 x0 回到顶端 [1 楼] From:未知地址 | Posted:2011-08-07 13:42 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.016408 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言