廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2117 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為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.110027 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言