##EasyReadMore##

2010年1月29日 星期五

信長12.1c AI版 0.14 (2010年1月29日更新)

.
剛好有空幫 12.1c AI版 作了小修正

此次更新:

1.增加單機呼叫隱英:
   玩家1輸入-t1 -t2 -t3,
   分別呼叫柳生宗嚴 佐佐木小次郎 宮本武藏,
   玩家6輸入-p1 -p2 -p3,
   分別呼叫上泉信岡 佐佐木小次郎 宮本武藏。
2.指令-ok35模式,在單機使用 +5 提升等級,
   造成技能點數扣點太多的 Bug 已修正
3.增加單機指令-100,讓經驗值獲得率最低為 100%
4.計分版多了記憶體漏失的統計

( 近期內會推出信長11.2b版的 AI )

下載地圖:
 [--訊6--]  [Xuite]  [MediaFire]  [Badongo]
--載點請勿轉貼--
.
.

2010年1月27日 星期三

本站留言版

.
點我進入-本站留言版-開始留言
.
請在下方留言:
.

2010年1月25日 星期一

信長之野望14.4C4,AI版0.06,可和電腦對打 (2010年1月25日更新)

.
這張地圖在信長15版未出現之前就已經做好,
只是一直沒有公開,
現在正值寒假期間,
丟圖出來,讓大家體驗一下新的功能。

更新項目如下:

1.使用模組包 造成電腦不動的 Bug,已修正
2.電腦寧寧暫時下架
3.望月千代女 現在不會發呆了
4.計分版多了記憶體漏失的統計
5.電腦英雄的道具欄,空欄現在已經用『烤乳豬』來填滿
   (無法亂丟道具給電腦了)
6.增加了技術評定系統!
7.電腦英雄選擇的玩家位置,變更為亂數選擇!
( 以上這些新功能也會更新到信長S跟信長15的AI版 )


下載地圖:
 [--訊6--]  [Xuite]  [MediaFire]  [Badongo]
--載點請勿轉貼--
.
.
.

寒假期間,重要變更!

.
因為寒假期間,網友要地圖的呼聲極高!
所以出圖速度變成頻繁出圖,
不追求穩定跟大進步的版本,
只求快速推出最新改版進度!
近期內出圖!
謝謝 ^_^
.
.

2010年1月21日 星期四

[教程] 解碼wonder的AI文件

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

我的願望吧,大家交流經驗,共同學習。

我現在看懂了裝備購買合成(關羽專武的還有點沒搞懂),至於施法控制,真的是難啊

有經驗的說下,從那個函數突破?

裝備突破:先瞭解購買參數和命令:舉個例子,玄武的合成:

function U8 takes nothing returns nothing
call K7(1000,'n00R','I000','I02C')
endfunction

function W8 takes nothing returns nothing
call K7(1150,'n003','I00X','I02C')
endfunction

function Y8 takes nothing returns nothing
call T7(1450,'I00X','I000',-1111,'n014','kygh')
endfunction

其中第一個紅色函數控制買力量之斧,括號裡從左到右分別代表:物品價格,物品出售商店代碼,物品代碼,合成物品代碼

第二個綠色函數是控制買鐵劍的,由於調用的都是K7函數,所以後面的參數一樣。

第三個紫色函數控制買製作書,它調用的是T7函數,所以參數和K7不一樣,括號裡分別代表:物品價格,合成物品所需材料代碼,固定代碼(以前是0,現在變成了-1111,不知道他具體作用),物品出售商店代碼,物品代碼。

至於控制英雄購買,是通過判斷AI金錢和裝備情況來實現的,這方面由於可看性太差,調用的函數太多,就不舉例子了

強調下,上面三個函數只是過程函數,控制買裝備要別的函數。用call 來調用函數名。

對於WONDER的AI版本,可以在地圖的J文件和AI文件裡添加和修改,但一旦將其AI文件導入到其他地圖就會發生紅藍消失等BUG,不知道他是改動了什麼。。。

正在努力研究中。。

下面發個控制SM大招的AI函數:我來漢化下,可能有錯誤。大家指正

1:function DZ takes unit HL,integer KY,integer FZ,unit GZ,real OU returns boolean 函數定義部分就不翻譯了。。

2:local player LY=V 定義玩家LY=V.

