|
楼主 |
发表于 2008-5-19 10:00:41
|
显示全部楼层
15.0) "war3map.w3c" The camera file
Header:
int: 文件版本 = 0
int: 镜头定义结构的系数n
镜头定义结构:
float: 目标 X
float: 目标 Y
float: 偏移 Z
float: 旋转 (角度)
float: 攻角 (AoA) (角度)
float: 距离
float: 滚动
float: 视野 (FoV) (角度)
float: 远剪切面 (FarZ)
float: ??? (通常为100)
String: 镜头名称
16) "war3map.w3r" The triggers regions file
Header:
int: 版本 = 5
int: 区域定义结构*的系数n
数据:
共有n个单个区域定义结构*
*区域定义结构:
float: 左 (jass坐标)
float: 右 (jass坐标)
float: 下 (jass坐标)
float: 上 (jass坐标)
String: 区域名称
int: 区域索引 (创建号码)
char[4]:天气效果 ID (例如: "RLlr"代表"Rain Lordaeron Light Rain")
假如char[4]中都为0, 代表无天气效果.
String: 环境音效(音效ID在w3s文件中定义,例如
"gg_snd_HumanGlueScreenLoop1")
bytes[3]: 区域颜色 (用在WE中) (BB GG RR)
byte: 结构结束
17) "war3map.w3s" The sounds definition file
Header:
int: 文件格式版本 = 1
int: 声音定义的系数n
数据:
共有n个单个声音定义结构*
*声音定义结构:
String: 声音ID (比如"gg_snd_HumanGlueScreenLoop1")
String: 声音文件(比如 "Sound\\Ambient\\HumanGlueScreenLoop1.wav")
String: EAX效果(比如"DefaultEAXON")
DefaultEAXON=缺省
CombatSoundsEAX=战斗
KotoDrumsEAX=鼓
SpellsEAX=咒语
MissilesEAX=飞行物
HeroAcksEAX=英雄说话
DoodadsEAX=装饰物
int: 声音标记
0x00000001=循环
0x00000002=3D音效
0x00000004=范围外停止
0x00000008=音乐
0x00000010=
int: 逐渐淡出
int: 立即淡出
int: 音量 (-1=缺省值)
float: 声音相对高低
float: ???
int: ??? (-1或8)
int: channel:
0=普通
1=单位选择
2=单位确认
3=单位移动
4=单位准备
5=战斗
6=错误
7=音乐
8=用户界面
9=循环运动
10=循环环境
11=动画
12=建筑物
13=出生
14=射击
float: 最小距离
float: 最大距离
float: 距离界限
float: ???
float: ???
int: ??? (-1或127)
float: ???
float: ???
float: ???
注意:
Float值可以设置,也可以不设置(缺省值)。
当不设置float时, 该值为[4F800000]h = 4.2949673e+009.
18) "war3map.wct" The custom text trigger file
int: 文件版本(0)
int: 触发的系数n
共有n个单个自定义文本触发结构*
注意: 自定义文本触发结构的定义和WTG中的触发使用同样的要求。
即使没有被转换为自定义文本触发,每个触发都必须含有其自定义文本部分;
假如这样,自定义文本大小设置为 0 (只有4字节来设置大小).
*自定义文本触发结构:
int: 文本大小 s (包括空终止符)
String: 自定义文本触发器字符串(包含了s个字符,其中也包括了空终止符)
NEW "Frozen Throne expansion pack beta" format :
int: 文件版本: 1
String: 自定义脚本代码注解
只有一个自定义文本触发结构*
int: 触发的系数n
共有n个单个自定义文本触发结构*
注意: 自定义文本触发结构的定义和WTG中的触发使用同样的要求。
即使没有被转换为自定义文本触发,每个触发都必须含有其自定义文本部分;
假如这样,自定义文本大小设置为 0 (只有4字节来设置大小).
*自定义文本触发结构:
int: 文本大小 s (包含空终止符)
String: 自定义文本触发字符串(包含了s个字符,其中也包括了空终止符)
19) "war3map.imp" The imported file list
Header:
int: 文件格式版本
int: 导入文件的系数n
数据:
1byte: 路径是否完整,或者需要添加 "war3mapImported\\" (5 or 8= 标准路径, 10 or 13: 自定义路径)
String["n"]: 每个w3m中的导入文件的路径(比如"war3mapImported\\mysound.wav")
注意: 添加任何文件到W3M中,路径必须以"war3mapImported\\"开头,添加进.imp文件中。
假如您的路径名称以"war3mapImaported\\"开头,当您每次使用WE保存地图的时候,文件都不会被移除.
假如您的路径名称没有以"war3mapImported\\"开头,即使您把文件添加进导入文件,也无法用WE保存。
20) "war3map.wai" The Artificial Intelligence file
"Frozen Throne expansion pack beta"文件独有。
int: wai文件格式版本: 2
string: AI名称
int: 种族: 0=自定义, 1=人族, 2=兽族, 3=不死族, 4=暗夜精灵
int: 选项
除非另外说明所有的选项包含在选项整数中(HiWord)
用下面的值检查存在的选项:
设置玩家名称: 0x2000
混战: 0x0001
保护使用者: 0x8000
随机路径: 0x4000
目标英雄: 0x0002
修理建筑: 0x0004
英雄逃跑: 0x0008
单位逃跑: 0x0010
组队逃跑: 0x0020
决不仁慈: 0x0040
受伤忽略:0x0080
去除受伤者 : 0x1000
拾取物品: 0x0100
购买物品: 0x0001 LoWord
慢速采矿: 0x0200
允许基地变换: 0x0400
聪明的炮火: 0x0800
int: 工人和建筑物的数量. 假如少于详细指明4个工人和建筑物,WE会使用缺省值(4).
char[4]: 挖矿工人
char[4]: 砍树工人
char[4]: 基础建筑
char[4]: 采矿建筑 (假如没有, 使用与基础建筑相同的标识符)
int: 环境的系数n
int: ???: 7
共有a个单个环境定义结构*
char[4]: 首发英雄使用(假如没有,值设置为空;否则设置为单位ID)
char[4]: 二发英雄使用(假如没有,值设置为空;否则设置为单位ID)
char[4]: 三发英雄使用(假如没有,值设置为空;否则设置为单位ID)
int: 训练顺序 % 几率(1.首发英雄,2.二发英雄,3.三发英雄)
int: 训练顺序 % 几率(1.首发英雄,2.三发英雄,3.二发英雄)
int: 训练顺序 % 几率(1.二发英雄,2.首发英雄,3.三发英雄)
int: 训练顺序 % 几率(1.二发英雄,2.三发英雄,3.首发英雄)
int: 训练顺序 % 几率(1.三发英雄,2.首发英雄,3.二发英雄)
int: 训练顺序 % 几率(1.三发英雄,2.二发英雄,3.首发英雄)
技能选择顺序:
char[4*10]: 首发英雄的十个技能ID(如同首发英雄)
char[4*10]: 首发英雄的十个技能ID(如同二发英雄)
char[4*10]: 首发英雄的十个技能ID(如同三发英雄)
char[4*10]: 二发英雄的十个技能ID(如同首发英雄)
char[4*10]: 二发英雄的十个技能ID(如同二发英雄)
char[4*10]: 二发英雄的十个技能ID(如同三发英雄)
char[4*10]: 三发英雄的十个技能ID(如同首发英雄)
char[4*10]: 三发英雄的十个技能ID(如同二发英雄)
char[4*10]: 三发英雄的十个技能ID(如同三发英雄)
int: 建筑优先权的系数c
共有c个单个建筑优先权结构***
int: 采集优先权的系数d
共有d个单个采集优先权结构 *(4)
int: 目标优先权的系数e
共有e个单个目标优先权结构*(5)
int: 重复轮次
int: 最小力量: 攻击组索引(假如是首发英雄只需设置这个值为 char[4]:HAIA)
int: 初始化延迟
int: 攻击组的系数f
共有f个单个攻击组结构*(6)
int: 攻击轮次数的系数g
共有g个单个攻击轮次数结构*(8)
int: ???: 1
int:游戏选项
除非另外说明所有的选项包含在选项整数中(HiWord)
用下面的值检查存在的选项:
禁用战争迷雾: 0x0001
禁用胜利失败条件: 0x0002
int: 常规游戏速度
string: 地图文件路径
int: 玩家的数量h (0-2)
共有h个单个玩家结构 *(9)
int: ???
*环境定义结构:
int: 环境索引
String: 环境名称
int: "b": 0=无(没有环境), 1=有环境
如果"b" = 1
String: 运算符函数名称
int: begin function: 1
共有x个单个参数结构**.x根据函数变化,是固定代码.
int: end function: 0
**参数结构:
int: 类型: 0=预设, 1=运算符函数, 2=函数, 3=字符串
String: 参数值(如果是函数,参数值不为0, begin function 使用'(' ,end function使用')' 。)
int: begin function (如果是函数或者运算符函数,设置为1;否则设置为0)
如果是函数,参数值不为0:
int: 类型: 3
String: 和参数值相同
int: begin function: 1
共有x个单个参数结构**.x根据函数变化,是固定代码.
int: end function: 0
如果是运算符函数:
int: begin function: 1
共有x个单个参数结构**.x根据函数变化,是固定代码.
int: end function
int: end function: 0
***发展优先结构:
int: 优先类型: 0
int: 类型: 0=单位, 1=科技, 2=扩张城镇
char[4]: 单位/科技 ID(如果是扩张的城镇,这个值设置为 XEIA)
int: 城镇: 0=主基地, 1-9=扩张区域 #1-9, 0xFFFFFFFD-0xFFFFFFF5=当前的金矿 #1-9, 0xFFFFFFFF=任意
int: 环境索引(如果为空,设置为0xFFFFFFFF, 如果为自定义,设置为0xFFFFFFFE)
只有1个单个环境定义结构*(不包括环境索引!)
*(4)资源优先结构:
int: 优先类型: 1
int: 资源类型: 0=金矿, 1=木材
int: 城镇: 0=主基地, 1-9=扩张区域 #1-9, 0xFFFFFFFD-0xFFFFFFF5=当前的金矿 #1-9, 0xFFFFFFFF=任意
int: 工人: 0-90=固定值 #0-90, 0xFFFFFFFF=全部, 0xFFFFFFFE=全部不攻击
int: 环境索引(如果为空,设置为0xFFFFFFFF, 如果为自定义,设置为0xFFFFFFFE)
只有1个单个环境定义结构*(不包括环境索引!)
*(5)目标优先结构
int: 优先类型: 2
int: 目标: 0=共同联盟目标, 1=新扩张区域, 2=敌方主要攻击,
3=敌方的扩张区域, 4=敌方任意城镇, 5=野兵营地, 6=被购买的地精飞艇
int: 野兵最小力量(如果目标不同于5,设置值为0xFFFFFFFF)
假如目标= 5
int: 野兵最大力量
int: 允许飞行物: 0=否, 1=是
int: 环境索引(如果没有, 设置值为0xFFFFFFFF, 如果自定义,设置值为0xFFFFFFFE)
只有1个单个环境定义结构*(不包括条件索引!)
*(6)进攻队伍结构
int: 进攻队伍索引
string: 进攻队伍名称
int: 当前组的系数g
共有g个单个当前组结构 *(7)
*(7)当前组结构
char[4]: 单位ID (首发英雄: 1HIA, 二发英雄: 2HIA, 三发英雄: 3HIA)
int: 数量值: 0-90=数量 #0-90, 0xFFFFFFFF=全部
int: 最大数量: 0-90=数量#0-90, 0xFFFFFFFF=全部(如果数量值为0xFFFFFFFF, 最大数量代表了除#0-90以外的全部)
int: 环境索引(如果没有, 设置值为0xFFFFFFFF, 如果自定义,设置值为0xFFFFFFFE)
只有1个环境定义结构*(不包含条件索引!)
*(8)攻击轮次数结构
int:攻击组索引
int:延迟
*(9)玩家结构
int: 玩家索引
int: 队伍号码
int: 种族: 1=人族, 2=兽族, 8=不死族, 4=暗夜精灵, 20=随机
int: 颜色: 0=红, 1=蓝, 2=蓝绿, 3=紫, 4=黄, 5=橙, 6=绿, 7=粉, 8=灰,9=淡蓝, 10=深绿, 11=褐
int: 障碍 (0-100)
int: AI: 0=标准的, 1=使用者的, 4=自定义的, 12=现行的
int: AI难度: 0=简单, 1=正常, 2=疯狂
string: 自定义AI脚本路径
21) The others files
war3mapImported\\*.* = 导入文件并用WE保存 (也必须在.imp文件中定义)
(signature) = w3m文件的签名
(listfile) = 保存在w3m文件中的文件列表
(attributes) =w3m文件中所有文件的属性
|
|