仇恨列表設計數(shù)值范例_第1頁
仇恨列表設計數(shù)值范例_第2頁
仇恨列表設計數(shù)值范例_第3頁
仇恨列表設計數(shù)值范例_第4頁
仇恨列表設計數(shù)值范例_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、系統(tǒng)的概念是中的怪物和NPC 用于、更換戰(zhàn)斗目標的參考數(shù)值,是配合怪物和 NPC 執(zhí)行AI 功能的重要輔助機制。值表:只于怪物和NPC 身上,用于已經(jīng)產(chǎn)生的玩家、怪物和 NPC 的 ID 以及對1.應的值。如下表:中某怪物的列表列表輔助參數(shù)(每次表產(chǎn)生變動,該表內(nèi)的參數(shù)都會刷新計算)當前戰(zhàn)斗目標AK47(ID)當前最大值目標AK47(ID)當前第一、第二值比值108%初值1上限65536目標時間10 秒對象 ID值AK47(ID)1647難兄難弟(ID)1522NPC-張無忌(1)(NPC 的 ID)1302NPC-(1)(NPC 的 ID)1175丑八怪(ID)842MON-明教厚土旗(27

2、)(怪物的 ID)600小D(ID)100注:一旦怪物身上的表不為空,怪物就將進入戰(zhàn)斗狀態(tài),調(diào)用戰(zhàn)斗 AI;一旦怪物身上的表清空,不但怪物的被表將清空(告知該怪物的其他怪物和 NPC 清除數(shù)據(jù)),怪物也將脫離戰(zhàn)斗狀態(tài)返回出生點,身上的所有數(shù)據(jù)也都將返回初始值;在返回出生點的途中,怪物將保持無敵且表有任何操作的狀態(tài),直到返回到出生點位置該狀態(tài)才會消失。2.被表:于任何目標身上,用于該目標的怪物和 NPC 的 ID(不玩家 ID)如下表:該目標的對象 IDNPC-張無忌(1)(NPC 的 ID)NPC-(1)(NPC 的 ID)MON-明教厚土旗(18)(怪物的 ID)MON-明教厚土旗(27)(

3、怪物的 ID)MON-明教烈火旗(3)(怪物的 ID)自身規(guī)則(一)建立建立-主動怪發(fā)現(xiàn):當玩家進入到一個主動怪的視野范圍,且的陣營與主動怪有時,1.該主動怪的列表中將自動生成一條該的數(shù)據(jù),初始值=初值。同樣道理,當一個主動的NPC 或怪物發(fā)現(xiàn)另一個與自身陣營有的 NPC 或怪物進入初值。的視野范圍時,也會將該NPC 或怪物納入自身的列表,初始值=建立-怪物呼救或召集:中的部分怪物具有“呼救”和“召集”的技能。2.Ø呼救:怪物將自身列表中的對象 ID(不考慮 ID 所具備的值),每個賦予初值點值,添加到一定范圍內(nèi)所有響應該技能的怪物、NPC 的列表中去。此時,若產(chǎn)生響應的怪列表中本身

4、已經(jīng)具有被對象的數(shù)據(jù),則只是將初值和原值疊加;若產(chǎn)生響應的怪列表中還不具備被對象的數(shù)據(jù),則會建立該對象的數(shù)據(jù)。Ø召集:該技能則僅限于具有團隊 AI 的怪物來使用,當怪物使用“召集”技能后,該怪物的列表將原封不動的成為團隊內(nèi)其他怪物、NPC 組員當前的表(將ID 和值同時)。此時,視同將這些響應怪的列表清空一次(實際上并未清空,所以使怪物返回初始狀態(tài)),然后重建一次表數(shù)據(jù)。主動建立-普通NPC 進行普通、或損益技能:當(怪物、NPC)對一個暫未建立自身數(shù)據(jù)的怪物、3.、使用技能或者使用損益技能(挑釁類技能)時,該怪物、NPC 會主動建立該的數(shù)據(jù)。Ø普通:初始值=普通對怪物造成

