廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2263 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
zzzzzzxz2
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x4
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[1.6][插件] 擊退效果還有無敵能同時用嗎???
複製程式
#include <amxmodx>
#include <engine>


#define PLUGIN "Pump Knockback (when shot by one)"
#define VERSION "1.0"
#define AUTHOR "v3x & Chronic"


new cvar_pump_active , cvar_pump_force;


public plugin_init()
{
 register_plugin(PLUGIN , VERSION , AUTHOR);


 register_event("Damage" , "event_Damage" , "b" , "2>0");


 cvar_pump_active   = register_cvar("pump_knockback" , "1");
 cvar_pump_force    = register_cvar("pump_force"     , "10");
}


public event_Damage(id)
{
 if(!get_pcvar_num(cvar_pump_active))
 return PLUGIN_CONTINUE;


 if(!is_user_alive(id))
 return PLUGIN_CONTINUE;


 new weapon , attacker = get_user_attacker(id , weapon);


 if(!is_user_alive(attacker))
 return PLUGIN_CONTINUE;


 if(weapon == CSW_M3)
 {
 new Float:vec[3];
 new Float:oldvelo[3];
 get_user_velocity(id, oldvelo);
 create_velocity_vector(id , attacker , vec);
 vec[0] += oldvelo[0];
 vec[1] += oldvelo[1];
 set_user_velocity(id , vec);
 }


 return PLUGIN_CONTINUE;
}


// Stock by the one and only, Chronic :P
stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
 if(!is_user_alive(victim) || !is_user_alive(attacker))
 return 0;


 new Float:vicorigin[3];
 new Float:attorigin[3];
 entity_get_vector(victim   , EV_VEC_origin , vicorigin);
 entity_get_vector(attacker , EV_VEC_origin , attorigin);


 new Float:origin2[3]
 origin2[0] = vicorigin[0] - attorigin[0];
 origin2[1] = vicorigin[1] - attorigin[1];


 new Float:largestnum = 0.0;


 if(floatabs(origin2[0])>largestnum) largestnum = floatabs(origin2[0]);
 if(floatabs(origin2[1])>largestnum) largestnum = floatabs(origin2[1]);


 origin2[0] /= largestnum;
 origin2[1] /= largestnum;


 velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_pump_force) * 3000) ) / get_entity_distance(victim , attacker);
 velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_pump_force) * 3000) ) / get_entity_distance(victim , attacker);
 if(velocity[0] <= 20.0 || velocity[1] <= 20.0)
 velocity[2] = random_float(200.0 , 275.0);


 return 1;
}






轉:http://forums.alliedmods.net...php?p=226381


上面的是增加擊退效果的插件, 但是怎麼好像不能和無敵效果一齊用?



獻花 x0 回到頂端 [樓 主] From:香港有線寬頻 | Posted:2013-07-22 19:57 |
弒血
個人頭像
個人文章 個人相簿 個人日記 個人地圖
社區建設獎 特殊貢獻獎 創作大師獎
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x108 鮮花 x240
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 zzzzzzxz2 於 2013-07-22 19:57 發表的 擊退效果還有無敵能同時用嗎???: 到引言文
[code]#include <amxmodx>
#include <engine>

#define PLUGIN "Pump Knockback (when shot by one)"
.......



可以吧


只不過 無敵 好像沒辦法 克制擊退力


就算是無敵 也不能 夠檔擊退力 除非 你有另外設定



目前傳授教學&有興趣者可以問我
BOT瞄準攻擊NPC&模仿事件觸發計算出場&新增地圖重生位置等等
已修復entity的attachment錯誤問題,開始嘗試寫出各種npc_boss成品
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
獻花 x0 回到頂端 [1 樓] From:臺灣中華電信股份有限公司 | Posted:2013-07-22 20:59 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

要看觸發擊退效果的時間點在哪…
例如那程式碼的觸發條件是用 Damage 事件…
可是 Damage 事件好像沒分 pre 和 post …
如果能像 Ham_TakeDamage 有分的話…
可以先在 pre 將原本的 pev_velocity 紀錄到一個自訂變數…
然後再到 post 將紀錄的變數塞回去 pev_velocity …
舊版ZP的 painfree 就是用這方法寫的…


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [2 樓] From:臺灣中華電信股份有限公司 | Posted:2013-07-23 09:42 |

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