精華區beta WarCraft 關於我們 聯絡資訊
4.7C夏侯淵的技能似乎寫法很怪 有許多BUG才下架不放 我這次重新寫了新的獵鷹&無雙箭雨(冰晶獵鷹陣) 攻速&獵鷹強度互換也處理完成了 關鍵在於用工程升級這個技能的加入與移除做判定 成功的修正完成夏侯淵 另外炎黑印記使用上沒什麼問題所以沒去更動 判定"強化訓練&獵鷹"的部分就不寫了 寫法非常的簡單只是看大家有沒有想到這方法而已 ------------------------------ globals location tempp1 location tempp2 location tempp3 location tempp4 boolean array shaboolean ←判斷獵鷹存在的布林,為了多人選夏侯淵而用陣列 unit array shaunit←為了支援多人選夏侯淵而用陣列 endglobals ●獵鷹攻擊判斷方程式 function skill7c takes nothing returns boolean 判定攻擊者為夏侯淵(E00T)and布林為真and被攻擊者不是建築物and 0~100隨機數字小於(8*獵鷹技能等級(A0FS)) return(GetUnitTypeId(GetAttacker())=='E00T')and (shaboolean[(1+GetPlayerId(GetOwningPlayer(GetAttacker())))]and IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE)==false and GetRandomReal(0.00,100.00)<=(I2R(GetUnitAbilityLevelSwapped('A0FS', GetAttacker()))*8.00)) endfunction -------------------------------------- ●獵鷹攻擊行動方程式之判斷 function skill71 takes nothing returns boolean 被攻擊者不是建築物and被攻擊者是攻擊者的敵人 return IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE)==false and IsPlayerEnemy(GetOwningPlayer(GetTriggerUnit()), GetOwningPlayer(GetAttacker()))) endfunction --------------------------------- ●獵鷹攻擊行動方程式之傷害 function skill72 takes nothing returns nothing 叫隱藏單位對被PICK單位放寒冰爆(與獵鷹相關)、傷害(與強化訓練相關) call SetUnitFacingToFaceUnitTimed(bj_lastCreatedUnit,GetEnumUnit(),0) call IssueTargetOrderById(bj_lastCreatedUnit,852226,GetEnumUnit()) call UnitDamageTargetBJ(GetAttacker(),GetEnumUnit(), .35*((I2R(GetUnitAbilityLevelSwapped('A0FO',GetAttacker()))*.25)* I2R(GetHeroStatBJ(bj_HEROSTAT_AGI,GetAttacker(),true))), ATTACK_TYPE_NORMAL,DAMAGE_TYPE_FIRE) endfunction -------------------------------- ●獵鷹攻擊行動主方程式 function skill7a takes nothing returns nothing local integer shair set tempp1=GetUnitLoc(GetAttacker()) set tempp2=GetUnitLoc(GetTriggerUnit()) set tempp3= GetUnitLoc(shaunit[(1+GetPlayerId(GetOwningPlayer(GetAttacker())))]) set tempp4=PolarProjectionBJ(tempp2,250.00,AngleBetweenPoints(tempp3,tempp2)) ↓命令鳥[玩家編號]站在被攻擊者背後250處並面對他的背部 call SetUnitPositionLocFacingBJ (shaunit[(1+GetPlayerId(GetOwningPlayer(GetAttacker())))], tempp4,(AngleBetweenPoints(tempp3,tempp2)+180.00)) ↓造隱藏單位,設技能等級 call CreateNUnitsAtLoc(1,'e01S',GetOwningPlayer(GetAttacker()), tempp2,bj_UNIT_FACING) call SetUnitAbilityLevelSwapped('A0FT',bj_lastCreatedUnit, GetUnitAbilityLevelSwapped('A0FS',GetAttacker())) ↓叫鳥回來跟隨玩家 call IssueTargetOrderById (shaunit[(1+GetPlayerId(GetOwningPlayer(GetAttacker())))], 851986,GetAttacker()) set shair=1 loop exitwhen shair>3 ↓Pick區域內單位條件skill71,行動skill72,Eh = GetUnitsInRangeOfLocMatching call ForGroupBJ(Eh(250.00,tempp2,Condition(function skill71)),function skill72) ↓等候0.05秒,迴圈3次,遊戲中講攻擊三次就是這麼來的 call TriggerSleepAction(0.05) set shair=shair+1 endloop call RemoveLocation(tempp1) call RemoveLocation(tempp2) call RemoveLocation(tempp3) call RemoveLocation(tempp4) endfunction *獵鷹本身須附加有拖曳特效的效果,才會有瞬間飛去攻擊敵人的感覺 這樣的話就帥多了,感覺以前的獵鷹很蠢= =... -------------------------------------------------------- -------------------------------------------------------- 無雙箭雨(沒有箭了,改用暴風雪比較華麗又不會出問題) 所以是冰晶獵鷹陣(?)埃唷~不會取名子啦 ●行動方程式之判斷 function skill81 takes nothing returns boolean ↓被Pick單位不是建築、是觸發者的敵人 return IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false and IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(GetTriggerUnit()))) endfunction --------------- ●行動方程式之動作 function skill82 takes nothing returns nothing 一次寫完,傷害被Pick目標(200 + 技能等級*50) 記得DamageType不要用NORMAL,不然會被張遼反彈...放一放結果自己死 囧rz call UnitDamageTargetBJ(GetTriggerUnit(),GetEnumUnit(), ((I2R(GetUnitAbilityLevelSwapped('A0EA',GetTriggerUnit()))*50.00)+200), ATTACK_TYPE_NORMAL,DAMAGE_TYPE_FIRE) endfunction ●行動方程式主動作 function skill8a takes nothing returns nothing local location loloc1=GetUnitLoc(GetTriggerUnit()) local location loloc2=GetSpellTargetLoc() ↓eR = PolarProjectionBJ local location loloc3=eR(loloc1,300.00, (AngleBetweenPoints(loloc1,loloc2)-180.00)) local location loloc4 ↓Eh = GetUnitsInRangeOfLocMatching local group logrp=Eh(270.00,loloc2,Condition(function skill81)) local integer loir1 call CreateNUnitsAtLoc(1,'h01J',GetOwningPlayer(GetTriggerUnit()), loloc3,AngleBetweenPoints(loloc1,loloc2)) call ForGroupBJ(logrp,function skill82) ↑叫傷害方程式↓冰雪暴效果,不設成到達目標才傷害是為了會戰效益 set loir1=1 loop exitwhen loir1>5 set tempp1=eR(loloc2,GetRandomReal(0.00,250.00),GetRandomReal(0,360.00)) call CreateNUnitsAtLoc(1,'e01U',GetOwningPlayer(GetTriggerUnit()), tempp1,AngleBetweenPoints(loloc2,loloc1)) call RemoveLocation(tempp1) set loir1=loir1+1 endloop ↓等一秒\( ̄▽ ̄)/, el = TriggerSleepAction call el(1.) 造帥帥的氣功波單位(e01T)於點loloc1對點loloc2放飛鷹(斬空波) call CreateNUnitsAtLoc(1,'e01T',GetOwningPlayer(GetTriggerUnit()), loloc3,AngleBetweenPoints(loloc1,loloc2)) call SetUnitAbilityLevelSwapped ('A0DY',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped ('A0EA',GetTriggerUnit())) call IssuePointOrderByIdLoc(bj_lastCreatedUnit,852125,loloc2) call DestroyGroup(logrp) call RemoveLocation(loloc1) call RemoveLocation(loloc2) call RemoveLocation(loloc3) endfunction 帥帥的冰晶獵鷹陣完成了 除非放在懸崖上鳥飛不出來 (斬空波不能點懸崖,跟臥龍光線站懸崖前放不出來同道理) 不然絕對不會失效= =+ ------------------------- 效果成果放在新的黃XD,XD4.8a 更名為 黃XD‧三國無雙 以後都用這張下去更新了 挑戰比官方寫出更不LAG的觸發XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.165.141.114
maxjoiny:高手...可惜我看不懂= = 12/31 21:45
paul0904:好文快推(免的被人說我不懂) 0.0 12/31 21:46
oeccc:那可以多改幾個讓官方學嗎 @Q@? 12/31 21:47
stqqq:加油 12/31 21:48
yeahhuman:先推 寫得真好啊!! (不然被笑看不懂) 12/31 21:49
takawei:各取所需吧 新年快樂! 12/31 21:49
gonia119:推,你寫的黃XD很好完 12/31 21:56
PinkGG:看不懂推 12/31 21:59
PinkGG:原來這位是黃XD作者 久仰久仰 12/31 21:59
shen05:我超喜歡黃XD@@ 12/31 22:50
A1pha:看的懂但是沒時間看..囧 這週三個期末考...死 12/31 22:50
deaddrunk:推 我的智商只能讓我直接end 12/31 22:58
dickyman:加油 新版本都好少人玩>~< 12/31 22:59
ilsummerya:黃XD好耶 12/31 23:03
wix3000:你肯讓我把載點修掉我就收精華區= =... 01/01 00:53
larchrono:科科 好的 把載點修掉吧~ 01/01 01:15
MrJack:推 迷上玩xd了 今害 01/01 01:36
juin20love:good 推~ 01/01 10:04
bearching:XDDDDD 01/01 11:04
Luckyo:推最後一句 = =+ 01/01 12:17
RandisAlbion:看不懂@@"太深奧了 01/01 14:04
bbsb:看完後,只能說,辛苦了~ 01/01 19:21
joe7317402:唉唷?! 好特別的寫法捏~幫你推推!! (不懂裝懂 01/01 19:33