甲人物若要使用乙人物的動作, 目前都是靠剪貼乙人物的mot文件(_A1Gxxx)至甲人物的atk?mot包(BPK0xxx)內來實現.
現已知atk?mot包的頭部包含其內mot的索引表, 故我嘗試透過改索引表的方式讓甲人物的某動作索引指向乙人物的mot文件.
如圖, 圖一是趙雲的atk2mot部分(所有人的atk2前五個索引都是空的), 我把第五個索引(atk2-4, 原空)指向關羽atk2的第六個動作(atk2-5, 藍字部分)
圖二是關羽atk2第六動作的mot文件地址. 索引計算方法為, 乙的_A1g減去甲的bpk0首地址.
保存後試運行並調用趙雲的atk2-4, 發現馬上跳出. 這時我把idx中趙雲mov的長度標誌(08h至0Bh)改成FF FF FF(圖三藍字),
後再進入測試, 這次居然調用成功了, 也就是說實現了在不改動mot本體的情況下讓甲調用乙的動作.
這方法缺點是只能向後取用, 如何讓索引地址呈負數我就不知道了. 對於取用前方人物的mot, 應可把該前方人物的某mot(_a1g)調至bin文件尾, idx中長度標誌改為FF FF FF FF(應該夠長)再改指向調用..(測試失敗, idx的文件長度標ms在第四位有限制....

)
[
本帖最后由 ζαδιων 于 2007-9-10 19:52 编辑 ]