廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 7974 個閱讀者
 
<<   1   2   3  下頁 >>(共 3 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
Osker_Lee
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[1.6][插件] 关于zombie icon的问题

圖 1.

圖 2.



最近研究了一下僵尸插件,我想让人类变成僵尸的时候,屏幕会出现一个zombie icon图标(如图示),我拿某个单体僵尸插件改了一下,结果可以显示icon图标。但有一个问题就是:当我由僵尸变回人类时,那个icon依然还存在,一直不消失。请问有高人知道怎么解决这个问题吗?
複製程式
#include <amxmodx>
#include <xs>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>
#define SUPPORT_BOT_TO_USE
new const zclass_name[] = { "Zombie Class: Healer" }
new const zclass_info[] = { "=Press 'R' to heal=" }
new const zclass_model[] = { "zombie_healer" }
new const zclass_clawmodel[] = { "v_knife_healer.mdl" }
const zclass_health = 5000
const zclass_speed = 240
const Float:zclass_gravity = 1.0
const Float:zclass_knockback = 1.0
new const HealSound[] = { "zombie_plague/td_debuff.wav" }
new g_zclass_kuca
new kuca_skill_cooldown, kuca_skill_range, kuca_skill_heal_point
new Float:eyes_skill[33]
new heal_spr
public plugin_init()
{
 register_plugin("[ZP] Class: Healer", "1.0", "I don't know")
 
 kuca_skill_cooldown = register_cvar("zp_kuca_cooldown", "20.0")
 kuca_skill_range = register_cvar("zp_kuca_heal_range", "300")
 kuca_skill_heal_point = register_cvar("zp_kuca_heal_hp_percentage", "10")
 
 register_forward(FM_CmdStart, "fw_CmdStart")
 register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
 
 register_event("ResetHUD","NewRound","be")
 register_event("DeathMsg", "Death", "a")
}
public plugin_precache()
{
 precache_sound(HealSound)
 heal_spr = precache_model("sprites/zombie_plague/zombie_healer.spr")
 g_zclass_kuca = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}
stock ChatColor(const id, const input[], any:...)
{
 new count = 1, players[32]
 static msg[191]
 vformat(msg, 190, input, 3)
 
 replace_all(msg, 190, "!g", "^4") // Green Color
 replace_all(msg, 190, "!y", "^1") // Default Color
 replace_all(msg, 190, "!team", "^3") // Team Color
 replace_all(msg, 190, "!team2", "^0") // Team2 Color
 
 if (id) players[0] = id; else get_players(players, count, "ch")
        {
 for (new i = 0; i < count; i++)
 {
  if (is_user_connected(players[i]))
  {
   message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
   write_byte(players[i]);
   write_string(msg);
   message_end();
  }
 }
}
}
public zp_user_infected_post(id, infector)
{
 if (zp_get_user_zombie_class(id) == g_zclass_kuca)
 {
 set_hud_spr(id,1)
        ChatColor(id, "!g[Zombie Healer]!yPress 'R' to heal yourself and teamates!Healing Range: %.1f,Restore HP: %d%,Cooldowng Time: %.1f.", get_pcvar_float(kuca_skill_range), get_pcvar_num(kuca_skill_heal_point), get_pcvar_float(kuca_skill_cooldown))
 }
}
set_hud_spr(id,status)
{
 message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("StatusIcon"),{0,0,0},id);
 write_byte(status); // status (0=hide, 1=show, 2=flash)
        write_string("dmg_bio"); // sprite name
 write_byte(0); // red
 write_byte(255); // green
 write_byte(0); // blue
 message_end();
}
public zp_user_humanized_post(id)
{
 clear(id)
}
public Death()
{
 new id = read_data(2)
 clear(id)
}
public NewRound(id)
{
 clear(id)
}
public client_connect(id)
{
 clear(id)
}
public client_disconnect(id)
{
 clear(id)
}
public clear(id)
{
 eyes_skill[id] = 0.0
}
public fw_CmdStart(id, uc_handle, seed)
{
 if (!is_user_alive(id))
  return FMRES_IGNORED;
 
 if (!zp_get_user_zombie(id) || zp_get_user_zombie_class(id) != g_zclass_kuca)
  return FMRES_IGNORED;
 
 if (zp_get_user_nemesis(id))
  return FMRES_IGNORED;
 
 static button, oldbutton, i
 button = get_uc(uc_handle, UC_Buttons)
 oldbutton = pev(id, pev_oldbuttons)
 
 if ((button & IN_RELOAD) && !(oldbutton & IN_RELOAD))
 {
  if (get_gametime() - eyes_skill[id] < get_pcvar_float(kuca_skill_cooldown))
  {
   ChatColor(id, "!g[Zpmbie Healer]!yDuring the cooldown...")
   return FMRES_IGNORED;
  }
  
  for(i = 1; i <= get_playersnum(); i++)
   if(id != i && is_user_alive(i) && zp_get_user_zombie(i) && !zp_get_user_nemesis(i))
    if (is_in_view(id, i) && get_range(id, i) <= get_pcvar_float(kuca_skill_range))
     heal_zombie(i)
  heal_zombie(id)
  eyes_skill[id] = get_gametime()
 }
 
 #if defined SUPPORT_BOT_TO_USE
 if (is_user_bot(id))
 {
  if (get_gametime() - eyes_skill[id] < get_pcvar_float(kuca_skill_cooldown))
   return FMRES_IGNORED;
  
  static bool:need_heal_in_view[33]
  for(i = 1; i <= get_playersnum(); i++)
  if(id != i && is_user_alive(i) && zp_get_user_zombie(i) && !zp_get_user_nemesis(i)) 
                if (pev(i, pev_health) <= float(zp_get_zombie_maxhealth(i))*(100-get_pcvar_float(kuca_skill_heal_point))/100)
  if (is_in_view(id, i) && get_range(id, i) <= get_pcvar_float(kuca_skill_range))
  need_heal_in_view[id] = true
  
  if (need_heal_in_view[id] || pev(id, pev_health) <= float(zp_get_zombie_maxhealth(id))*(100-get_pcvar_float(kuca_skill_heal_point))/100)
  {
   for(i = 1; i <= get_playersnum(); i++)
    if(id != i && is_user_alive(i) && zp_get_user_zombie(i) && !zp_get_user_nemesis(i))
     if (is_in_view(id, i) && get_range(id, i) <= get_pcvar_float(kuca_skill_range))
      heal_zombie(i)
   heal_zombie(id)
   need_heal_in_view[id] = false
   eyes_skill[id] = get_gametime()
  }
 }
 #endif
 
 return FMRES_HANDLED;
}
public heal_zombie(id)
{
 show_spr(id)
 engfunc(EngFunc_EmitSound, id, CHAN_AUTO, HealSound, 1.0, ATTN_NORM, 0, PITCH_NORM)
 if (pev(id, pev_health) < float(zp_get_zombie_maxhealth(id)))
  set_pev(id, pev_health, floatmin(pev(id, pev_health) + float(zp_get_zombie_maxhealth(id))*get_pcvar_float(kuca_skill_heal_point)/100, float(zp_get_zombie_maxhealth(id))))
}
public fw_PlayerPreThink(id)
{
 if (!is_user_alive(id)) return FMRES_IGNORED;
 
 if (zp_get_user_nemesis(id)) return FMRES_IGNORED;
 
 if (!zp_get_user_zombie(id) || zp_get_user_zombie_class(id) != g_zclass_kuca) return FMRES_IGNORED;
 
 if (get_gametime() - eyes_skill[id] >= get_pcvar_float(kuca_skill_cooldown) && get_gametime() - eyes_skill[id] < get_pcvar_float(kuca_skill_cooldown)+0.1)
  ChatColor(id, "!g[Zombie Healer]!yNow you can use your skill again!")
 
 return FMRES_IGNORED;
}
stock Float:get_range(index, target)
{
 static Float:origin1[3], Float:origin2[3]
 pev(index, pev_origin, origin1)
 pev(target, pev_origin, origin2)
 
 return get_distance_f(origin1,origin2)
}
stock show_spr(id)
{
 static Float:origin[3]
 pev(id, pev_origin, origin)
 engfunc(EngFunc_MessageBegin,MSG_BROADCAST,SVC_TEMPENTITY,origin,0)
 write_byte(TE_SPRITE)
 engfunc(EngFunc_WriteCoord,origin[0])
 engfunc(EngFunc_WriteCoord,origin[1])
 engfunc(EngFunc_WriteCoord,origin[2]+16)
 write_short(heal_spr)
 write_byte(10)
 write_byte(255)
 message_end()
}
stock bool:is_in_view(index, target, ignoremonsters = 1)
{
 if (index == target) return false;
 new Float:angles[3];
 pev(index, pev_angles, angles);
 engfunc(EngFunc_MakeVectors, angles);
 global_get(glb_v_forward, angles);
 angles[2] = 0.0;
 new Float:origin[3], Float:point[3], Float:diff[3], Float:norm[3], Float:view_ofs[3];
 pev(index, pev_origin, origin);
 pev(target, pev_origin, point);
 xs_vec_sub(point, origin, diff);
 diff[2] = 0.0;
 xs_vec_normalize(diff, norm);
 pev(index, pev_view_ofs, view_ofs);
 xs_vec_add(origin, view_ofs, origin);
 engfunc(EngFunc_TraceLine, origin, point, ignoremonsters, index, 0);
 new Float:dot, Float:fov;
 dot = xs_vec_dot(norm, angles);
 pev(index, pev_fov, fov);
 new Float:fraction;
 get_tr2(0, TR_flFraction, fraction);
 if (dot >= floatcos(fov * M_PI / 360) && fraction == 1.0)
  return true;
 return false;
}


