小网球拍 发表于 2014-7-21 21:32:43

【新人】如何在地图中编辑随机事件?

我见过一个地图,当我移动到某位置时,敌方的三个不同兵种的士兵中会有随机一个兵出来迎战。我想做的不是这个,但有共同之处,也是随机,我希望制作一个区域,当我的单位进入这个区域的任意一格时都有10%的几率死亡,也就是说如果运气好,一个士兵可以安全通过这个区域。请问第一种这种随机效果是如何做到的?或者有高人能够指点我这第二种触发的做法那就更好了。

M.I.K.U. 发表于 2014-7-21 21:54:30

请自行使用论坛搜索,关键词“随机系统”

chunhim_lai 发表于 2014-7-21 22:13:51

本帖最后由 M.I.K.U. 于 2014-7-23 10:23 编辑

如果你想用随机系统,方法有两个.

1.触发
2.人工智能+触发

方法1
进驻式随机系统
(https://www.hawkaoe.net/bbs/forum.php?mod=viewthread&tid=59207)

透过进驻卸载不同位置实现随机,
这种方法优点是简单易明,但机率有差异,有时很难实现你想要的概率

有关进驻式随机系统概率测试可以看

https://www.hawkaoe.net/bbs/forum.php?mod=viewthread&tid=59207
https://www.hawkaoe.net/bbs/thread-115562-1-1.html




方法2
人工智能+触发

触发1(循环)
条件1.区域中的物件.玩家1.数量1
条件2.计时器.1
效果1.发出贡品.盖亚到玩家2.黄金1

触发2(循环)
条件1.累积资源.玩家2.木材1
条件2.计时器.1
效果1.发出贡品.玩家2到盖亚.木材1
效果2.破坏物件.(士兵)

然后添加一个新的人工智能给电脑玩家2

(defrule
      (gold-amount >= 1) ;如果玩家的黄金数量大于等于1
=>         
      (generate-random-number 100);置一个介于 1 到 100 之间的随机数
      (cc-add-resource gold -1) ;通过作弊减少1单位黄金
)


(defrule
      (random-number > 90);随机数>90,代表机率10%
=>
      (cc-add-resource wood 1) ;通过作弊增加1单位木材
      (disable-self) ;关闭规则,只执行一次
)

上述含义是:
当单位进入这个区域时,玩家2每秒收到1黄金(触发1)
玩家2每1黄金将有10%机率变成1木材(AI)
玩家2收到1木材,士兵会被杀死(触发2)

这种方法保证机率不会有差异,但不容易使用

有关AI可以看
https://www.hawkaoe.net/bbs/thread-115067-1-1.html
https://www.hawkaoe.net/bbs/thread-4697-1-1.html



游戏天才 发表于 2014-7-22 10:05:21

最简单的办法就是让一个单位在一个小区域内巡逻,在不同的位置上设置不同的触发效果

小网球拍 发表于 2014-7-22 14:52:07

chunhim_lai 发表于 2014-7-21 22:13
如果你想用随机系统,方法有两个.

1.触发


我想请问一下,你的第二个方法,是设置的玩家二,玩家二是电脑自然可以,可我希望是说自己的士兵进入某区域有几率会死,用AI也管用吗?

M.I.K.U. 发表于 2014-7-23 10:23:38

小网球拍 发表于 2014-7-22 14:52
我想请问一下,你的第二个方法,是设置的玩家二,玩家二是电脑自然可以,可我希望是说自己的士兵进入某区 ...

这个玩家2的AI是用来检测的,不是说杀死玩家2的单位
在这个基础上再加一个触发,检测到玩家2拥有1木材就杀死指定的单位就行了

小网球拍 发表于 2014-7-27 18:20:18

M.I.K.U. 发表于 2014-7-23 10:23
这个玩家2的AI是用来检测的,不是说杀死玩家2的单位
在这个基础上再加一个触发,检测到玩家2拥有1木材就 ...

O~~
页: [1]
查看完整版本: 【新人】如何在地图中编辑随机事件?