Ejemplo n.º 1
0
        public static void CMD_CreateVehicle(MyPlayer player, string vehName, int r = 0, int g = 0, int b = 0)
        {
            uint vehHash = Alt.Hash(vehName);

            if (!Enum.IsDefined(typeof(AltV.Net.Enums.VehicleModel), vehHash))
            {
                player.SendChatMessage("[Server] Ungültiger Fahrzeugname!");
                return;
            }

            MyVehicle veh;

            if (player.HasData("altvtutorial:vehicle"))
            {
                player.GetData("altvtutorial:vehicle", out veh);
                veh.Remove();
            }

            //IVehicle veh = Alt.CreateVehicle(vehHash, GetRandomPositionAround(player.Position, 5.0f), player.Rotation);
            veh = new MyVehicle(vehHash, GetRandomPositionAround(player.Position, 5.0f), player.Rotation);
            veh.PrimaryColorRgb   = new Rgba(Convert.ToByte(r), Convert.ToByte(g), Convert.ToByte(b), 255);
            veh.SecondaryColorRgb = new Rgba(Convert.ToByte(r), Convert.ToByte(g), Convert.ToByte(b), 255);

            player.SetData("altvtutorial:vehicle", veh);

            player.SendChatMessage("Fahrzeug gespawnt!");
        }
Ejemplo n.º 2
0
        public void OnLoginAttempt(MyPlayer player, string username, string password)
        {
            if (player.IsLoggedIn || username.Length < 4 || password.Length < 4)
            {
                return;
            }

            //Vorname_Nachname
            Regex regex = new Regex(@"([a-zA-Z]+)_([a-zA-Z]+)");

            if (!regex.IsMatch(username))
            {
                player.Emit("alttutorial:loginError", 1, "Der Name muss dem Format: Vorname_Nachname entsprechen.");
                return;
            }

            if (!PlayerDatabase.DoesPlayerNameExists(username))
            {
                player.Emit("alttutorial:loginError", 1, "Der Name ist nicht vergeben!");
                return;
            }

            if (PlayerDatabase.CheckLoginDetails(username, password))
            {
                //Passwort ist korrekt
                player.LoadPlayer(username);
                player.Spawn(new Position(0, 0, 72), 0);
                player.Emit("alttutorial:loginSuccess");
                player.SendNotification("Erfolgreich eingeloggt!");
                if (player.HasData("alttutorial:loginattempts"))
                {
                    player.DeleteData("alttutorial:loginattempts");
                }
            }
            else
            {
                //Passwort ist nicht korrekt
                player.Emit("alttutorial:loginError", 1, "Login Daten stimmen nicht überein!");

                int attempts = 1;
                if (player.HasData("alttutorial:loginattempts"))
                {
                    player.GetData("alttutorial:loginattempts", out attempts);

                    if (attempts == 2)
                    {
                        player.Kick("Zu viele Loginversuche.");
                    }
                    else
                    {
                        attempts++;
                    }
                }
                player.SetData("alttutorial:loginattempts", attempts);
            }
        }