예제 #1
0
        public void GeburtstagVersuch(Client Player, String geburtstag)
        {
            DateTime Geburtstag = DateTime.Parse(geburtstag);

            if (Geburtstag > DateTime.Now)
            {
                NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Der Geburtstag muss in der Vergangenheit liegen."); return;
            }
            if (Geburtstag < DateTime.Parse("01/01/1950"))
            {
                NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: So alt kannst du nicht sein!"); return;
            }
            if (Geburtstag > DateTime.Today.AddYears(-18))
            {
                NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Du musst mindestens 18 Jahre alt sein!"); return;
            }

            var Account = ContextFactory.Instance.srp_accounts.Where(x => x.SocialClub == Player.SocialClubName).FirstOrDefault();

            Account.GeburtsDatum = Geburtstag;

            Player.TriggerEvent("kameraoff");
            Player.TriggerEvent("geburtstagbrowserschliessen");

            Funktionen.SpielerLaden(Player);
            Funktionen.SpawnManager(Player);
            Funktionen.LogEintrag(Player, "Geburtstag gesetzt: " + Geburtstag);

            ContextFactory.Instance.SaveChanges();
        }
예제 #2
0
        public void NicknameVersuch(Client Player, String nickname)
        {
            var Check = ContextFactory.Instance.srp_accounts.Count(x => x.NickName == nickname);
            {
                //Prüfen ob der Nickname bereits vorhanden ist
                if (Check > 0)
                {
                    NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Der Name" + nickname + " wird bereits bei uns verwendet!");
                }
                else
                {
                    if (nickname.Length < 4)
                    {
                        NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Der Nickname sollte mindestens 4 Zeichen haben!"); return;
                    }
                    if (nickname.Contains(" "))
                    {
                        NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: Dieser Nickname ist nicht möglich!"); return;
                    }

                    var Account = ContextFactory.Instance.srp_accounts.Where(x => x.SocialClub == Player.SocialClubName).FirstOrDefault();
                    Account.NickName = nickname;

                    NAPI.Notification.SendNotificationToPlayer(Player, "~y~Info~w~: ~w~Du heißt jetzt " + nickname + "!");

                    Player.TriggerEvent("nicknamebrowserschliessen");
                    Player.TriggerEvent("geburtstagbrowseroeffnen");

                    Funktionen.LogEintrag(Player, "Nickname gesetzt: " + nickname);

                    ContextFactory.Instance.SaveChanges();
                }
            }
        }
예제 #3
0
        public void OnPlayerConnected(Client Player)
        {
            //Eingeloggt auf 0 für Command Check
            Player.SetData("Eingeloggt", 0);
            Player.SetData("HatAccount", 0);

            //Chat weg
            Player.TriggerEvent("Chathiden");
            Player.SetData("Chat", 0);

            //Whitelist Check
            var Check = ContextFactory.Instance.srp_whitelist.Count(x => x.SocialClub == Player.SocialClubName);

            {
                if (Check == 0)
                {
                    NAPI.Notification.SendNotificationToPlayer(Player, "~r~Du bist nicht auf der Whitelist. Melde dich auf www.strawberry-rp.de");

                    //Log Eintrag
                    Funktionen.LogEintrag(Player, "Nicht auf der Whitelist");

                    NAPI.Player.KickPlayer(Player, "Nicht auf der Whitelist");
                    return;
                }
            }

            //DLCs Checken
            Player.TriggerEvent("checkDLC");

            //Log Eintrag
            Funktionen.LogEintrag(Player, "Verbunden");

            //Consolen Nachricht
            NAPI.Util.ConsoleOutput("[StrawberryRP] " + Player.SocialClubName + " hat sich mit dem Server verbunden. [" + DateTime.Now + "]", ConsoleColor.Red);

            //Laden und danach Login/Register
            Player.TriggerEvent("Laden");
            Timer.SetTimer(() => Funktionen.LoginLadenBeenden(Player), 4000, 1);

            //An den eine Versteckte Position setzen damit er nirgendwo rumsteht
            Player.Position = new Vector3(-3245.781, 945.7014, 7.519356);

            //Freeze
            Funktionen.Freeze(Player);

            //Camera
            Player.TriggerEvent("moveSkyCamera", Player, "up", 1, false);
        }
