コード例 #1
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
 /// <summary>
 /// Objective of type location functionality.
 /// </summary>
 /// <param name="player"></param>
 /// <param name="objInfo"></param>
 public static bool objectiveLocation(Client player, ObjectiveInfo objInfo)
 {
     if (player.position.DistanceTo(objInfo.Location) <= 5)
     {
         return(true);
     }
     return(false);
 }
コード例 #2
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
        /// <summary>
        /// Used for breaking into vehicles. Acts as a 'capture' point.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="objInfo"></param>
        /// <returns></returns>
        public static bool objectiveBreakIntoVehicle(Client player, ObjectiveInfo objInfo)
        {
            if (!isCloseToObjective(player, objInfo.Location, 5))
            {
                return(false);
            }

            if (objInfo.Lockpick.GameInfo.Score >= 100)
            {
                objInfo.Status = true;
                return(true);
            }

            API.shared.triggerClientEvent(player, "Start_Lock_Pick_Minigame");
            return(false);
        }
コード例 #3
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
        /// <summary>
        /// Objective of type Retrieve Vehicle functionality.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="objInfo"></param>
        public static bool objectiveRetrieveVehicle(Client player, ObjectiveInfo objInfo)
        {
            if (!player.isInVehicle)
            {
                return(false);
            }

            if (!player.vehicle.hasData("Mission_UID"))
            {
                return(false);
            }

            if (player.vehicle.getData("Mission_UID") != objInfo.UniqueVehicleID)
            {
                return(false);
            }

            objInfo.Status = true;
            return(true);
        }
コード例 #4
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
        /// <summary>
        /// Objective of type Destruction functionality.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="objInfo"></param>
        public static bool objectiveDestroy(Client player, ObjectiveInfo objInfo)
        {
            if (!player.isAiming)
            {
                return(false);
            }

            if (!isCoolDownOver(player))
            {
                return(false);
            }

            objInfo.Progress += 5;

            if (objInfo.Progress < 100)
            {
                return(false);
            }

            return(true);
        }
コード例 #5
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
        /// <summary>
        /// Objective of type Pickup functionality.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="objInfo"></param>
        public static bool objectivePickupObject(Client player, ObjectiveInfo objInfo)
        {
            if (player.isInVehicle)
            {
                return(false);
            }

            if (!isCloseToObjective(player, objInfo.Location, 4))
            {
                return(false);
            }

            player.playAnimation("pickup_object", "pickup_low", (int)(AnimationFlags.StopOnLastFrame));

            API.shared.delay(1500, true, () =>
            {
                player.stopAnimation();
            });

            return(true);
        }
コード例 #6
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
        /// <summary>
        /// Objective of type player Capture functionality.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="objInfo"></param>
        public static bool objectiveCapture(Client player, ObjectiveInfo objInfo)
        {
            if (!isCloseToObjective(player, objInfo.Location, 8))
            {
                return(false);
            }

            if (!isCoolDownOver(player))
            {
                return(false);
            }

            objInfo.Progress += 5;

            if (objInfo.Progress < 100)
            {
                return(false);
            }

            return(true);
        }
コード例 #7
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
        /// <summary>
        /// Objective of type Vehicle Location functionality.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="objInfo"></param>
        public static bool objectiveVehicleLocation(Client player, ObjectiveInfo objInfo)
        {
            if (!player.isInVehicle)
            {
                return(false);
            }

            if (!player.vehicle.hasData("Mission_UID"))
            {
                return(false);
            }

            if (player.vehicle.getData("Mission_UID") != objInfo.UniqueVehicleID)
            {
                return(false);
            }

            if (player.position.DistanceTo(objInfo.Location) >= 5)
            {
                return(false);
            }

            return(true);
        }
コード例 #8
0
ファイル: ObjectiveTypes.cs プロジェクト: shotaxx/Essence
        /// <summary>
        /// Objective of type Vehicle Capture functionality.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="objInfo"></param>
        public static bool objectiveVehicleCapture(Client player, ObjectiveInfo objInfo)
        {
            if (!player.isInVehicle)
            {
                return(false);
            }

            if (!player.vehicle.hasData("Mission_UID"))
            {
                return(false);
            }

            if (player.vehicle.getData("Mission_UID") != objInfo.UniqueVehicleID)
            {
                return(false);
            }

            if (!isCloseToObjective(player, objInfo.Location, 8))
            {
                return(false);
            }

            if (!isCoolDownOver(player))
            {
                return(false);
            }

            objInfo.Progress += 5;

            if (objInfo.Progress < 100)
            {
                return(false);
            }

            return(true);
        }