[ESA]永恒的星际联盟

 找回密码
 立即注册

!connect_header_login!

!connect_header_login_tip!

查看: 190|回复: 8

关于设置随机赌博的问题

[复制链接]
发表于 2020-12-5 11:04:11 | 显示全部楼层 |阅读模式
我首先设置了7个开关:
Trigger { -- set gamble switch
    players = {AllPlayers},
    conditions = {
        ElapsedTime(AtLeast, 0);
    },
    actions = {
        Comment("set gamble switch");
        SetSwitch("gamble1", Random);
        SetSwitch("gamble2", Random);
        SetSwitch("gamble3", Random);
        SetSwitch("gamble4", Random);
        SetSwitch("gamble5", Random);
        SetSwitch("gamble6", Random);
        SetSwitch("gamble7", Random);
        PreserveTrigger();
    },
}
然后对玩家1分别设置对应的赌博条件:
1.
        Switch("gamble1", Set);
        Switch("gamble2", Set);
        Switch("gamble3", Set);

        SetResources(CurrentPlayer, Add, 1500, Ore);


2.
        Switch("gamble1", Cleared);
        Switch("gamble2", Cleared);
        Switch("gamble3", Cleared);


        SetResources(CurrentPlayer, Add, 10000, Ore);
3.
        Switch("gamble1", Set);
        Switch("gamble2", Set);
        Switch("gamble3", Cleared);


        CreateUnit(3, "Infested Duran", "dir1-1", CurrentPlayer);
4.
        Switch("gamble1", Set);
        Switch("gamble2", Cleared);
        Switch("gamble3", Cleared);


        CreateUnit(3, "Samir Duran (Ghost)", "dir1-1", CurrentPlayer);

5.
        Switch("gamble1", Set);
        Switch("gamble2", Cleared);
        Switch("gamble3", Set);


        CreateUnit(3, "Zeratul (Dark Templar)", "dir1-1", CurrentPlayer);

6.
        Switch("gamble1", Cleared);
        Switch("gamble2", Cleared);
        Switch("gamble3", Set);


        CreateUnit(6, "Fenix (Dragoon)", "dir1-1", CurrentPlayer);

7.
        Switch("gamble1", Cleared);
        Switch("gamble2", Set);
        Switch("gamble3", Set);


        CreateUnit(6, "Hunter Killer (Hydralisk)", "dir1-1", CurrentPlayer);

8.
       Switch("gamble1", Cleared);
        Switch("gamble2", Set);
        Switch("gamble3", Cleared);


        CreateUnit(6, "Alan Schezar (Goliath)", "dir1-1", CurrentPlayer);

9.
        Switch("gamble4", Set);
        Switch("gamble5", Cleared);
        Switch("gamble6", Set);
        Switch("gamble7", Set);


        CreateUnit(1, "Infested Kerrigan (Infested Terran)", "gamble1", CurrentPlayer);

10.
        Switch("gamble4", Set);
        Switch("gamble5", Cleared);
        Switch("gamble6", Cleared);
        Switch("gamble7", Cleared);


        CreateUnit(1, "Sarah Kerrigan (Ghost)", "gamble1", CurrentPlayer);

11.
        Switch("gamble4", Set);
        Switch("gamble5", Cleared);
        Switch("gamble6", Cleared);
        Switch("gamble7", Set);


        CreateUnit(1, "Artanis (Scout)", "gamble1", CurrentPlayer);

12.
        Switch("gamble4", Set);
        Switch("gamble5", Cleared);
        Switch("gamble6", Set);
        Switch("gamble7", Cleared);


        CreateUnit(1, "Hyperion (Battlecruiser)", "gamble1", CurrentPlayer);

13.
        Switch("gamble4", Cleared);
        Switch("gamble5", Set);
        Switch("gamble6", Set);
        Switch("gamble7", Set);


        CreateUnit(1, "Danimoth (Arbiter)", "gamble1", CurrentPlayer);

