广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 5155 个阅读者
 
<<   1   2  下页 >>(共 2 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
zxzyman 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x40 鲜花 x144
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] [已解决] 取得伤害%数
不好意思...   希望有人能帮助我


因为在僵尸里,有些生命较高,不易杀死的僵尸

我想到一个点子,攻击僵尸造成伤害30%数, 这个不知道有没有人想过




下面是插件内容 的一个部份

复制程式
 if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_AWP)
 { 
  static Float:originF[3]
  pev(victim, pev_origin, originF)
  
  new plrWeapId, plrClip, plrAmmo
  plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo)
  if (plrWeapId == CSW_AWP)
   SetHamParamFloat(4, damage += get_user_health(victim))
  
  client_print(attacker, print_center, "Enemy Electrocuted!")
  if(get_pcvar_num(cvar_particles_dead))
   dead_efect(originF)
 }

上面是,damage += get_user_health(victim)       (也就是秒杀)

我想想后写出, damage += (get_user_health(victim) *= 0.3 )     (伤害30%)

结果愚蠢的下场就是失败...  


[ 此文章被zxzyman在2014-04-08 13:45重新编辑 ]



UWC3NG 终极魔兽-次世代 (繁体中文版)
     -按此连结-   

献花 x0 回到顶端 [楼 主] From:未知地址 | Posted:2014-04-04 23:25 |
Nailaz 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x77 鲜花 x254
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

damage *= 1.3


[ 此文章被Nailaz在2014-04-05 10:41重新编辑 ]


web front-end and software engineer.
献花 x1 回到顶端 [1 楼] From:台湾中华电信股份有限公司 | Posted:2014-04-05 00:20 |
zxzyman 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x40 鲜花 x144
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 Nailaz 于 2014-04-05 00:20 发表的 : 到引言文
damage *= 1.3

这样会变成武器X1.3... 


UWC3NG 终极魔兽-次世代 (繁体中文版)
     -按此连结-   

献花 x0 回到顶端 [2 楼] From:未知地址 | Posted:2014-04-05 22:57 |
mischna09
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
头衔:路人饼14ˋ(˙∀˙)ˊ路人饼14ˋ(˙∀˙)ˊ
特约版主
级别: 特约版主 该用户目前不上站
版区: CS提问区
推文 x8 鲜花 x91
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

set_user_health(victim, get_user_health(victim) * 0.7)
痾.. 一个提点的语法 不过如果一直这样子打僵尸的话的话他应该死不了...顶多某道具一次吧


献花 x0 回到顶端 [3 楼] From:台湾固网股份有限公司 | Posted:2014-04-05 23:04 |
mischna09
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
头衔:路人饼14ˋ(˙∀˙)ˊ路人饼14ˋ(˙∀˙)ˊ
特约版主
级别: 特约版主 该用户目前不上站
版区: CS提问区
推文 x8 鲜花 x91
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

要把本来的伤害先弄成0哦..如果你纯粹只要造成指定伤害的话


献花 x0 回到顶端 [4 楼] From:台湾固网股份有限公司 | Posted:2014-04-05 23:06 |
zxzyman 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x40 鲜花 x144
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

我想到这个方法:   但失败

new PlayHp, Hiting

PlayHp = get_user_health(victim)

new Float:Dam = 0.3
Hiting = PlayHp *= Dam

if (plrWeapId == CSW_AWP)
SetHamParamFloat(4, damage += Hiting )





假如玩家生命3000

3000 x 0.3 = 900

伤害 + 900    

结果打下去 伤害变成: 1398658 (几百万....)

请问我上面的逻辑有错吗?...   还是说没这么单纯...


[ 此文章被zxzyman在2014-04-06 16:50重新编辑 ]


UWC3NG 终极魔兽-次世代 (繁体中文版)
     -按此连结-   

献花 x0 回到顶端 [5 楼] From:未知地址 | Posted:2014-04-06 16:44 |
Nailaz 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x77 鲜花 x254
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

应该是小数问题
把get_user_health(index)
改成
pev(index, pev_health)
应该可行


web front-end and software engineer.
献花 x1 回到顶端 [6 楼] From:台湾中华电信股份有限公司 | Posted:2014-04-06 18:07 |
[NiGhT]-妖
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x6 鲜花 x28
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_AWP)
{
static Float:originF[3]
pev(victim, pev_origin, originF)

new plrWeapId, plrClip, plrAmmo
plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo)
if (plrWeapId == CSW_AWP)
  SetHamParamFloat(4, damage += get_user_health(victim))

client_print(attacker, print_center, "Enemy Electrocuted!")
if(get_pcvar_num(cvar_particles_dead))
  dead_efect(originF)
}
get_user damger %
}
end


献花 x0 回到顶端 [7 楼] From:未知地址 | Posted:2014-04-07 19:54 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x240
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 zxzyman 于 2014-04-06 16:44 发表的 : 到引言文
我想到这个方法:   但失败

new PlayHp, Hiting

PlayHp = get_user_health(victim)

new Float:Dam = 0.3
Hiting = PlayHp *= Dam

if (plrWeapId == CSW_AWP)
SetHamParamFloat(4, damage += Hiting )





假如玩家生命3000

3000 x 0.3 = 900

伤害 + 900    

结果打下去 伤害变成: 1398658 (几百万....)

请问我上面的逻辑有错吗?...   还是说没这么单纯...



如果是我的话,我会先取得每只僵尸的最大生命值去做:


例如说 我有一只僵尸 血量 5000

先把伤害倍数乘于血量 = 新伤害倍数

再把新伤害倍数乘于1.0 = 伤害值


换句话说..

new Float:maxhealth, Float:adddmg, Float:newdmg;

maxhealth = float(5000); //最大生命,重点是看你如何取的..我这个只是个例子...
adddmg = 1.3; //30%伤害
newdmg = (damage + (maxhealth * adddmg)); // 取得旧伤害 + 伤害倍数
SetHamParamFloat(4, newdmg ); //给予新的伤害值



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x1 回到顶端 [8 楼] From:台湾中华电信股份有限公司 | Posted:2014-04-08 08:37 |
zxzyman 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x40 鲜花 x144
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

  
下面是引用 s8720419 于 2014-04-08 08:37 发表的 : 到引言文




如果是我的话,我会先取得每只僵尸的最大生命值去做:


例如说 我有一只僵尸 血量 5000

先把伤害倍数乘于血量 = 新伤害倍数

再把新伤害倍数乘于1.0 = 伤害值


换句话说..

new Float:maxhealth, Float:adddmg, Float:newdmg;

maxhealth = float(5000); //最大生命,重点是看你如何取的..我这个只是个例子...
adddmg = 1.3; //30%伤害
newdmg = (damage + (maxhealth * adddmg)); // 取得旧伤害 + 伤害倍数
SetHamParamFloat(4, newdmg ); //给予新的伤害值

原来不是只有%数要用Float....

我参考您的作法,但省去maxhealth

我用zp_get_zombie_maxhealth 取得僵尸生命,成功做出%数伤害了

但是1.3并不是30%伤害,这样会变成130%伤害 (我刚刚想了很久发现就是错在这...)
Nailaz 大大 误导了我们了  表情
感谢s8720419 大大指点帮助,貌似有学到了什么..~   表情


这样就能延伸出不一样的想法了,像是道具对复仇者有%数伤害 


[ 此文章被zxzyman在2014-04-08 13:47重新编辑 ]


UWC3NG 终极魔兽-次世代 (繁体中文版)
     -按此连结-   

献花 x0 回到顶端 [9 楼] From:未知地址 | Posted:2014-04-08 13:27 |

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