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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

9、PC-張無忌(1)(NPC 的 ID)27016NPC-(1)(NPC 的 ID)1365丑八怪(ID)102=對(duì)象 ID值A(chǔ)K47(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衰減后的列表(三)清除自身清除:當(dāng)怪物或NPC 自身時(shí),會(huì)清除自身表中所有的ID 以及對(duì)應(yīng)的值。1.然后給所有ID 發(fā)出信息,告知它們清除被表里的自身 ID。清除:當(dāng)怪物或 NPC

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論