网站地图
新开私服
57私服首页 网游私服外挂 今日传奇3私服 今日奇迹私服 新开传奇私服 最新私服IP

天堂2对于NPC智能(AI)地初步研究


奇迹私服,传奇私服首页 作者:天堂2 发表时间:2004-9-26 1:48:52

【更多今日新开奇迹私服点这里查看...】


在NPCDATA.TXT文件下對應的每一個NPC都有其相應的屬性,其中有一項npc_ai={}的屬性(對於編成的來説,這可以看成一個函數)
現在對這個屬性進行一些研究


npc_ai={[grandmaster_ramos];{[fnHi] = [grandmaster_ramos001.htm]};{[fnClassMismatch] = [grandmaster_ramos002.htm]};

{[fnClassList1] = [grandmaster_ramos003h.htm]};{[fnClassList2] = [grandmaster_ramos003e.htm]};{[fnYouAreSecondClass] =

[grandmaster_ramos004.htm]};{[fnYouAreThirdClass] = [grandmaster_ramos005.htm]};{[fnLowLevelNoProof11] =

[grandmaster_ramos008ha.htm]};{[fnLowLevelNoProof12] = [grandmaster_ramos008hb.htm]};{[fnLowLevelNoProof13] =

[grandmaster_ramos008hc.htm]};{[fnLowLevelNoProof21] = [grandmaster_ramos008ea.htm]};{[fnLowLevelNoProof22] =

[grandmaster_ramos008eb.htm]};{[fnLowLevelNoProof23] = [grandmaster_ramos008ec.htm]};{[fnLowLevel11] =

[grandmaster_ramos009ha.htm]};{[fnLowLevel12] = [grandmaster_ramos009hb.htm]};{[fnLowLevel13] =

[grandmaster_ramos009hc.htm]};{[fnLowLevel21] = [grandmaster_ramos009ea.htm]};{[fnLowLevel22] =

[grandmaster_ramos009eb.htm]};{[fnLowLevel23] = [grandmaster_ramos009ec.htm]};{[fnNoProof11] =

[grandmaster_ramos010ha.htm]};{[fnNoProof12] = [grandmaster_ramos010hb.htm]};{[fnNoProof13] = [grandmaster_ramos010hc.htm]};

{[fnNoProof21] = [grandmaster_ramos010ea.htm]};{[fnNoProof22] = [grandmaster_ramos010eb.htm]};{[fnNoProof23] =

[grandmaster_ramos010ec.htm]};{[fnAfterClassChange11] = [grandmaster_ramos011ha.htm]};{[fnAfterClassChange12] =

[grandmaster_ramos011hb.htm]};{[fnAfterClassChange13] = [grandmaster_ramos011hc.htm]};{[fnAfterClassChange21] =

[grandmaster_ramos011ea.htm]};{[fnAfterClassChange22] = [grandmaster_ramos011eb.htm]};{[fnAfterClassChange23] =

[grandmaster_ramos011ec.htm]}} corpse_time=7


首先[grandmaster_ramos]是對應的NPC名字,遊戲中叫大師拉莫斯,就是為每個騎士專職的那個NPC,{[fnHi]=?????}就是對應智能的參數

在這裡fnHi可以理解為大家第一次和他打招呼,他要做的動作,如這裡要顯示grandmaster_ramos001.htm這個葉面,後面的[fnClassMismatch]都

是一樣的,而對於爲什麽是[fnHi] [fnClassMismatch]等標誌呢?下面我們就要研究script下面的 ai.obj 這個文件

還好 ai.obj 不是加密的,或者16進制文件 用普通文本工具就能打開。
ai.obj這個文件就是定義了所有npc的智能(包括怪物),其中都是面向對象(oo)的方法構造了大量的類 default_npc 這個類是所有類的父

類,其他的類都是這個類的子類,子子類 之類的,對於這些類中的對象,和其他的參數先不做深入研究,我們就介紹繼承關係。


default_npc 這個是最高的類
接著下來是 citizen guard guard_stand warrior等都是default的子類,這裡和NPCDATA裏面的 citizen guard guard_stand

warrior都是一樣的
再接著下來我們找到grandmaster_ramos,這也是一個類,通過多層的繼承關係,但它下面沒有定義其它的方法,找到他的次高級父類就是
guild_master,

找到下面parameter_define_begin 和parameter_define_end中間的參數,就有 fnHi fnClassMismatch 這就是他的方法,npc_ai{}中調

用的也就是這些方法


研究發現,對於NPCDATA中的每一個NPC在 ai.obj中都有定義,對於NPC進行新的AI設定也要在ai.obj中修改,如要實現二轉,要對二轉的

條件進行判斷、執行等等,不過如果要自己完全修改這是一個很龐大的工程,並且要準備足夠的資料

相关新闻
[9-26] 天堂2装备代码
[9-26] 天堂2 无限视野修改方法
[9-26] 天堂2修改种族职业代码
[9-26] 天堂II职业代码的相关资料
[9-26] 天堂2私服技术—如何在AI文件里添加传送到各地
[9-22] ◆新开4章天堂2私服IP,热血天堂五区(巨爽四章(新开)

免责声明:57sf.com登载此文出于传递更多信息之目的,并不意味着57sf.com赞同其观点或证实其描述
 
 Copyright 2004 57sf.com Corporation. All Rights. 奇迹私服版权所有传奇私服 热血江湖私服