コード例 #1
0
    protected override void OnPlayerRequestClass(BasePlayer sender, RequestClassEventArgs e)
    {
        var player = sender as Player;

        if (player.IsStateUser == StateUser.Kill)
        {
            player.IsStateUser = StateUser.None;
            player.SetSpawnInfo(0, 0, new Vector3(0, 0, 0), 0);
            player.Spawn();
            return;
        }

        /* Check if the player has died before entering class selection. */
        if (player.IsDead)
        {
            Player.Remove(player);
            TextDrawGlobal.UpdateCountUsers();
            TextDrawGlobal.Hide(player);
            TextDrawPlayer.Hide(player);
        }

        player.Color            = ColorWhite;
        player.Team             = BasePlayer.NoTeam;
        player.IsSelectionClass = true;
        player.Position         = new Vector3(-1389.137451, 3314.043701, 20.493314);
        player.CameraPosition   = new Vector3(-1399.776000, 3310.254150, 21.525623);
        player.SetCameraLookAt(new Vector3(-1395.072143, 3311.873291, 22.027709));
        player.Angle      = 111.68f;
        player.Interior   = 0;
        player.PlayerTeam = (e.ClassId == 0) ? (TeamAlpha) : (TeamBeta);
        player.PlayerTeam.GetMessageTeamEnable(out var msg);
        player.GameText(msg, 999999999, 3);
        player.PlaySound(1132);
        player.IsDead = false;
    }
コード例 #2
0
        internal bool OnPlayerRequestClass(int playerid, int classid)
        {
            var args = new RequestClassEventArgs(classid);

            OnPlayerRequestClass(BasePlayer.FindOrCreate(playerid), args);

            return(!args.PreventSpawning);
        }
コード例 #3
0
        private void Class_PlayerRequestClass(object sender, RequestClassEventArgs e)
        {
            if (!(sender is Player player))
            {
                return;
            }

            player.Interior       = 14;
            player.Position       = new Vector3(258.4893, -41.4008, 1002.0234);
            player.Angle          = 270.0f;
            player.CameraPosition = new Vector3(256.0815, -43.0475, 1004.0234);
            player.SetCameraLookAt(new Vector3(258.4893, -41.4008, 1002.0234));

            switch (e.ClassId)
            {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
                player.GameText(Messages.TruckerClass, 3000, 4);
                player.PlayerClass = PlayerClassType.TruckDriver;
                break;

            case 8:
            case 9:
                player.GameText(Messages.BusDriverClass, 3000, 4);
                player.PlayerClass = PlayerClassType.BusDriver;
                break;

            case 10:
                player.GameText(Messages.PilotClass, 3000, 4);
                player.PlayerClass = PlayerClassType.Pilot;
                break;

            case 11:
            case 12:
            case 13:
                player.GameText(Messages.PoliceClass, 3000, 4);
                player.PlayerClass = PlayerClassType.Police;
                break;

            case 14:
            case 15:
            case 16:
                player.GameText(Messages.MafiaClass, 3000, 4);
                player.PlayerClass = PlayerClassType.Mafia;
                break;

            case 17:
                player.GameText(Messages.AssistanceClass, 3000, 4);
                player.PlayerClass = PlayerClassType.Assistance;
                break;
            }
        }
コード例 #4
0
        public override async void OnRequestClass(RequestClassEventArgs e)
        {
            if (IsLoggedIn)
            {
                return;
            }

            SendClientMessage(Color.Red, Messages.FailedToLoginProperly);
            await Task.Delay(Configuration.Instance.KickDelay);

            Kick();

            base.OnRequestClass(e);
        }
コード例 #5
0
ファイル: GameMode.cs プロジェクト: SelfRecursion/tun-sharp
        protected override void OnPlayerRequestClass(BasePlayer player, RequestClassEventArgs e)
        {
            base.OnPlayerRequestClass(player, e);

            if (player.IsNPC)
            {
                return;
            }

            player.Position       = new Vector3(1626.472045f, -1682.130859f, 10.0f); // important to properly render the screen
            player.CameraPosition = new Vector3(1626.472045f, -1682.130859f, 13.375000f);
            player.SetCameraLookAt(new Vector3(1643.263305f, -1665.203613f, 23.520149f));

            Console.WriteLine($"{player.Name} has requested class.");
        }
コード例 #6
0
ファイル: Bare.cs プロジェクト: RenanMsV/SampSharp-bare
 protected override void OnPlayerRequestClass(BasePlayer player, RequestClassEventArgs e)
 {
     base.OnPlayerRequestClass(player, e);
     SetupPlayerForClassSelection(player);
 }