예제 #4
0
        public void LoginVersuch(Client player, string passwort)
        {
            var Check = ContextFactory.Instance.srp_accounts.Count(x => x.SocialClub == player.SocialClubName);

            if (Check == 0)
            {
                NAPI.Notification.SendNotificationToPlayer(player, "~y~Info~w~: Der Name " + player.SocialClubName + " ist noch nicht bei uns registriert!");
            }
            else
            {
                foreach (var Account in ContextFactory.Instance.srp_accounts.Where(x => x.SocialClub == player.SocialClubName).ToList())
                {
                    if (GetMD5Hash(passwort) == Account.Passwort)
                    {
                        player.TriggerEvent("browserschliessen");

                        Funktionen.LogEintrag(player, "Eingeloggt");
                        if (Account.NickName == "Keiner")
                        {
                            player.TriggerEvent("nicknamebrowseroeffnen");
                        }
                        else if (Account.GeburtsDatum == DateTime.Parse("01/01/1900"))
                        {
                            player.TriggerEvent("geburtstagbrowseroeffnen");
                        }
                        else
                        {
                            Funktionen.SpielerLaden(player);
                            Funktionen.SpawnManager(player);
                            player.TriggerEvent("kameraoff");
                        }
                    }
                    else
                    {
                        NAPI.Notification.SendNotificationToPlayer(player, "~y~Info~w~: ~w~Dieses Passwort scheint nicht zu stimmen!");
                    }
                }
            }
        }
예제 #5
0
        public void OnPlayerDisconnected(Client Player, DisconnectionType type, string reason)
        {
            //Nur speichern wenn er Eingeloggt war
            if (Player.GetData("Eingeloggt") == 1)
            {
                Fahrzeuge.JobFahrzeugLöschen(Player, Funktionen.AccountJobFahrzeugBekommen(Player));
                Funktionen.AccountPositionInteriorDimensionUpdaten(Player);
                Funktionen.SpielerSpeichernDisconnect(Player);

                //Spieler Online Status
                Funktionen.ServerSpielerGejoined(2);
            }

            //Daten zur Sicherheit zurücksetzen
            //Generelle Daten
            Player.SetData("HatAccount", 0);
            Player.SetData("InteriorName", 0);
            Player.SetData("Eingeloggt", 1);
            Player.SetData("BewegtSichMitFahrzeug", 0);
            Player.SetData("SiehtPerso", 0);
            Player.SetData("IBerry", 0);
            Player.SetData("Scoreboard", 0);
            Player.SetData("Interaktionsmenu", 0);
            Player.SetData("Freezed", 0);
            Player.SetData("AmTanken", 0);
            Player.SetData("TankenTankstellenId", 0);
            Player.SetData("TankRechnung", 0);
            Player.SetData("KaufenTyp", 0);
            Player.SetData("KaufenId", 0);
            Player.SetData("KaufenPreis", 0);
            Player.SetData("KeyCoolDown", 0);
            Player.SetData("MenuCoolDown", 0);
            Player.SetData("Verwaltungsmodus", 0);
            Player.SetData("NachträglicherNickname", 0);
            Player.SetData("HeiratsAntrag", 0);
            Player.SetData("HeiratsId", 0);
            Player.SetData("HeiratenId", 0);
            Player.SetData("HeiratenBrowser", 0);
            Player.SetData("GruppenEinladungId", 0);
            Player.SetData("StadthalleInt", 0);
            Player.SetData("Chat", 0);

            //Job Daten Berufskraftfahrer
            Player.SetData("BerufskraftfahrerFahrzeug", 0);
            Player.SetData("BerufskraftfahrerHolz", 0);
            Player.SetData("BerufskraftfahrerHolzGeladen", 0);
            Player.SetData("BerufskraftfahrerJobAngenommen", 0);
            Player.SetData("BerufskraftfahrerKraftstoffTyp", 0);
            Player.SetData("BerufskraftfahrerDieselTanke", 0);
            Player.SetData("BerufskraftfahrerE10Tanke", 0);
            Player.SetData("BerufskraftfahrerSuperTanke", 0);
            Player.SetData("BerufskraftfahrerVerdienst", 0);
            Player.SetData("BerufskraftfahrerAmAbladen", 0);

            //Job Daten Busfahrer
            Player.SetData("BusfahrerFahrzeug", 0);
            Player.SetData("BusfahrerJobAngenommen", 0);
            Player.SetData("BusfahrerRoute", 0);
            Player.SetData("BusfahrerRoutePosition", 0);

            //Dialoge
            Player.SetData("FahrzeugPrivatDialog", 0);

            //Voice
            Player.SetData("IS_SPEAKING", 0);

            //Voice Disconnect
            Player.TriggerEvent("DisconnectTeamspeak");

            Funktionen.LogEintrag(Player, "Verbindung getrennt");
            NAPI.Util.ConsoleOutput("[StrawberryRP] " + Player.SocialClubName + " hat den Server verlassen.", ConsoleColor.Red);
        }
