Exemplo n.º 1
0
 void Awake()
 {
     m_laserBeam   = GetComponent <LineRenderer>();
     m_collider    = GetComponent <BoxCollider>();
     noiseSource   = GetComponent <NoiseSource>();
     m_wantedLevel = GameObject.FindObjectOfType <WantedLevel>();
 }
Exemplo n.º 2
0
 // Use this for initialization
 void Start()
 {
     m_elephantMovement          = GameObject.FindObjectOfType <ElephantMovement>();
     m_sceneLoader               = GameObject.FindObjectOfType <SceneLoaderScript>();
     m_wantedLevel               = GameObject.FindObjectOfType <WantedLevel>();
     StatePatternEnemy.OnCaught += OnCaught;
     Collectable.OnCollect      += OnCollect;
 }
Exemplo n.º 3
0
    void Start()
    {
        m_playerActor = GameObject.FindObjectOfType <PlayerActor>();
        m_wantedLevel = GameObject.FindObjectOfType <WantedLevel>();
        SetPaused(false);

        if (GameObject.FindObjectsOfType <InGameMenu>().Length > 1)
        {
            Debug.LogError("More than 1 InGameMenu is not allowed.");
        }
    }
    void Start()
    {
        m_audioSources = GetComponents <AudioSource> ();
        if (m_audioSources.Length < 2)
        {
            Debug.LogError("To few AudioSources on MusicController. Crossfade is disabled.");
        }

        m_wantedLevel = GameObject.FindObjectOfType <WantedLevel> ();

        m_crossFadeTimer = m_crossFadeTime;
    }
Exemplo n.º 5
0
 void updateCurrentWantedLevel()
 {
     foreach (var wantedLevel in EnemySpawner.WantedLevels)
     {
         if (GameVariables.Notoriety >= wantedLevel.RangeLow &&
             GameVariables.Notoriety <= wantedLevel.RangeHigh)
         {
             currentWantedLevel = wantedLevel;
             break;
         }
     }
 }
Exemplo n.º 6
0
 public static void setPlayerWantedLevel(Client player, WantedLevel wantedlevel)
 {
     Main.Players[player].WantedLVL = wantedlevel;
     if (wantedlevel != null)
     {
         Trigger.ClientEvent(player, "setWanted", wantedlevel.Level);
     }
     else
     {
         Trigger.ClientEvent(player, "setWanted", 0);
     }
 }
    //----------------------------

    private void Awake()
    {
        m_enemyInteractable = GetComponent <EnemyInteractable>();
        audioSource         = GetComponent <AudioSource>();
        playerActor         = GameObject.FindObjectOfType <PlayerActor>();
        wantedLevel         = GameObject.FindObjectOfType <WantedLevel>();

        chaseState          = new ChaseState(this);
        alertState          = new AlertState(this);
        patrolState         = new PatrolState(this);
        m_caughtPlayerState = new CaughtPlayerState(this);

        navMeshAgent       = GetComponent <NavMeshAgent>();
        navMeshAgent.speed = standartSpeed;

        enemyAnimator    = GetComponent <Animator>();
        elephantMovement = playerActor.GetComponent <ElephantMovement>();

        if (wayPoints == null)
        {
            wayPoints = new Waypoints()
            {
                points = new[] { transform.position },
                pairs  = new[] { new Pair() }
            }
        }
        ;
    }

    void OnValidate()
    {
        currentState = patrolState;
    }

    void Start()
    {
        currentState = patrolState;

        viewCone.MainViewRadius = toleratedSightrange;
        viewCone.FullViewRadius = sightRange;
        viewCone.FieldOfView    = fieldOfView;

        OnCaught += StatePatternEnemy_OnCaught;
    }