14.
        Switch("gamble4", Cleared);
        Switch("gamble5", Set);
        Switch("gamble6", Set);
        Switch("gamble7", Cleared);


        CreateUnit(1, "Protoss Probe", "dir1-1", CurrentPlayer);

15.
        Switch("gamble4", Cleared);
        Switch("gamble5", Set);
        Switch("gamble6", Cleared);
        Switch("gamble7", Set);


        CreateUnit(1, "Terran SCV", "dir1-1", CurrentPlayer);

16.
        Switch("gamble4", Cleared);
        Switch("gamble5", Set);
        Switch("gamble6", Cleared);
        Switch("gamble7", Cleared);


        CreateUnit(1, "Zerg Drone", "dir1-1", CurrentPlayer);


设置完了,最后测试结果显示只有gamble1,2,3这几个的能正常赌博出来东西,4,5,6,7这几个完全出不来东西,请问大佬们这是什么原因呢?







发表于 2020-12-5 11:33:56 | 显示全部楼层
Loation" gamebel1" 大小和位置有问题吧
或者根本没有这个Location

点评

这个我忘记补充了,gamble1这个位置是有的,而且是和dir1-1这个位置是在一起的,而且我create的单位数量只有1个 [attachimg]10658[/attachimg]  详情 回复 发表于 2020-12-5 11:48
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-5 11:48:25 | 显示全部楼层
flyforever 发表于 2020-12-5 11:33
Loation" gamebel1" 大小和位置有问题吧
或者根本没有这个Location

这个我忘记补充了,gamble1这个位置是有的,而且是和dir1-1这个位置是在一起的,而且我create的单位数量只有1个
QQ截图20201205114720.png

点评

你的gamble1位置已经有了一个单位了 试着把那个单位拿掉。再看能不能生成东西  详情 回复 发表于 2020-12-5 12:44
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-5 12:34:12 | 显示全部楼层
好像是这样的,要是把所有赌博的条件写在一起,就都能堵出来东西,像下面这样:
01.png
但是如果分开写,像下面这样,就只能出来1,2,3,出不来4,5,6,7
02.png


其实我是想分别控制两种不同的概率,让有些东西容易出,有些较难出

回复 支持 反对

使用道具 举报

发表于 2020-12-5 12:43:45 | 显示全部楼层
你可以设置一个分数
用分数来控制概率大小
不知道你明白这个意思了没
回复 支持 反对

使用道具 举报

发表于 2020-12-5 12:44:38 | 显示全部楼层
JPMorgan 发表于 2020-12-5 11:48
这个我忘记补充了,gamble1这个位置是有的,而且是和dir1-1这个位置是在一起的,而且我create的单位数量 ...

你的gamble1位置已经有了一个单位了
试着把那个单位拿掉。再看能不能生成东西
回复 支持 反对

使用道具 举报

发表于 2020-12-12 13:32:27 | 显示全部楼层
看着似乎触发没有问题,开关是用最传统的方法来实现随机,不知道为啥生成不出来。
这里给出另外两个方法,使用于不同的版本:
1可以尝试用插件实现随机数的方法(1.08建议)。这个方法很简单就能实现,C语言的RAND库函数网上一查就有。
2.如果是重制版可以尝试下EUD的方法来伪随机数生成。使用EUD Editor。
回复 支持 反对

使用道具 举报

发表于 2020-12-31 07:18:44 | 显示全部楼层
这个太简单了..

傻瓜版设置.

画五个区域.每个区域相隔3个单位的距离.
然后拿一个单位设置巡逻,每到一个单位,就触发一个条件.
设置五个条件,就可以随机了.

点评

你的这个思路可以的,不过我连巡逻都不用就能随机数  详情 回复 发表于 7 天前
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
121283587 发表于 2020-12-31 07:18
这个太简单了..

傻瓜版设置.

你的这个思路可以的,不过我连巡逻都不用就能随机数
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|站点地图|永恒的星际联盟 ( 苏ICP备17020173号-1 )

GMT+8, 2021-1-18 06:36 , Processed in 0.015689 second(s), 9 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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