예제 #6
0
        public void RegistrierenVersuch(Client player, string passwort)
        {
            var Check = ContextFactory.Instance.srp_accounts.Count(x => x.SocialClub == player.SocialClubName);
            {
                //Prüfen ob der Social Club Name bereits registriert ist
                if (Check > 0)
                {
                    NAPI.Notification.SendNotificationToPlayer(player, "~y~Info~w~: Der Name " + player.SocialClubName + " ist bereits bei uns registriert!");
                }
                else
                {
                    //Passwortlänge prüfen
                    if (passwort.Length < 6)
                    {
                        NAPI.Notification.SendNotificationToPlayer(player, "~y~Info~w~: Das Passwort sollte minimum 6 Zeichen haben!"); return;
                    }
                    if (passwort.Contains(" "))
                    {
                        NAPI.Notification.SendNotificationToPlayer(player, "~y~Info~w~: Leerzeichen sind ungültig!"); return;
                    }

                    var NeuerAccount = new Account
                    {
                        SocialClub           = player.SocialClubName,
                        NickName             = "Keiner",
                        Passwort             = GetMD5Hash(passwort),
                        AdminLevel           = 0,
                        Fraktion             = 0,
                        FraktionRang         = 0,
                        Job                  = 0,
                        Geld                 = GlobaleSachen.StartGeld,
                        BankGeld             = 0,
                        Perso                = 0,
                        Spielzeit            = 0,
                        Exp                  = 0,
                        Gruppe               = 0,
                        GeburtsDatum         = DateTime.Parse("01/01/1900"),
                        EinreiseDatum        = DateTime.Now,
                        ZuletztOnline        = DateTime.Now,
                        Verheiratet          = "Nein",
                        FahrzeugSchlüssel    = 0,
                        Kündigungszeit       = 0,
                        PositionX            = -3260.276f,
                        PositionY            = 967.3442f,
                        PositionZ            = 8.832886f,
                        PositionRot          = 270.343f,
                        Dimension            = 0,
                        Interior             = "0",
                        Component1Drawable   = 0,
                        Component3Drawable   = 0,
                        Component4Drawable   = 0,
                        Component6Drawable   = 0,
                        Component7Drawable   = 0,
                        Component8Drawable   = 0,
                        Component11Drawable  = 0,
                        BerufskraftfahrerExp = 0,
                        Tutorial             = 0
                    };

                    //Query absenden
                    ContextFactory.Instance.srp_accounts.Add(NeuerAccount);
                    ContextFactory.Instance.SaveChanges();

                    Funktionen.LogEintrag(player, "Registriert");

                    player.TriggerEvent("browserschliessen");
                    player.TriggerEvent("nicknamebrowseroeffnen");

                    NAPI.Notification.SendNotificationToPlayer(player, "~y~Info~w~: Du hast dich erfolgreich als " + player.SocialClubName + " registriert!");
                }
            }
        }