Exemplo n.º 8
0
        public static void interactSafe(Client player)
        {
            if (!player.HasData("temp_SafeID"))
            {
                return;
            }

            Safe safe = Safes.FirstOrDefault(s => s.ID == player.GetData("temp_SafeID"));

            if (safe == null)
            {
                return;
            }

            if (safe.IsOpen)
            {
                safe.Loot(player);
            }
            else
            {
                if (!player.HasData("IS_MASK") || !player.GetData("IS_MASK"))
                {
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Взлом возможен только в маске", 3000);
                    return;
                }

                if (safe.Occupier != null && NAPI.Player.GetPlayerFromHandle(safe.Occupier) != null)
                {
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Этот сейф уже взламывают", 3000);
                    return;
                }
                if (Fractions.Manager.FractionTypes[Main.Players[player].FractionID] != 1)
                {
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Доступно только для банд", 3000);
                    return;
                }
                if (DateTime.Now.Hour < 13 || DateTime.Now.Hour > 22)
                {
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Возможно открыть только с 13:00 до 23:00", 3000);
                    return;
                }

                var lockpick = nInventory.Find(Main.Players[player].UUID, ItemType.Lockpick);
                var count    = (lockpick == null) ? 0 : lockpick.Count;
                if (count == 0)
                {
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"У Вас нет отмычки", 3000);
                    return;
                }
                if (DateTime.Now < NextRobbery && NowRobberyID != safe.ID)
                {
                    DateTime g = new DateTime((NextRobbery - DateTime.Now).Ticks);
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Попробуйте через {g.Minute}:{g.Second}", 3000);
                    return;
                }

                var nearestPlayers = Main.GetPlayersInRadiusOfPosition(player.Position, 7);
                var gangsters      = 0;
                foreach (var p in nearestPlayers)
                {
                    if (p == null || !Main.Players.ContainsKey(p) || player == p)
                    {
                        continue;
                    }
                    if (Fractions.Manager.FractionTypes[Main.Players[p].FractionID] == 1)
                    {
                        gangsters++;
                    }
                }

                if (gangsters == 0)
                {
                    Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"С Вами должен быть как минимум ещё один тру гангстер", 3000);
                    //return;
                }

                safe.Occupier = player;
                player.SetData("CURRENT_STAGE", 0);
                Trigger.ClientEvent(player, "dial", "open", safe.LockAngles[0]);
                Notify.Send(player, NotifyType.Warning, NotifyPosition.BottomCenter, $"С минуты на минуту сюда прибудут копы", 3000);
                Manager.sendFractionMessage(7, $"Сейф по адресу {safe.Address} пытаются взломать");
                Manager.sendFractionMessage(9, $"Сейф по адресу {safe.Address} пытаются взломать");

                if (NowRobberyID != safe.ID)
                {
                    NextRobbery = DateTime.Now.AddMinutes(15);
                }
                NowRobberyID = safe.ID;

                if (DateTime.Now >= safe.BlipSet)
                {
                    safe.Blip = NAPI.Blip.CreateBlip(0, safe.Position, 1, 59, "Robbery", 0, 0, true, 0, 0);
                    safe.Blip.Transparency = 0;
                    foreach (var p in Main.Players.Keys.ToList())
                    {
                        if (!Main.Players.ContainsKey(p))
                        {
                            continue;
                        }
                        if (Main.Players[p].FractionID != 7 && Main.Players[p].FractionID != 9)
                        {
                            continue;
                        }

                        Trigger.ClientEvent(p, "changeBlipAlpha", safe.Blip, 255);
                        Trigger.ClientEvent(p, "createWaypoint", safe.Position.X, safe.Position.Y);
                    }
                    safe.BlipSet = DateTime.Now.AddMinutes(15);
                    NAPI.Task.Run(() => {
                        try
                        {
                            if (safe.Blip != null)
                            {
                                safe.Blip.Delete();
                            }
                        } catch { }
                    }, 900000);
                }

                if (player.HasSharedData("IS_MASK") && !player.GetData("IS_MASK"))
                {
                    var wantedLevel = new WantedLevel(4, "Полиция", DateTime.Now, "Ограбление сейфа");
                    Police.setPlayerWantedLevel(player, wantedLevel);
                }
            }
        }