5、的值;Ø技能:初始值=技能對怪物造成的值+技能本身產(chǎn)生的;Ø損益技能:初始值=技能本身產(chǎn)生的。主動建立-恢復或增益技能:當輔助NPC)使用恢復或增益技能時,且若A(怪物、NPC)對一個已經(jīng)被周圍怪物的B(怪物、4.B 的怪物身上并沒有帶有A 的數(shù)據(jù),那么就將建立A 的數(shù)據(jù)。這可以通過調(diào)取B 的被表來實現(xiàn)。Ø恢復技能:初始值=治療技能為對象治療的值+技能本身產(chǎn)生的;Ø增益技能:初始值=技能本身產(chǎn)生的。建立的意義:Ø中的怪物、NPC 一旦對某(怪物、NPC)建立,就將向該目標一條消息,告知該目標數(shù)據(jù)已經(jīng)建立,在該目標的被表中添加自身的 ID。

6、16;與單純的增加不同,一旦建立,都會產(chǎn)生至少 1 點初值。(二)變化主動增加-普通恨表中建立了、和損益技能:如果一個(怪物、NPC)已經(jīng)在一個怪物或NPC 仇1.數(shù)據(jù),那么(怪物、NPC)對該怪物或NPC 繼續(xù)進行、使用技能或損益技能(挑釁技能),都將主動增加該(怪物、NPC)在怪物或NPC表中的仇恨值。Ø普通:增加值=普通對怪物造成的值;Ø技能:增加值=技能對怪物造成的值+技能本身產(chǎn)生的;Ø損益技能:增加值=技能本身產(chǎn)生的。主動增加-恢復和增益技能:如果一個(怪物、NPC)已經(jīng)在一個怪物或NPC表中建立2.了數(shù)據(jù),那么(怪物、NPC)對該怪物或NPC的任何目標

7、使用恢復或增益技能,都將主動增加該(怪物、NPC)在怪物或 NPC表中的值。這可以通過調(diào)取目標的被仇恨表來實現(xiàn)。Ø 恢復技能:初始值=治療技能為對象治療的值+技能本身產(chǎn)生的;Ø 增益技能:初始值=技能本身產(chǎn)生的。增加-呼救:怪物將自身列表中的對象 ID(不考慮 ID 所具備的值),每個賦予3.初值點值,添加到一定范圍內(nèi)所有響應該技能的怪物、NPC 的列表中去。此時,若產(chǎn)生響應的怪列表中本身已經(jīng)具有被對象的數(shù)據(jù),則只是將初值和原值疊加;若產(chǎn)生響應的怪列表中還不具備被對象的數(shù)據(jù),則會建立該對象的數(shù)據(jù)。主動衰減-特殊技能:(怪物、NPC)可以使用一些特殊技能來主動減少怪物或 NP

8、C 對自身4.的值。但技能最多只能將值降低到 1。極限衰減:所有(怪物、NPC)在怪物或NPC 處可的值上限均為 65535。一旦某個5.(怪物、NPC)的值達到上限,表會執(zhí)行一次“極限衰減”操作將表中所有對象的值減半(達到上限的值)并向上取整。6.舉例:以下為中某怪物某個時刻的表:此時,“AK47”對怪物又產(chǎn)生一次,使增加了 50 點;AK47變?yōu)椋?0=65583;因為值有上限 65535,所以AK47 的實際變成 65535;因為,AK47 的上限,所以,列表產(chǎn)生極限衰減(減半后,向上取整); 之后,列表數(shù)據(jù)變成如下圖示:對象 ID值AK47(ID)32768難兄難弟(ID)31056N

