找回密码
 点一下
查看: 1870|回复: 7

战役中地图是怎么换的啊?

[复制链接]
发表于 2008-1-15 09:15:37 | 显示全部楼层 |阅读模式
我是说像冰峰里兽族战役的那种,可以换来换去的,最好有成图.
谢谢各位啦
发表于 2008-1-15 10:42:25 | 显示全部楼层
只能在战役中`把几张地图用战役编辑器连接后 利用这个动作来切换地图

游戏-设置下一关卡为mapname
回复

使用道具 举报

 楼主| 发表于 2008-1-15 13:20:06 | 显示全部楼层
这个我会.我是说像兽族战役那样,去了还能回来,回来后地图上各种东西还没变(没有被从新初始化).不知道怎么弄的.还有任务,钱什么的怎么传到下一张图啊?
再次谢谢各位啦
回复

使用道具 举报

发表于 2008-1-15 14:40:55 | 显示全部楼层
去下载 官方兽族战役地图.
回复

使用道具 举报

发表于 2008-1-15 18:08:54 | 显示全部楼层
LZ缓存技术怎样?只要缓存技术运用合理,甚至可以不按照官方的方法这么设置。
回复

使用道具 举报

发表于 2008-1-16 16:34:05 | 显示全部楼层
把关键触发先贴出来~
首先是设定好需要各个需要换图的路径:

[trigger]
Init Zones
    事件
    条件
    动作
        触发器 - 运行 Identify Zone <预设> (检查条件)
        -------- Construct a list of zone map names --------
        设置 ZoneCount = 5
        设置 ZoneMapPath = Maps\\FrozenThrone\\Campaign\\
        设置 ZoneMapExt = .w3x
        设置 ZoneMaps[1] = OrcX01
        设置 ZoneMaps[2] = OrcX01_02
        设置 ZoneMaps[3] = OrcX01_03
        设置 ZoneMaps[4] = OrcX01_04
        设置 ZoneMaps[5] = OrcX01_05
        设置 BlizzardFolder = Blizzard\\
        设置 ZoneFolder = (BlizzardFolder + Zones)
        设置 SaveExt = .w3z
[/trigger]

Init Zones
事件
条件
动作
触发器 - 运行 Identify Zone <预设> (检查条件)
-------- Construct a list of zone map names --------
设置 ZoneCount = 5
设置 ZoneMapPath = Maps\\FrozenThrone\\Campaign\\
设置 ZoneMapExt = .w3x
设置 ZoneMaps[1] = OrcX01
设置 ZoneMaps[2] = OrcX01_02
设置 ZoneMaps[3] = OrcX01_03
设置 ZoneMaps[4] = OrcX01_04
设置 ZoneMaps[5] = OrcX01_05
设置 BlizzardFolder = Blizzard\\
设置 ZoneFolder = (BlizzardFolder + Zones)
设置 SaveExt = .w3z

如上,需要的有地图.w3x和存档文件.w3z两种
然后是将必要的数据存入游戏缓存中
[trigger]Export All
    事件
    条件
    动作
        -------- Create The Game Cache --------
        游戏缓存 - 创建游戏缓存,使用文件名: Campaigns.w3v
        游戏缓存 - 删除类别 TransitionKey 在缓存 (最后创建的游戏缓存) 中
        -------- Export ZoneSaves (saved-game filenames) --------
        For循环整数A从 1 到 ZoneCount, 做动作
            Loop - 动作
                游戏缓存 - 记录 ZoneSaves[(循环整数A)] ,使用名称: (ZoneSave + (转换 (循环整数A) 为字符串)) 类别名: TransitionKey 缓存: (最后创建的游戏缓存)
        -------- Export Transition Data --------
        游戏缓存 - 记录 TransitionSource ,使用名称: TransitionSource 类别名: TransitionKey 缓存: (最后创建的游戏缓存)
        游戏缓存 - 记录 TransitionTargetArea ,使用名称: TransitionTargetArea 类别名: TransitionKey 缓存: (最后创建的游戏缓存)
        -------- Export Hero and Mission Data --------
        触发器 - 运行 Export Mission Data <预设> (检查条件)
        触发器 - 运行 Export Heroes <预设> (检查条件)
        -------- Save The Game Cache --------
        游戏缓存 - 保存 (最后创建的游戏缓存) 到本地硬盘
[/trigger]

关键的部分就是转地图了;对于第一次进图,直接载图就好,以前进过的,在退出前会留有个存档,如果该存档存在,就载入存档,之后再将存于缓存的数据读取出来:
[trigger]Perform Map Transition
    事件
    条件
    动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                ZoneSaves[TransitionTarget] 不等于 <空字符串>
                (((ZoneFolder + \\) + ZoneSaves[TransitionTarget]) 已存在) 等于 TRUE
            Then - 动作
                -------- We've visited this map before, so load the last saved-game --------
                游戏 - 保存游戏进度为: ((ZoneFolder + \\) + ZoneSaves[TransitionSource]) 并读取进度: ((ZoneFolder + \\) + ZoneSaves[TransitionTarget]) (跳过 计分屏)
            Else - 动作
                -------- We haven't visited this map yet, so load the map from scratch --------
                游戏 - 保存游戏进度为: ((ZoneFolder + \\) + ZoneSaves[TransitionSource]) 并切换到关卡: (ZoneMapPath + (ZoneMaps[TransitionTarget] + ZoneMapExt)) (跳过 计分屏)
[/trigger]
回复

使用道具 举报

 楼主| 发表于 2008-1-17 11:33:25 | 显示全部楼层
太感谢了!!!!!
回复

使用道具 举报

发表于 2008-1-20 08:41:51 | 显示全部楼层
很有道理 受教了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 10:27 , Processed in 0.035087 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表