##EasyReadMore##

2010年1月1日 星期五

現在個人感覺當時wonder是為了讓AI文件適應藍寶石或偽三之類的地圖而做出的調整


.
,偶然反而達到了加密的效果了。

原文網址:http://bbs.wow8.org/thread-118737-1-1.html

我馬上看了下0.792的文件,關鍵在下面:
第12894行(wonder原版)開始
set TF[0]=AX
set UF[0]='I005'
set TF[1]=NX
set UF[1]='I00A'
set TF[2]='sneg'
set UF[2]='I00N'
set TF[3]=RX
set UF[3]='I00R'
set TF[4]='pclr'
set UF[4]='I01G'
set TF[5]='hslv'
set UF[5]='I01V'

目前我憑感覺認為只要把'I005'替換為AX,下面的以此類推,應該就解決問題了。
可能還會有錯,以後再看看,大家先試試吧。

但還有另一個方法,就是重新破解0.792這整張圖。
目前我還在破解,稍後會將成果傳上。
我以前沒想過破解,因為我沒想到wonder連物品都要改。

今晚連夜破解地圖,已經成功破解!
目前尚未發現問題,AI文件無需改變。
關於此破解地圖有以下幾個問題因為時間關係未解決(請自行解決):
1.部分繁體未簡體化
2.-h指令未加入

由於時間關係,個人難免出錯,有重大問題請短消息我。


沒錯,雖然我沒試過,但應該就是那樣了。

我查過物品ID,原來的風杖ID為sneg,我們玩家買的也是sneg,而AI玩家買的卻是I00N,I00N為wonder修改創建的新風杖,我們導入的地圖沒有,故會消失。

所以這裡要把I00N換為sneg,I005換為AX,依次類推。在AI文件裡仔細找找。
.

最早期wonder的AI圖與原版3.9D的war3map.j對比


.
原文網址:http://bbs.wow8.org/thread-114538-1-1.html

地圖下載http://bbs.wow8.org/viewthread.php?tid=63285&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D51

選擇最後一張圖,就是中法AI版,去年wonder發佈的。

什麼是war3map.j?

通俗點講,就是地圖運行腳本。但我不喜歡這麼講,war3map.j就是war3map.j.
是地圖能夠運行於warIII的核心文件。裡面包含了各種自定義技能的設計,地圖上
各個單位的放置坐標等等。

怎麼導出一張地圖的war3map.j?

看我這個帖子裡的工具http://bbs.wow8.org/thread-114372-1-1.html

現在我們開始拿出wonder的圖和平時玩的真三圖3.9D,分別導出裡面的war3map.j.
這時可以證明點東西。

用Jass Shop打開這2個文件。
首先是globals.............endglobals
我們輕易的發現2張圖從代碼1-334居然完全相同,若wonder是在解密圖上製作再添加AI的話,變量聲明部分也絕不可能相同,基本已經肯定wonder直接在原圖上開火了。

接著看335,wonder圖:trigger gg_trg_showHeroLoc=null
開始出現不同點了

發現wonder的多了4個觸發。

好,直奔主題,因為發現其他部分跟原圖完全相同。
 
就這4個。
還有的不同點在第929,5901行


gg_trg_BlockUseItem
這是個阻止使用物品的觸發,你用任何血藥或者可使用的物品都會被停止。
看call IssueImmediateOrder(GetOrderedUnit(),"stop")就是停止的意思。
而GetIssuedOrderId()>=852008 and GetIssuedOrderId()<=852013這裡
的852008指的是使用物品欄1,852013指使用物品欄6.

gg_trg_BlockUseAbility
阻止使用技能,觸發事件是EVENT_PLAYER_UNIT_SPELL_CAST,就是施放一種
技能的時候。

gg_trg_BlockUseAbility2
阻止使用一種持續性技能,觸發事件是EVENT_PLAYER_UNIT_SPELL_CHANNEL

gg_trg_showHeroLoc
看關鍵部分,代碼492,function zsMeleeStartAI
意思是當玩家是玩家1到玩家11這間(除外玩家6,其實就是魏國的位置)的電腦控制時,
運行下面這條關鍵的代碼
call StartCampaignAI(indexPlayer,"zhensan.ai")
轉到552
call zsMeleeStartAI()
再轉到5901
call InitTrig_showHeroLoc()
注意,因為5901在main函數里面的,所以AI腳本得以運行。

屬性技能加點的是在common.ai裡面,而不是zhensan.ai

 call BuyHero('n001',hid_zhugeliang)  //suguo
       call BuyHero('n001',hid_zhaoyun)  //suguo
      
       call BuyHero('n001',hid_guanyu)  //suguo
       call BuyHero('n001',hid_zhangfei)  //suguo
//       call BuyHero('n001',hid_weiyan)  //suguo

       call BuyHero('n000',hid_simayi)   //weiguo
       call BuyHero('n000',hid_zhangliao)   //weiguo
       call BuyHero('n000',hid_dianwei)   //weiguo

       call BuyHero('n000',hid_guojia)   //weiguo
//       call BuyHero('n000',hid_caoren)   //weiguo

//       call BuyHero('n00Y',hid_xun)   //weiguo

 zhensan.ai代碼竟有13000多行!!!我用HWM打開其它的真三AI圖,比如0.72,0.76,
裡面怎麼都沒有ai文件啊?樓主不知道是怎麼提取的?

因為你沒有用我提供的工具,我的工具裡面的列表文件加入了真三地圖的列表。
真三0.792地圖296個文件列表
.

大家好,想瞭解wonder的AI圖可以看一下

.
原文網址:http://bbs.wow8.org/thread-114177-1-2.html

因為破解過3.9D,對於wonder的AI版也比較感興趣。
做了些研究。
AI圖有3個文件必備:
路徑如下
Scripts\common.ai     這個是戰役AI文件  必不可少的文件
Scripts\war3map.j      這個是地圖觸發
Scripts\zhensan.ai      這個是核心文件     移植的主要文件

至於地圖裡其他文件,均來自原3.9D,並加以優化軟件優化得出。
因此,修改這3個文件,就可以製作新的AI,當然別忘了導回去。

因為AI圖war3map.j 這個文件經過wc3mapoptimizer優化過代碼,不太容易閱讀。
但只要仔細對比原3.9D裡提取出來的war3map.j這個文件,也是可以搞定的。
common.ai這個文件在0.792版本裡已經變為2kb左右大小,裡面只剩下幾個native
函數,已經不需要再多更改了。
所以製作更為完善的AI只需要看懂後面2個文件,但光這個環節已經相當困難。
.
※怎麼下載?Xuite硬碟 , MediaFire , Badongo,SendSpace
※文章可以轉貼嗎?可以,不過要註明出處、標示本站連結。
※載點可以轉貼嗎?不可以,不能盜連。
※建議瀏覽器:Chrome 或 Firefox 或 Opera 或 IE7以上
!請按+1來支持本站!