让事情发生的机会C#

lil*_*ssy 0 .net c# scripting visual-studio

如何制作一个脚本,使一件事发生4/5次,另一件事发生1/5次

我需要它出现在此之后

private void Arrest()
{
    Ped Criminal = Player.GetTargetedPed();
    if (Exists(Criminal) && 
        (Player.Character.Position.DistanceTo(Criminal.Position) <= 10.0F))
    {
Run Code Online (Sandbox Code Playgroud)

Meh*_*ari 6

static Random rnd = new Random();
static void DoOne() { ... }
static void DoTwo() { ... }
static void RollDice() {
   if (rnd.Next(5) == 0)
       DoOne(); // happens 1/5 times
   else
       DoTwo(); // happens 4/5 times
}
Run Code Online (Sandbox Code Playgroud)

重要的是,不要Random在每次调用时重新创建实例.您应该保留旧实例并重用它.否则,随机生成的序列将不会均匀分布.