本帖包含附件
zip zomie_healer.zip   (2022-06-09 14:18 / 72 KB)   下載次數:2



獻花 x0 回到頂端 [樓 主] From:未知地址 | Posted:2011-08-01 00:27 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [1 樓] From:臺灣中華電信股份有限公司 | Posted:2011-08-01 11:34 |
Osker_Lee
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


[ 此文章被Osker_Lee在2011-08-02 02:12重新編輯 ]


獻花 x0 回到頂端 [2 樓] From:未知地址 | Posted:2011-08-01 18:50 |
fouury 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x9 鮮花 x101
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


[ 此文章被fouury在2011-08-01 21:26重新編輯 ]


按這裡檢視影片,登入論壇可以直接觀看
BLACK OPS 2 - MOB OF THE DEAD
決勝時刻 黑色行動2 殭屍78毛 就是這樣了
獻花 x1 回到頂端 [3 樓] From:臺灣威寶電信股份有限公司 | Posted:2011-08-01 21:11 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [4 樓] From:臺灣中華電信股份有限公司 | Posted:2011-08-01 22:25 |
Osker_Lee
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


獻花 x0 回到頂端 [5 樓] From:未知地址 | Posted:2011-08-02 02:28 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


[ 此文章被a7811311622在2011-08-02 11:45重新編輯 ]


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [6 樓] From:臺灣中華電信股份有限公司 | Posted:2011-08-02 11:35 |
Osker_Lee
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


[ 此文章被Osker_Lee在2011-08-02 15:40重新編輯 ]


獻花 x0 回到頂端 [7 樓] From:未知地址 | Posted:2011-08-02 15:29 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


[ 此文章被a7811311622在2011-08-02 16:03重新編輯 ]


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [8 樓] From:臺灣中華電信股份有限公司 | Posted:2011-08-02 15:56 |
亞爾多 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
社區建設獎 創作大師獎 特殊貢獻獎
知名人士
級別: 知名人士 該用戶目前不上站
推文 x311 鮮花 x1237
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

  此回覆只有『管理員及回覆者』看的到 !!!


獻花 x0 回到頂端 [9 樓] From:香港網上行 | Posted:2011-08-02 15:58 |

<<   1   2   3  下頁 >>(共 3 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.056678 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言