找回密码
 点一下
查看: 1425|回复: 12

请高手给个 在2个地图中来回切换的 演示....谢谢

[复制链接]
发表于 2008-6-7 22:14:44 | 显示全部楼层 |阅读模式

高手
给一个
像WAR3任务中
额外的任务
那样
可以在2个地图中来回切换
属性不变装备不变的 演示.....

谢谢
发表于 2008-6-7 22:27:00 | 显示全部楼层
只能做成战役,多人游戏是不行的。
回复

使用道具 举报

发表于 2008-6-7 22:34:02 | 显示全部楼层
如果你要多人游戏中这样,只有一个办法,把地形放到最大,然后分开个,各自切换(我现在就用这个方法)
回复

使用道具 举报

 楼主| 发表于 2008-6-7 22:35:13 | 显示全部楼层
单人游戏啊
不是多人
来回切换的那种....
回复

使用道具 举报

发表于 2008-6-7 22:35:15 | 显示全部楼层
例如,开始时在A区,完成任务就移动到B区,再完成就回来A区,用移动与地形来做
回复

使用道具 举报

 楼主| 发表于 2008-6-7 22:45:41 | 显示全部楼层
我找到了一个T
但是是英文的我看不懂

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 Tree    Present: Zoxc @ wc3campaigns  |  Migration: Greedwind    |    展开 | 收缩 | 复制 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 Tree    Present: Zoxc @ wc3campaigns  |  Migration: Greedwind    |    展开 | 收缩 | 复制 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)) (跳过 计分屏)
[ 此贴被kook在2008-01-16 16:43重新编辑 ]
回复

使用道具 举报

发表于 2008-6-7 23:01:39 | 显示全部楼层
触发部分除了变量名和缓存关键字基本都是中文吧,都是在利用缓存,只有注释是英文的

这个515不是说了嘛,只能做成战役
回复

使用道具 举报

发表于 2008-6-8 08:22:13 | 显示全部楼层
我想LZ是想要元素魔法之战那样的效果吧。
回复

使用道具 举报

 楼主| 发表于 2008-6-8 20:04:37 | 显示全部楼层
na 那能不能 给个战役 的这样的例子
感激不尽
回复

使用道具 举报

发表于 2008-6-8 20:12:44 | 显示全部楼层
貌似war3自带一个兽族战役的
回复

使用道具 举报

 楼主| 发表于 2008-6-8 20:25:34 | 显示全部楼层
那个里面T太多了
我不知道哪个T 是切换
回复

使用道具 举报

发表于 2008-6-8 20:29:28 | 显示全部楼层
那个至少我就没办法了………………
回复

使用道具 举报

发表于 2008-6-10 10:47:43 | 显示全部楼层
载入地图XX嘛
就这样
触发了再载入回原来地图

变量不能传递
缓存貌似可以传递的
[trigger]
Hke的神奇触发器_存
    事件
        单位 - 单位进入 副本连接处X
    条件
    动作
        游戏缓存 - 创建游戏缓存,使用文件名: Www.WuHansen.Com
        For循环整数A从 1 到 6, 做动作
            Loop - 动作
                自定义代码: call StoreInteger( GetLastCreatedGameCacheBJ(), "HkeItem", "物品"+I2S(bj_forLoopAIndex),  GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(), bj_forLoopAIndex)))
        游戏 - 切换到关卡: IloveHke.w3x (跳过 计分屏)

Hke的神奇触发器_读
    事件
        地图初始化
    条件
    动作
        游戏缓存 - 创建游戏缓存,使用文件名: Www.WuHansen.Com
        For循环整数A从 1 到 6, 做动作
            Loop - 动作
                自定义代码: call UnitAddItem( 你的英雄变量, CreateItem(GetStoredInteger(GetLastCreatedGameCacheBJ(), "HkeItem", "物品"+I2S(bj_forLoopAIndex)), 0, 0) )
[/trigger]

装备不变的话需要用缓存保存下
进入下个地图后再读取出来就OK了

因为WE的触发很欠扁不能识别物品类型鸟
只好用自定义Jass代码了
你就将就下吧
顺手给你个触发器样子参考恩
因为没完全的图所以肯定的不能用的
按照我上面的改额

这么详细的演示猪头你再不给我加互助我跟你拼命了

123.rar

1 KB, 下载次数: 24

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 00:42 , Processed in 0.072577 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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