3:local integer PlayerID=GetPlayerId(LY) 定義一個整數型變量PlayerID=獲得玩家LY的ID

4:local location LQ=null 定義一個位置(點)變量LQ=空

5:local boolean BZ 定義一個真假型變量BZ

6:set LQ=GetUnitLoc(GZ) 設置位置(點)變量LQ=獲得單位GZ(即SM大要對誰放,這個誰就是GZ)位置

7:call SetPlayerAbilityAvailable(LY,KY,true) 調用函數:設置玩家技能可以使用(KY是一個參數,現在還不太明白)

8:set BZ=IssuePointOrderByIdLoc(HL,FZ,LQ) 設值真假變量BZ=在LQ位置(點)處釋放技能

9:call Sleep(OU-.25) 調用SLEEP(休眠)函數,休眠時間為:OU-0.25,單位為秒,意為使AI停止動

10:if not IsUnitInRangeLoc(GZ,LQ,250)then 如果現在單位GZ不在之前獲得的點變量LQ250園範圍內,那麼做下面的動作

11:call IssueImmediateOrderById(HL,851972) 對玩家HL發佈中立命令,命令ID為851972

12:call OL("stop dazhao sima==========================") 調用OL函數,作者在後面括號裡說面了這個函數是幹嘛的:就是S掉SM的大招。

13:call SetPlayerAbilityAvailable(LY,KY,false) 調用函數:設置玩家技能不可以使用

14:call RemoveLocation(LQ) 調用函數:移除LQ點變量

15:set LQ=null 設置LQ=空

16:return false 返回 假

17:endifENDIF (不要翻譯了吧。。)

18:call Sleep(.55) 調用SLEEP函數:休眠0.55秒。

19:call SetPlayerAbilityAvailable(LY,KY,false) 調用函數:設置玩家技能不可以使用

20:call RemoveLocation(LQ) 調用函數:移除LQ點變量

21:set LQ=null 設置LQ=空

22:return(BZ) 返回變量BZ

23:endfunction 函數結束

說面:每行前面的數字和冒號是為了便於我翻譯加的。

其中紅色的OU=2.00(秒)

說明下:由於個人的原因,由於WONDER得AI文件很難以解讀,所以可能本人一段時間內不會修改其AI文件。

下面我來發下WONDER的AI文件裡每個英雄的裝備路線
先發下函數代表哪些裝備

function VWV=購買退魔刀(自動用完買製作書)

function EVV=購買玄武

function EEV=購買衣服

function F8=購買飛鞋

function V9V=購買青囊

function V8V=購買猛德

function V7V=購買孫子

function V6V=購買七星

function V2V=購買月下

function VTV=購買關羽專署

function EXV=購買血斧

function EOV=購買倚天

function ERV=購買大地

function EIV=購買風暴

function EAV=購買變羊

function zs_eguizhui=購買暈錐

function VPV=購買郭嘉專署

下面是裝備函數

function ENV = 諸葛,司馬裝備路線。

function EBV =郭嘉裝備路線

function EDV =曹仁裝備路線

function EFV =趙雲裝備路線

function EGV =張遼裝備路線

function EHV =張飛裝備路線

function EJV =馬岱裝備路線

function EKV =宮本裝備路線

function ELV =關羽裝備路線

function EMV =典韋裝備路線

function EPV =魏延裝備路線

function EQV =大地裝備路線


以下是函數調用時使用的自定義的英雄ID代碼:

BO=關羽
DO=威嚴
RO=諸葛
CO=張飛
AO=趙雲
IO=司馬
HO=典韋
NO=張遼
FO=國家
JO=尋
GO=曹仁
KO=大地
QO=孫權
MO=馬岱
PO=張合
LO=宮本

2010年1月12日 星期二

[HD][中文字幕]StarCraft2 - Battle Report 3: Part1&2

.
[HD][中文字幕]StarCraft2 - Battle Report 3: Part1
.

.
.
[HD][中文字幕]StarCraft2 - Battle Report 3: Part2
.

.

2010年1月11日 星期一

星海2-地圖編輯器,相關影片

.


.
星海2-地圖編輯器
可以製作 FPS 遊戲,
或者橫向射擊遊戲,
目前網路上的小遊戲幾乎都可製作出類似的星海2地圖,
暴雪公司有意吃下所有網路小遊戲的市場!

