广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2245 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为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.054029 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言