注册 | 登录

游侠NETSHOW论坛





查看: 6557|回复: 2
打印 上一主题 下一主题

[讨论] 关于修改对战地图文件为弑君模式的方法。 [复制链接]

帖子
225
精华
0
积分
123
金钱
513
荣誉
1
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2008-7-25 21:02:23 |显示全部楼层 |倒序浏览
弑君战是帝国二比较经典的玩法,可是到了帝国三就没有这个模式了,只有出了亚洲王朝之后才出了一个本州岛的弑君战地图。想玩弑君战的朋友就没得第二选择了。于是我就想是不是可以把普通对战地图修改为对战地图。于是我翻了一下本州岛普通地图和弑君战的地图,对比它们代码的不同,发现了了几条代码于弑君战有关。

  // resource constraints这条下面有一段代码
  int avoidCastle=rmCreateTypeDistanceConstraint("vs Regicide Castle", "ypCastleRegicide", 5.0);
也就是说明这张地图包含君王城堡这个东西

  int playerCastle=rmCreateObjectDef("Castle");
  rmAddObjectDefItem(playerCastle, "ypCastleRegicide", 1, 0.0);
  rmAddObjectDefConstraint(playerCastle, avoidAll);
  rmAddObjectDefConstraint(playerCastle, avoidImpassableLand);
rmSetObjectDefMinDistance(playerCastle, 18.0);
rmSetObjectDefMaxDistance(playerCastle, 23.0);
这段是放置君王城堡的位置

  int playerWalls = rmCreateGrouping("regicide walls", "regicide_walls");
  rmAddGroupingToClass(playerWalls, rmClassID("importantItem"));
  rmSetGroupingMinDistance(playerWalls, 0.0);
  rmSetGroupingMaxDistance(playerWalls, 2.0);
这段是放置把自己围一圈的城墙的代码

  int playerDaimyo=rmCreateObjectDef("Daimyo"+i);
  rmAddObjectDefItem(playerDaimyo, "ypDaimyoRegicide", 1, 0.0);
  rmAddObjectDefConstraint(playerDaimyo, avoidAll);
  rmSetObjectDefMinDistance(playerDaimyo, 7.0);
  rmSetObjectDefMaxDistance(playerDaimyo, 10.0);
这段是放置大名的代码

  // Regicide Triggers
for(i=1; <= cNumberNonGaiaPlayers) {
   
    // Lose on Daimyo's death
    rmCreateTrigger("DaimyoDeath"+i);
    rmSwitchToTrigger(rmTriggerID("DaimyoDeath"+i));
    rmSetTriggerPriority(4);
    rmSetTriggerActive(true);
    rmSetTriggerRunImmediately(true);
    rmSetTriggerLoop(false);
   
    rmAddTriggerCondition("Is Dead");
    rmSetTriggerConditionParamInt("SrcObject", rmGetUnitPlacedOfPlayer(playerDaimyo, i), false);
   
    rmAddTriggerEffect("Set Player Defeated");
    rmSetTriggerEffectParamInt("Player", i, false);

    }
这段是最重要的,弑君战模式的触发代码,说明对战成败的触发条件,大名死亡的一方战败。


可是我把这些代码放入普通地图的时候发现有些根本无法加载,有些进入之后根本没有大名,直接就全部战败了。试验了好几次都没有成功,希望有高手与我探讨这些问题。

[ 本帖最后由 wc31415927 于 2008-7-25 21:10 编辑 ]
宏碁 Aspire 5741G 笔记本电脑
操作系统:        Windows 7 旗舰版 ( 64位 / DirectX 11 )
处理器: 英特尔 Core i3 M 350 @ 2.27GHz 双核笔记本处理器
内存: 2 GB ( 海力士 DDR3 1333MHz )
显卡:  Nvidia GeForce GT 320M ( 1 GB / 宏碁 )
显示器: LG LGDCF01 LP156WH2-TLE1 ( 15.3 英寸 )

使用道具 举报

帖子
225
精华
0
积分
123
金钱
513
荣誉
1
人气
0
评议
0
沙发
发表于 2008-7-26 19:02:47 |显示全部楼层
晕啊,高手都到哪里去了。麻烦newsass兄发到game5i上去请教别的高手啊。高手总是有的。
水平有限怎么搞个诸葛亮的头像啊!!

[ 本帖最后由 wc31415927 于 2008-7-28 19:30 编辑 ]
宏碁 Aspire 5741G 笔记本电脑
操作系统:        Windows 7 旗舰版 ( 64位 / DirectX 11 )
处理器: 英特尔 Core i3 M 350 @ 2.27GHz 双核笔记本处理器
内存: 2 GB ( 海力士 DDR3 1333MHz )
显卡:  Nvidia GeForce GT 320M ( 1 GB / 宏碁 )
显示器: LG LGDCF01 LP156WH2-TLE1 ( 15.3 英寸 )

使用道具 举报

帖子
225
精华
0
积分
123
金钱
513
荣誉
1
人气
0
评议
0
板凳
发表于 2008-7-29 15:19:10 |显示全部楼层
我等得黄花菜都凉了,还是没等出你的实验结果啊!郁闷。
[汗水] [汗水] [汗水] [汗水] [汗水]
宏碁 Aspire 5741G 笔记本电脑
操作系统:        Windows 7 旗舰版 ( 64位 / DirectX 11 )
处理器: 英特尔 Core i3 M 350 @ 2.27GHz 双核笔记本处理器
内存: 2 GB ( 海力士 DDR3 1333MHz )
显卡:  Nvidia GeForce GT 320M ( 1 GB / 宏碁 )
显示器: LG LGDCF01 LP156WH2-TLE1 ( 15.3 英寸 )

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-8-16 08:35 , Processed in 0.301075 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到