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