2010年1月6日 星期三

解釋 WONDER 的 AI 中某些 BUG 的原因




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

1:孫權有時侯賣東西會卡在基地和右邊的炮塔之間:是由於孫傳的碰撞體積為32,(那個地方通道太小。。。)比其他英雄的24要大,事實上3.9D裡麻袋,曹洪,變大的CR,糜竺等碰撞體積都是32。可能是WONDER忘了修正。

2:電腦出裝備的問題:WONDER通過判斷AI玩家的金錢和英雄名字還有裝備情況控制AI買裝備。肯定是先低級很高級,就算輸入—zzdJ等命令,由於沒有另外寫一個響應此命令的買裝備系統,所以還是從低到高,不影響吧,電腦錢多的是。。。。

3:躲限制技能問題:WONDER通過判斷敵方開始限制技能的施法,然後命令被攻擊英雄使用玄武或者飛,可能WONDER設置的等待時間(就是AI文件裡的sleep 後的數值)太小,或者沒有等待時間,就直接使用,當然100%。威嚴都沒T出錘子,只是手一抬對方就飛了或者玄武。。。。

4:發信號無效或者有些英雄不理:WONDER很有可能設定了一個範圍,在這個範圍裡有敵人,英雄就會去搞他。當AI接受了一個判斷命令時,其他命令無效。直到他完成一個命令。這裡涉及到AI得執行問題,我也不太清楚,貌似一個AI玩家可以6個線程(名令貌似,我也不太懂)同時執行。

5:司馬吹人N的成功概率:這個東西可能WONDER大大改了吧,風暴正版3.9D是吹起人5.62秒,經過我研究大約在施法動作(吹人)過後2.2秒左右司馬N成功概率比較高,這個大家要 慢慢研究的。。WONDER可能覺得司馬完美N太J8吊了,而改了時間。

7:宮本那個D技能:這是原版本就有的技能。能無限D是因為原技能作者製作技能觸發時T條件搞錯,導致無限。事實上我去年單機時也發現了,按下D,迅速按S,你能跳,但跳完D沒CD時間,很恐怖吧,你想無敵的話,直接D,S,D,S.......大家可以用0.79玩下宮本,看我說得對不??還有D前頓一下,是技能的觸發設置的問題。無傷害嗎??注意宮本的D不能D魔免的人。不像關羽的D哦。。

8:諸葛卡兵沒司馬犀利:作者是對AI發移動到一系列點的命令來控制司馬,諸葛卡兵,在移動到某一特殊點時 使用SLEEP或者向AI發送保持原位命令。達到卡兵效果。所以隊點位置的選擇還有SLEEP(暫停)的時間就有很嚴格的要求,可能司馬的效果好點,諸葛差點吧。

9:戰線設置問題:WONDER大大應該是通過條件判斷來讓電腦去某路,可能判斷條件限制不夠嚴格和完美導致的吧。

10:飛鞋的問題,飛到某些出不來的區域。同樣是飛鞋使用方式決定的。舉個例子,張飛T,AI控制的司馬反應使用飛,但由於可能是飛鞋使用可能是選定某個點(應該是使用飛鞋AI所在點)一定距離隨機角度使用,這樣就有可能飛到樹林裡。。。。。

個人想說:DOTA的6.54bAI 我玩過,感覺某些方面還不如WONDER大大的AI,塔丟的多的一邊的AI老是不進攻。


討論 AI 路線設置問題,技術員和熱心玩家都看一下

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

那麼

RT

先上函數

在原版0.792AI文件的2000行

function U0 takes nothing returns nothing
if isZhuGeLiang()or isSiMaYi()then
set GN=1
set HN=1
set SA=true
set GG=true
endif
if iszhaoyun()or isdadi()then
set GN=2
set HN=2
set GG=true
endif
if isxun()or isdainwei()or iszhangliao()then
set GN=2
set HN=2
set GG=true
endif
if isguanyu()or iszhangfei()then
set GN=0
set HN=0
set GG=true
endif
if guojia()or iscaoren()then
set GN=0
set HN=0
set GG=true
endif
if or isguanxing()or issuanquan()then
set GG=true
endif

先就看這些

那麼這裡變量「GN"."HN"是代表什麼呢?

我個人猜測其中一個是路線。值0代表上路。1代表中路。2代表下路