9、PC-張無忌(1)(NPC 的 ID)27016NPC-(1)(NPC 的 ID)1365丑八怪(ID)102=對象 ID值AK47(ID)65533難兄難弟(ID)62111NPC-張無忌(1)(NPC 的 ID)54032NPC-(1)(NPC 的 ID)2730丑八怪(ID)102MON-明教厚土旗(27)(怪物的 ID)20小D(ID)1衰減前的列表MON-明教厚土旗(27)(怪物的 ID)51小D(ID)1衰減后的列表(三)清除自身清除:當怪物或NPC 自身時,會清除自身表中所有的ID 以及對應的值。1.然后給所有ID 發(fā)出信息,告知它們清除被表里的自身 ID。清除:當怪物或 NPC

10、表中某個(怪物、NPC)時,會向該怪物發(fā)出一條信息(以2.被表來實現(xiàn)),讓怪物或NPC 清除當前表內(nèi)自身的數(shù)據(jù)。這種類型的清除同時也下線、傳送等異常情況。區(qū)域清除:當怪物或NPC 當前的目標即目標,超出了怪物最大巡視范圍時,該目3.標在怪物或NPC列表中的數(shù)據(jù)將被直接清除。時間清除:當怪物或NPC 當前的目標即目標,在一定時間內(nèi)(初定為 10 秒)沒有4.讓怪物或NPC 對的值產(chǎn)生任何增幅(一旦產(chǎn)生增幅或怪物切換戰(zhàn)斗目標,該時間就會重置),該目標在怪物或NPC表中的數(shù)據(jù)也將被直接清除。特殊清除-技能:有一些比較特殊的技能,例如“憤怒嘲諷”,可以對怪物產(chǎn)生極為特殊的5.表清除效果使怪物表中除當前

11、目標之外的其他目標的完全清除。再例如“假死”、“隱身”等技能,可以立刻清除自身的值等等。(四)表置滿每個怪物和NPC 所攜帶的表最多只能同時20 條數(shù)據(jù);被表也是一樣。一旦表或被表置滿,那么就不再建立新的和被數(shù)據(jù),直到其中有數(shù)據(jù)被清除。(是否考慮在表里使用排序替換機制?也就是說,每一次發(fā)生表數(shù)據(jù)變更時,都對所有的數(shù)據(jù)進行一次排序,那么如果有新的建立,可以對表末端數(shù)據(jù)進行替換。)目標的規(guī)則理論上,怪物總是會取列表中值最大的目標(、怪物或 NPC)作為自身的目標。但在實際中,這樣的做使玩家很快就找到所產(chǎn)生的 BUG,所以采用一套“目標更換”機制來加強的作用。該機智主要以下一些規(guī)則:值的變化直接導致

12、怪物更換戰(zhàn)斗目標,而是間接的通過“目標更換”來指導怪物1.或NPC 更換戰(zhàn)斗目標;一旦觸發(fā)“目標更換”,怪物或 NPC 會選擇列表最頂端(也就是數(shù)值最高)的目2.標作為自身的戰(zhàn)斗目標;當“目標更換”觸發(fā)時,如果怪物或 NPC列表最頂端有多個目標(即多個目標的3.值相同),則會從中隨機的抽選一個目標作為戰(zhàn)斗目標;“目標更換”觸發(fā)條件一:一旦怪物的表中開始有數(shù)據(jù)(即不為空),就會觸發(fā)4.一次“目標更換”;“目標更換”觸發(fā)條件二:如果怪物或NPC列表中“當前戰(zhàn)斗目標”和“當前最大仇5.恨值目標”不同,且“當前第一、第二值比值”>110%,則會觸發(fā)“目標更換”;“目標更換”觸發(fā)條件三:一旦怪物或

13、NPC列表中有一個目標值達到上限,6.即 65535 時,則會觸發(fā)“目標更換”(注意:該會在“極限衰減”過程之前完成);“目標更換”觸發(fā)條件四:怪物或NPC列表中,“當前戰(zhàn)斗目標”的值發(fā)生衰減7.或清除(不管是因為什么),都會觸發(fā)“目標更換”;“目標更換”觸發(fā)條件五:怪物或 NPC 在響應“呼救”和“召集”技能或者怪物在受到“憤8.怒嘲諷”技能時,會立刻觸發(fā)一次“目標更換”(可以通過讓技能攜帶一個具有“目標更換”觸發(fā)功能的來實現(xiàn))。列表的添加和取代當怪物響應“呼救”和“召集”技能時,雖然都是對它人列表的操作,但操作卻是不相同的,下面就來詳細說明一下。1.呼救響應-添加:當某個怪物B 響應怪物A

