看到很多人都喜欢修改,这里提供一些经验供大家参考,未必全对,有待高手的全面分析
首先提供软件
hpiviewer提供简单的文件查看和导出功能
而hpipack则提供将导出来的一堆文件压缩成一个文件的功能
hpimanager提供最为完善的查看和修改功能,他可以不仅查看单位的图片和数据还能看3D模型,而且他还能进行修改,是功能最完善的工具
TAUnitviewer则是一个将单位的各种数据裂成表以方便查看的工具,另外他还能进行单位数据修改
总结:
hpiviewer和hpipack主要用于大规模的MOD制作,它可以让你在windows环境下方便地进行各种修改
而hpimanager有最完整的功能
TAUnitviewer则可以很方便地查看和比较单位数据
hpimanager
TAUnitviewer
第一次用HPIManager前先运行一次里面的command.exe,然后就可以了
要用HPIManager修改,先要激活修改功能,如上图
修改完记得保存,直接关闭是不保存的,保存点save modified hpi
要用好HPIManager,可能要设置下
点击图片放大
scriptor是用来修改模型脚本(COB格式)文件的,LazyScripter则是用来写COB文件的主要骨架。
annihilator是用来做对战地图的,要安装,但只有它是做不了的,你还要到FU去下载一些Tilesets,Tilesets文件放到annihilator目录就可以了
http://www.fileuniverse.com/?p=show&a=cat&id=70
最后两个文件可能有些人会用到,如果你运行HPIManager提示这两个文件有问题,将它解压出来放在HPIManager文件夹里即可。
[ 本帖最后由 Defiler 于 2008-6-15 18:44 编辑 ]
hpiview1[1].9.1.zip (88.1 KB)
hpipack1[1].7.zip (46 KB)
HPI Manager.zip (1.8 MB)
TaunitViewer.zip (232 KB)
Scriptor_v1.zip (310 KB)
LazyScripter1.zip (147 KB)
anni15.zip (2.53 MB)
单位参数不完全翻译.zip (18.8 KB)
COMDLG32.rar (55.9 KB)
MSCOMCTL.rar (426 KB)
讲解一下数据文件
用HPI Manager打开猫版数据文件acdata.acc就会出现以上的目录
不过HPI Manager默认是不能打开.acc这种扩展名的,那要怎么打开呢?可以先将文件扩展名改为.gp3再打开,也可以在打开到目录的情况下直接输入acdata.acc,打开一次后,以后只要打开到目录下再按a下拉列表就会出现以a为头的文件,选择在打开即可。
DOWNLOAD——指定单位在那个菜单那个按钮建造
Objects3D——单位的3D模型文件,包括尸体文件
Scripts——脚本文件,3d模型动作的描述文件
sounds——声音
unitpics——单位图片
units——单位数据
weapons——武器数据
ai——单位人工智能文件
anims——动画,指一些动态图片
除图片文件(PCX格式),模型文件(3DO格式),声音文件(WAV格式),脚本文件(COB格式),动画文件(GAF格式)外,其他格式的文件导出后都可以用记事本打开修改。
[ 本帖最后由 Defiler 于 2008-5-1 19:52 编辑 ]
unit文件讲解
主要名词解析:
unitnumber:单位序号
unitName:单位名称(用于系统识别的名称)
Name:名称(相当于昵称、外号,方便玩家识别,不同的单位也可以用同一个外号)
Side:阵营(也就是种族)
ObjectName:3D模型文件名
Corpse:尸体
BuildCostEnergy:建造花费能源
BuildCostMetal:建造花费金属(也就是造价)
BuildTime:建造时间(建造这个单位要花的时间)
worktime:工时(理解为建造出力,也就是建造速度,越大越快,只有工程单位有这个数据
单位的建造实际时间 = 建造时间 / 参与建造的单位的工时总和
energymake:能量生产力
metalmake:金属生产力(一些单位有一定的生产力,所以即使所有的生产设备都没有,只要有工程兵,也能继续建造。)
energystorage:能源储备能力
metalstorage:金属储备能力
builddistance:建造距离(工程单位能站在多远进行建造)
Buildangle:建造角度(使造出来的建筑物有一定的偏向,会使一整排的建筑显得不整齐)
MaxDamage:最大伤害(这个是应该是单位能承受的最大伤害,即生命值)
foopinX,footpinZ:单位占地面积,就是那个选中的方框的面积。
SightDistance:视野
raderDistance:雷达范围
raderDistanceJam:雷达干扰范围
maxVelocity:最大速度
BrakeRate:制动效率(指刹车效率,也就是减速度)
Acceleration:加速度
TurnRate:转向速率
MovementClass:移动类型
MaxWaterDepth:最大下水深度(单位能下多深水,某些陆上单位似乎可以在浅水工作)
MinWaterDepth:最小下水深度(水上单位能在多浅的水域活动,浅过这个就去不了)
MaxSlope:最大坡度(决定单位能爬上的斜坡的最大坡度)
Maneuverleashlength:机动脱离距离
weapon1,2,3:武器种类123(每单位可最多有三种,不是三个武器)
TedClass:类型(指单位属于机器人,飞机,气垫。。。中的那一类)
DamageModifier:伤害改性剂(百分比)
AntiWeapons:反武器
TransportSize:运输体积
TransportMaxUnits:最大可运输单位(指运输机能运的最大单位)
TransMaxUnits:
ImmuneToparalyzer:对麻痹免疫
HideDamage:隐藏伤害
HealTime:恢复时间(自动恢复,好像只有司令有这种能力,27秒)
Mincloakdistance:最小隐形有效距离(小于这个距离即使隐形也会被看到)
ClockCostMoving:隐形移动中的能源消耗
ClockCost:不移动时的隐形消耗
Stealth:隐身
Kamikaze:是否敢死队
AttackRunLength:攻击游程
Mobilestandorders:有无移动和原地转换开关
CanFly:能否飞行
Cruisealt:
weapons文件讲解
武器分成以下三种类型:
1 。弹道型-武器的发射方式是根据重力计算抛物线轨迹(例如加农炮)
2 。直线型 -武器的发射方式是在一条直线,重力不会影响轨道
3 。下降型-利用重力直接从空中掉下来的武器,例如轰炸机投的炸弹。
武器主要名词解析:
ballistic:是否弹道武器
beamweapon:是否直线光束武器(例如激光)
lineofsight:是否直线武器
dropped:是否下降型武器
commandfire:是否每次发射都要由玩家手动控制
Range:射程,按像素计算(这个是参考值,敌人进入这个范围就开炮)
ReloadTime:再装弹时间(也就是攻击间隔)
Aera of effect:作用范围(就是伤害半径)
Edge effectiveness :边缘效力(指外围伤害与中心伤害的百分比)
Default:默认伤害,
energy:发射需要的能量支持,当前能量低于这个就不准发射
energy per shoot: 每打一枪消耗多少能量,能量不足不能发射
metal per shoot :每发一枪消耗金属,
energy,metal:这两个为地雷之类的消耗
weapontimer:武器计时器(弹道武器用,炮弹持续飞行的时间,用秒为单位,也支持浮点运算,大概是这样:L吧,实际效果不明 )
accuracy:打击精度
tolerance:(瞄准宽容度,指瞄准移动敌人时允许不完全正对敌人就开火的宽限度 )
aimrate:(炮台的转向速率
minbarrelangle:最低炮管上仰角度(用于弹道武器的抛物线轨道运算,影响射程的关键因素之一)
weaponVelocity:武器最大速度,单位是像素每秒
weaponacceleration:武器加速度(速度和加速度是影响射程的主要因素,要改射程一般改这两个)
startvelocity:出射速度,如果不填,则武器从0开始加速(又是一个影响射程的参数)
turnrate:转向速率(追踪导弹转弯的速度)
Guidance:(应为导弹的追踪)
Tracks:当指定武器将追踪一个移动的目标后,武器的转换的时间
turret:武器是否依存于炮台,这样武器的转向就受炮台的限制
Firestarter:引起火灾的几率,用百分比表示
Unitsonly:
burstrate:表示一次发射多发弹体的频率。
sprayangle:喷射角(应该是炮弹的出射角)
randomdecay:随机衰变:L(爆裂性武器在飞行轨道末端产生随机衰变的最大时间)
Groundbounce:武器击中地面后不会爆炸,而是弹起
selfprop:武器是否使用自己的推进器飞行
Twophase:二阶段武器,例如垂直发射导弹射到空中后转为水平方向)
flighttime:第二阶段飞行时间,用于二阶段武器
Weapontype2:武器类型2
waterweapon:水下武器
burnblow:炮弹到达射程终点后会自动爆炸(防空炮的效果)
toairweapon:对空武器
Vlaunch
stockpile:储存
targetable:目标可能(指可被拦截,专门用于核弹之类)
cruise:邮轮?
Shakemangnitude:引起地震
shakeduration:引起地震多长时间
Coverrange:覆盖范围
paralyzer:麻痹使目标不能移动
Color 一般用来定义激光的颜色
color2 激光颜色2
Smoketrail 武器是否有尾烟
Smokedelay:烟雾延时
StarSmoke:开始烟雾
endSmoke:结束烟雾
rendertype:炮弹的系统类型,只是2D还是3D
beamweapon:集束式武器
noautorange:不自动引爆范围(用于重型导弹)
noexplode:武器影响到目标时不发生爆炸(未明用途)
noradar:是否具有雷达效果(应该是在雷达上会否显示炮弹)
pitchtolerance:pitch宽容度(未明用途)
propeller:如果这个炮弹有螺旋桨的话,让这个螺旋桨在炮弹飞行过程中旋转
shakeduration:武器什么时候引起地震,持续多久
shakemagnitude:武器什么时候引起地震,有多强烈
soundhit:武器引爆时的声音
soundstart:开炮时的声音
soundtrigger:brust模式的武器在爆开时发这个声音
soundwater:武器撞到水时产生的声音
sprayangle:brust型武器使用,到目标间的直线的最大偏差
stockpile
targetable
unitsonly:武器是否只对敌人有效
vlaunch :武器是否垂直发射
waterexplosionart:爆炸效果在那个GAF文件里
waterexplosiongaf:爆炸效果是GAF文件中的具体那一幅图片
waterweapon:炮弹是否在水中前进
weaponacceleration :Expressed in pixels/second/second(未知意义)
weapontype2 :第二阶段武器,用于双阶段武器的第二阶段
上面的射程只是提供单位和玩家参考的值,总的说武器的射程由出射角,重力,风力及风向,出射速度等因素综合决定。
[ 本帖最后由 Defiler 于 2008-5-29 18:13 编辑 ]
简单讲一下下载回来的单位怎样用
http://www.unituniverse.com/
UU上有近4000个玩家自制单位可供下载,你可以挑选自己喜欢的单位
下载回来的单位解压出来是.ufo格式,如果玩原版,只要将单位直接放TA目录下就能制造,不过单位太多了,会出现建造菜单冲突的问题,所以这里讲一下怎样改建造菜单
UU提供了单位的信息就包含改单位可在那里建造,如图将鼠标放到建筑图片上就可见菜单,
图中这个单位在CORGANT菜单第二页,第5个按钮,CORGANT就是这个工厂的单位名称,建造菜单的名字跟工厂名字是一致的。
如果冲突就要改了,改菜单还是很容易的
可以用HPIManager,也可以用TAUnitViewer,不过TAUnitViewer有时候会有点问题,所以不行时就用HPIManager吧。
修改的是DOWNLOAD这一项
形式如下
[MENUENTRY1]第一建造菜单,如果想另一个工厂也可以建造这个单位,可另起一个[MENUENTRY2]第二建造菜单
{
UNITMENU=CHKBC; 菜单名,你想那个工厂制造它就在=号后填那个工厂的单位名称
MENU=2; 菜单页,这里指第3页,基本所有单位菜单都从第3页开始,没见过0页和1页,不知为何
BUTTON=1; 按钮,这里指第二个按钮
UNITNAME=VOLC; 单位名称,就是你下载的单位名称
}
一般先在游戏中看看那里有空位,再改就可以了,如果嫌麻烦,改到菜单7,8页好了,基本不会冲突了,不要改得太离谱,否则翻页会累坏的。
有些人会问为什么电脑可以造micro(一个提供大量资源的作弊单位), 而玩家不能?
很简单,Micro的建造菜单不在玩家可以点击到的地方,电脑造东西是不用点击菜单的,只要菜单中有就可以造,而玩家点不到那里所以就造不了。这样大家知道怎样改可以造micro了吧:lol。
如果你想在原子版或猫版中使用下载回来的单位,有两个方法,一是改扩展名为.ccx,直接放到TA目录里,不过这样容易影响到其他MOD;二是把原子版或猫版的文件全释放出来,将下载回来的单位的文件也释放出来,对照不同文件夹放好各种文件,再重新压缩回一个文件,最后别忘记将文件名改好,否则猫版和原子版的执行程序都是不认的,游戏就会出现变回英文版的情况。下载回来的地图也一样。
[ 本帖最后由 Defiler 于 2008-5-1 20:36 编辑 ]
我上次从TAU那里找来了很详细的TA修改教程,唯一的缺点是。。。英文版。。。
教程涵括了各种文件格式的编写方法,貌似COB脚本的教程也有,我不太记得了。
教程在附件中
TADesignGuide.zip (581 KB)
:lol :lol 绝对好贴 顶起来!:lol :lol
:L Defiler…你的那些参数有不少貌似不太对。。。
比如burnblow的解释,其实是firestarter。。。burnblow意思是,炮弹到达射程后会自动爆炸(防空炮的效果)。
还有,smoketrail才是武器是否有尾烟,tracks是武器经过转换后是否跟踪。
burstrate表示一次发射多发弹体的频率。
burstrate和sprayangle仅对有burst的武器有效。
aimrate其实就是炮台的转速。
targetable对于核弹这些来说,表示可以被拦截。
energy 和 metal (可能)是发射这个武器的资源前提(但并不消耗它们)。
Maneuverleashlength是机动脱离距离。。。居然被说成是。。。Menu。。。菜单。。。
等等。。。
[ 本帖最后由 honeyfox 于 2008-5-1 19:29 编辑 ]
你继续找错吧,我慢慢改,我全是望文生义,没有测试过
:Q 要累死我啊。。。
不过也算做贡献吧。。。:loveliness:
另外,你说的MENU从来没见过第0 和第1页,那是因为,TA原版里用了另外的GUI来集中定义某页菜单里包含什么东西,而不是像单独的ufo文件定义自己在第几页第几个格子;用掉的前两页其实也就是原版TA的那些单位建筑。。。
无论如何,请Defiler下载那个TADesignGuide参考一下吧。。。虽然那个里面也有些不太对。。。但是总比望文生义好多了。
我已经有了,我下载了7,8个教程,都是英文,没时间看完啊
我下载了两本大概是当年的TA教程,里面有大部分原版单位的详细资料,还有关卡攻略,PDF格式,一本黑白一本半彩色。
[ 本帖最后由 Defiler 于 2008-5-1 20:27 编辑 ]
Defiler,谢谢您提供这么好的软件:handshake ,我在网上只查到HPI viewer和hpipack,修改不了,您提供的hpimanager软件很不错,我已经正确的修改了游戏参数,终于把原子版的各个任务给完成了。
原子版的任务很难啊,有个任务叫face to face(难道是“面对面”?)我在没修改的情况下完成了第一小关和第四小关,这两关用了我15个小时,打的累死了:L (不过第一小关有个特别的情况,就是司令造的声纳探测,电脑竟然不打它,呵呵,很奇怪),也特别紧张:Q ,我修改了以后就轻松了:lol ,终于看飞机出机厂时,像吹泡泡一样了,建造的飞快,呵呵,很爽!:victory:
你玩的都是原版提供的任务,只不过是用原子版在玩,原子版并没有提供任务。
橫掃千軍檔案格式說明
通常Ta的資料檔案都是打包存放的,這些包包括:hpi,ccx,gp3,ufo
他們在載入遊戲時優先順序為 hpi-ufo-ccx-gp3-未壓縮目錄檔案 其中後面的檔案內容會覆蓋前面的檔案
可以用hpidump,hpipack,hpiview 開啟這些包檔案
Hpidump經常用法為: hpidump 包名 解壓的目錄
至於hpipack,hpiview,是windows程式,一目瞭然,自己看看就明白了
當我們把包解開時可能會看到這些目錄,他們的作用如下
Ai 定義各種電腦ai
Anims 各種部隊的行動動畫
Bitmaps 遊戲中各種圖片如arm,core標誌,按鈕等存放於此
Bitmaps-French 圖片的法語版
Bitmaps-Germen 圖片的德語版
Bitmaps-Italian 圖片的意大利版
Bitmaps-Spanish 圖片的西班牙版
Camps 戰役說明
Download 建造選單的位置設定
Features 戰場上出現的3d物件
Fonts 字體檔案
Maps 地圖檔案
Gamedate 大雜燴,裡面有許多重要東西,以後慢慢講解
Guis 介面相關,如各種建造選單,指令選單
Object3d 所有東西的3d模型
Palett 貼圖檔案
srcipt 腳本檔案,類似c語言,定義各種部隊動作
Sound 音效檔案
Texture 材質貼圖如部隊身上的標誌
Unitpics 建造選單裡的圖片
Unites 各種部隊特性的定義(大小,速度,武器等)
Weapons 武器特性定義(射程,速度,等)
一個包裡面通常不一定包含上述所有目錄。例如第三方的地圖檔案,裡面可能只有一個maps目錄。關於這些目錄裡面的每個檔案的格式和用法,將在以後的留言裡詳細講解。
解開ta資料檔案,進入unites目錄,可以看到許多附加為fbi的檔案,這些就是定義unite內容的檔案。用編輯器開啟後可以看到許多等式。現已k為例說明其中的一些重要作用:
檔案名稱:corkorg.fbi
[UNITINFO]
{
UnitName=CORKROG; ------------單位名稱
Version=1.2; ------------版本
Side=CORE; ------------陣營
Objectname=CORKROG; ------------內部名稱
Designation=ARM-KL; ------------遊戲中名稱
Name=Krogoth;
Desrciption=Experimental Kbot; ------------說明
FootprintX=3; ------------
FootprintZ=3; ------------佔地面積
BuildCostEnergy=116664; ------------建造所需資源
BuildCostMetal=29489; ------------建造所需金屬
MaxDamage=29918;---------------最大可承受伤害(也就是生命值)
MaxWaterDepth=12; ------------能夠下水的深度
MaxSlope=17; ------------
EnergyUse=1.1; ------------平時耗費能量
BuildTime=382193; ------------建造時間
WorkerTime=0;------------------工作速度(工程部隊使用
BMcode=1;
Builder=0; ------------能否建造
ThreeD=1; ------------是否為3d物件
ZBuffer=1;
NoAutoFire=0; ------------是否自動開火
SightDistance=255; ------------視野範圍
RadarDistance=0; ------------雷達範圍
SoundCategory=KROGOTH; ------------使用的聲音套組(以後詳細說明)
EnergyStorage=0; ------------能源儲備量------------
MetalStorage=0; ------------金屬儲備量
ExplodeAs=NUCLEAR_MISSILE; ------------爆炸調用的武器
SelfDestructAs=NUCLEAR_MISSILE; ------------自爆調用的武器
Category=CORE KBOT LEVEL2 WEAPON NOTAIR NOTSUB CTRL_W; -------群組
TEDClass=KBOT; ------------類型
Copyright=Copyright 1997 Humongous Entertainment. All rights reserved.;
Corpse=corkrog_dead; ------------屍體
GermanName=Krogoth;
GermanDesrciption=Experimental-Kbot;
UnitNumber=231; ------------id
FrenchName=Krogoth;
Frenchdesrciption=Kbot Exp閞imental;
firestandorders=1;
StandingFireOrder=2;
mobilestandorders=1;
StandingMoveOrder=1; ------------預設的開火模式
canmove=1; ------------能否移動
canpatrol=1; ------------能否巡邏
canstop=1; ------------能否停止
SpanishName=Krogoth;
SpanishDesrciption=Kbot experimental;
ItalianName=Krogoth;
ItalianDesrciption=Kbot sperimentale;
canguard=1; ------------能否守衛
MaxVelocity=1; ------------最高速度
BrakeRate=0.19; ------------制動速度
Acceleration=0.09; ------------加速度
TurnRate=960; ------------轉彎速度
SteeringMode=2; ------------剎車方式
ShootMe=1;
EnergyMake=1.1; ------------產出能量
DefaultMissionType=Standby;
maneuverleashlength=640; ------------使用maneuver的移動範圍
MovementClass=TANKSH3; ------------ 移動方式
Upright=1; -----------是否站立
canattack=1; -----------能否攻擊
Weapon1=CORKROG_FIRE; -----------一號武器
downloadable=1;
NoChaseCategory=VTOL;
Weapon2=CORKROG_HEAD; -----------二號武器
Weapon3=CORKROG_ROCKET; -----------三號武器
cantbetransported=1; -----------能否被運輸
用hpiview開啟ta資料檔案,進入download目錄,可以看到很多tdf檔案,這就是建造選單的設定檔案。
tdf檔案必須和unite內部名稱相同,部分單位名稱可參考前一貼。
現以armckfus.tdf(Cloakable Fusion Reactor arm隱形核電站)為例說明它的作用和修改方法。
用寫字板開啟armckfus.tdf,可以看到如下資料
[MENUENTRY1]
{
UNITMENU=ARMACK;
MENU=4;
BUTTON=0;
UNITNAME=ARMCKFUS;
}
[MENUENTRY2]
{
UNITMENU=ARMACV;
MENU=4;
BUTTON=0;
UNITNAME=ARMCKFUS;
}
[MENUENTRY3]
{
UNITMENU=ARMACA;
MENU=4;
BUTTON=0;
UNITNAME=ARMCKFUS;
}
每個MENUENTRY定義一個選單:
unitmenu-----所在建造選單的單位,即誰能建造
menu -----在選單第幾頁,從2-8,注意1是系統保留,不能用。MENU=4實際表示第三頁
BUTTON -----從上往下,從左往右第幾個按鈕 從0-5 共六個。
unitname-----調用的按鈕圖片名,一般保持和單位名一至。圖片存放在pic目錄中,與download同級
從以上檔案可以得知arm隱形核電站的可以被armack,armacv,armaca(arm 進階工程機器人,車,飛機)建造,位置位於建造選單第三頁,第一個按鈕
測試與修改:
現在該檔案最後加上
[MENUENTRY4]
{
UNITMENU=ARMcom; //arm commander
MENU=8;
BUTTON=1;
UNITNAME=ARMCKFUS;
}
儲存後,重新打包,放入ta目錄。執行遊戲,發現commmander可以建造核電了,在選單最後一頁,第二個按鈕。
有一些單位(特別是官方單位),在download的目錄裡找不到定義檔案,那麼他們的選單是如何定義的?
這些選單是直接寫在gui腳本中,進入gui目錄,可以看到許多檔案,使用這些檔案不但可以定義建造選單,其它如攻擊,巡邏,開關等各種選單都在這兒定義。利用這些gui檔案可以在螢幕任意地方顯示各種組件,按鈕,圖片,比如線上時出現在上方的盟友資源情況。不過gui腳本非常複雜,不是這次討論的範圍,會在以後慢慢再講。
顯而易見的道理:選單定義不能衝突,否則進入遊戲時,會造成某些單位無法建造,或發生錯誤離開。其中最易犯的錯誤就是download裡的選單和原先gui中定義的有衝突,建議初學者調整時避開那些gui選單。
[ 本帖最后由 Defiler 于 2008-5-27 19:03 编辑 ]