還有個"SA","GG". 這2個變量又是什麼意思呢??

可以看到,除了諸葛和司馬那行外,其他的沒有"SA"這個變量

那麼大家大膽來猜測
再繼續看函數的下一半:

if XH or IJ then
if FG==0 or FG==1 then
if CS("zhongehc"+AL(mForceId))==0 then
set GN=1
set HN=1
set NG=6
call BS("zhongehc"+AL(mForceId),1)
set AJ=true
endif
endif
if not AJ then
if CS("shanghc"+AL(mForceId))<2 then
set GN=0
set HN=0
call BS("shanghc"+AL(mForceId),1+CS("shanghc"+AL(mForceId)))
set AJ=true
endif
endif
if not AJ then
if CS("xiahc"+AL(mForceId))<2 then
set GN=2
set HN=2
call BS("xiahc"+AL(mForceId),1+CS("xiahc"+AL(mForceId)))
set AJ=true
endif
endif
if not AJ then
if CS("zhongehc"+AL(mForceId))==0 then
set GN=1
set HN=1
set NG=6
call BS("zhongehc"+AL(mForceId),1)
set AJ=true
endif
endif
endif
if HN==1 then
set SA=true
endif
set PN=HN
endfunction

這裡面的變量確實比較多,也比較搞人。。

"AG"是控制出車的變量

"NG"個人猜測是出車數量。。

大家發揮想像力,結合遊戲實際,看下

PS:set PN=HN  這個貌似是控制切換路線的

1是中路,0 是上路

2010年1月5日 星期二

訪客統計-2009年10月31日到2010年1月4日

.
以下是本部落格的訪客統計
2009年10月31日到2010年1月4日-的資料
.


上面這張圖要點選放大觀看才清楚,是訪客人數的流量圖
基本上來說:星期五六日人數比較多!也就是放假日訪客比較多。
.

上面這張是訪客使用的瀏覽器統計, IE 取得壓倒性勝利
.

上面這張是 IE 版本的統計,本部落格已經不支援 IE 6.0,
但是 IE6 人數上還是壓倒性的取得第二名!
.

上面這張圖說明了訪客的國家,我只提供前四名,
所以其實還有其它地區的訪客沒顯示出來,台灣來訪是多數!
.

上面這張圖是,台灣來訪區域示意圖,圓點大的表示人多!
.

上面這前十名,明顯可以看出三重跟台中訪客就取得壓倒性的一二名,
第三名是高雄,前三名剛好是北中南三區!
.

訪客的作業系統還是壓倒性的使用 XP,真是不變的作業系統,呵呵
.

大部分人螢幕設定都是 32bit
.

上面這張圖顯示了訪客的螢幕解析度,讓我有點不解,
難道很多人都還沒錢更換螢幕!
寬螢幕規格只衝上第三名 1440x900 ...
--------------------------------------------------------------------

最後一項是使用者從哪裡連結過來本站的:
第一名:bbs.kyohk.net         ( 香港著名網站,魔獸內容佔重大部分 )
                kyohk.net
                www1.kyohk.net        34.10%     
第二名: PTT                           22.26%      ( 台灣人數最多的 BBS )
第三名:gamebase.com.tw       16.45%      ( 遊戲基地 )
第四名:gamez.com.tw               8.83%      ( 鐵之狂傲遊戲網 )
第五名:twbbs.net.tw                 6.33%      ( 台灣論壇 )
第六名:tw.garena.com              2.69%      ( GGC )
第七名:google/organic             1.85%      ( 經由 google 找到 )
.

2010年1月1日 星期五

通向DIY AI之路系列教程——如何讓荀判斷BUFF再插蛇


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

貌似很多能寫的內容都被其他人寫了,我就寫一些自己改過的內容吧
判斷BUFF的教程31曾經有寫過,首先要設置一個記錄BUFF的變量,函數內容如下:

function VS takes unit HL returns boolean
return(IsUnitType(HL,UNIT_TYPE_STUNNED))or GetUnitAbilityLevel(HL,'BPSE')>0or GetUnitAbilityLevel(HL,'BUim')>0 or GetUnitAbilityLevel(HL,'B012')>0 or GetUnitAbilityLevel(HL,'B000')>0 or GetUnitAbilityLevel(HL,'Bsta')>0 or GetUnitAbilityLevel(HL,'BUsl')>0
endfunction