14、 的呼救時,會怪物 A表中所有目標的ID,給每一個ID 賦予 100 點以后,添加到自身的表如果是自身表內(nèi)已有 ID,則執(zhí)行“變化”操作;如果是自身內(nèi)沒有的 ID,則執(zhí)行“建立”操作,操作完,向該目標 ID 發(fā)出信息,將自身 ID 添加到目標 ID 的被表中。舉例:以下為中怪物A 在某個時刻的表:以下為中怪物B 在某個時刻的表:對象 IDAK47(ID)2550MON-明教厚土旗(27)(怪物的 ID)51小D(ID)4對象 IDAK47(ID)4229難兄難弟(ID)3644NPC-張無忌(1)(NPC 的 ID)210NPC-(1)(NPC 的 ID)15A 在呼救前的表B 在響應呼救前的

15、表此時,怪物A 達到AI 中呼救的條件,向周圍發(fā)出呼救,而怪物 B 正好響應了這一呼救,于是,B 的列表就發(fā)生了改變。其中:怪物B 對“MON-明教厚土旗(27)(怪物的 ID)”、“小 D(ID)”兩個目標的沒有變化, 因為它們不于A 的表中;怪物B 對“AK47(ID)”的增加了 1,因為 A 和B 的表中都這個目標;怪物B 還需要建立“難兄難弟( ID)”、“NPC-張無忌(1)(NPC 的 ID)”、“NPC- (1)(NPC 的 ID)”三條 數(shù)據(jù),因為這是 A 有而B 沒有的 數(shù)據(jù),每個 ID 賦予 1 點 初值。在添加完后,怪物B 會給這三個 ID 目標 信息,讓它們建立怪物 B

16、 的被 數(shù)據(jù)。對象 IDAK47(ID)2550+1MON-明教厚土旗(27)(怪物的 ID)51小DID)4難兄難弟ID)1NPC-張無忌(1)(NPC 的 ID)1NPC-(1)(NPC 的 ID)1B 在響應呼救后的表2.召集響應-取代:當某個怪物B 響應怪物A 的召集時,會怪物 A表中所有目標的ID 以及 ID 的值,然后取代自身列表此時,需先向 B 原有表內(nèi)的所有 ID 發(fā)出信息,將自身 ID 從目標 ID 的被表中清除,然后再給B 新表內(nèi)的所有 ID 發(fā)出信息,將自身 ID 添加到目標 ID 的被表中清楚。(注意:執(zhí)行第一,不能視為完全清除 B 的表,避免 B 因為表清空而發(fā)生數(shù)據(jù)

17、重置的過程)。舉例:以下為中怪物A 在某個時刻的表:以下為中怪物B 在某個時刻的表:對象 IDAK47(ID)2550MON-明教厚土旗(27)(怪物的 ID)51小D(ID)4對象 IDAK47(ID)4229難兄難弟(ID)3644NPC-張無忌(1)(NPC 的 ID)210NPC-(1)(NPC 的 ID)15A 在召集前的表B 在響集前的表此時,怪物A 達到AI 中召集的條件,向周圍發(fā)出召集,而怪物 B 正好響應了這一召集,于是,B 的列表就發(fā)生了改變。其中:首先,怪物B 會清除自身表內(nèi)“AK47(ID)”、“MON-明教厚土旗(27)(怪物的 ID)”、“小D(ID)”三條數(shù)據(jù),并對這三個ID 發(fā)出信息,讓它們在被表中清除自身 ID;然后,怪物B 會在在自身表內(nèi)建立“AK47(ID)”、“難兄難弟(ID)”、“NPC-張無忌(1)(NPC 的ID)”、“NPC-(1)(NP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論