其中名為VS的函數是記錄BUFF的變量,HL是持有BUFF的單位。這個函數里應該記錄了所有暈技的BUFF,至於他們的ID對應的BUFF我就不一一列出來了。

那麼,接下來,要讓荀來判斷他要插住的單位是否擁有被擊暈的BUFF。先把0.51荀插蛇的函數發上來,在0.51zhensan.ai的第7444行:

if HeroD!=null  and can_xun_cast_w()  then
set zs_action_prioty_arry[52]=89
endif

這是插蛇的那部分函數,其實上下還有一大段,不過因為我們不研究他們所以我就不複製上來了。這個函數很簡單,當荀能插蛇的時候,設置插蛇的優先級為89。所以最近的AI裡荀一有蛇就會亂空插。
那麼接下來把剛才設置的判斷BUFF的變量用到這個函數里去,就變成:

if HeroD!=null  and can_xun_cast_w() and VS(HeroD) then
set zs_action_prioty_arry[52]=89
endif

加紅字的部分就是後面添加的部分,目的是檢測HeroD身上是否有有有VS所記錄的BUFF,如果有,就設置插蛇的優先級為89,沒有的話則無動作。
.

通向DIY AI之路系列教程——如何實現郭嘉點地板C

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

第一次寫教程,可能還不夠熟練,以後不夠詳細的地方請跟帖指出
function can_guojia_cast_c takes nothing returns boolean
return CanCastAbilityOrder(mHero,'A01F',"impale")
endfunction

這個語句是判斷郭嘉是否可以施放C,mHero指的是郭嘉,'A01F'是技能C的ID,"impale"是技能C的施法命令字符。接下來就是讓郭嘉點人C的語句了:

function guojia_cast_c takes unit target returns nothing
call  CastTargetSkillByOderStr(mHero,'A01F',"impale",target)
call Sleep(0.7)
endfunction

這個語句裡,新變量target郭嘉要C的目標,內容是命令郭嘉C被作為target的單位,Sleep(0.7)是等待0.7秒。為什麼要等待0.7秒呢?因為郭嘉的C需要0.7秒的施放時間,中間發佈其他命令會打斷技能的施放。

看完0.51的函數後,接下來來教大家如何讓郭嘉點地板C

首先第一句的內容和上面的一樣,判斷郭嘉是否能施放C
function can_guojia_cast_c takes nothing returns boolean
return CanCastAbilityOrder(mHero,'A01F',"impale")
endfunction

接來是重點了,設置一個點的變量,變量名為AM。

function loc_guojia_cast_c takes unit u returns nothing
local location AM
set AM=LP(u,mHero,-20)
call guojia_cast_c(AM)
call RemoveLocation(AM)
set AM=null
endfunction

(u,mHero,-20)這句話的意思是,獲取郭嘉指向目標單位的角度,距離為20的點
然後,命令郭嘉往剛剛設置的變量AM那裡點C就可以了,C的函數如下。其中LP是獲取2個單位之間距離的函數,需要自己定義(其實叫什麼名字都可以)

function guojia_cast_c takes location AM returns nothing
call CastTargetSkillByOderStr(mHero,'A01F',"impale",AM,.65)
endfunction

注意下函數的排列順序,要把第二句排在最後,第三句排在中間,為了方便說明才調換了順序,可用函數如下:
function can_guojia_cast_c takes nothing returns boolean
return CanCastAbilityOrder(mHero,'A01F',"impale")
endfunction
function guojia_cast_c takes location AM returns nothing
call CastTargetSkillByOderStr(mHero,'A01F',"impale",AM,.65)
endfunction
function loc_guojia_cast_c takes unit u returns nothing
local location AM
set AM=LP(u,mHero,-20)
call guojia_cast_c(AM)
call RemoveLocation(AM)
set AM=null
endfunction

PS:因為C地板的函數數據是從2.2的AI裡複製的,所以部分函數有加密,可能我忘記還原了,有錯誤請指出!
.

現在個人感覺當時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硬碟MediaFireBadongoSendSpace
※文章可以轉貼嗎?可以,不過要註明出處、標示本站連結。
※載點可以轉貼嗎?不可以,不能盜連。
※建議瀏覽器:Chrome 或 Firefox 或 Opera 或 IE7以上
!請按+1來支持本站!