private static ComputerPlusEntity generateVehicleOwner(string ownerName)
        {
            Ped ped = null;

            while (ped == null)
            {
                //Last ditch effort to make C+ happy by just providing any ped as the owner and setting them as the owner
                ped = FindRandomPed();
                if (ped != null && !ped.IsValid())
                {
                    ped = null;
                }
            }
            var parts = ownerName.Split(' ');

            while (parts.Length < 2)
            {
                parts = PersonaHelper.GetRandomFullName().Split(' ');
            }
            int timesStopped = Globals.Random.Next(0, 4);
            var persona      = new Persona(parts[0], parts[1], Gender.Random, RandomDay());

            Functions.SetPersonaForPed(ped, persona);
            return(ComputerPlusEntity.CreateFrom(ped));
        }
예제 #2
0
        private Persona CreatePersona(Vehicle veh, ELicenseState lic, bool wanted, out string ownerName, bool couldBeCop = false, bool driverOwnsCar = true)
        {
            if (/*veh &&*/ veh.HasDriver && veh.Driver)
            {
                Logger.LogTrivialDebug(String.Format("Creating Persona for driver of {0} (Plate# {1})", veh.Model.Name, veh.LicensePlate));

                Persona oldP = Functions.GetPersonaForPed(veh.Driver);

                string mFullName = "";
                Gender mGender;

                if (oldP != null)
                {
                    mFullName = oldP.FullName;
                    mGender   = oldP.Gender;

                    Logger.LogTrivialDebug(String.Format("Using name({0}) and gender ({1}) from old Persona...", mFullName, mGender.ToString()));
                }
                else
                {
                    mFullName = PersonaHelper.GetRandomFullName();

                    if (veh.Driver.IsFemale)
                    {
                        mGender = Gender.Female;
                    }
                    else
                    {
                        mGender = Gender.Male;
                    }

                    Logger.LogTrivialDebug(String.Format("Old persona is null; using new name ({0}); ped appears to be {1}", mFullName, mGender.ToString()));
                }

                string[] nameParts = mFullName.Split(' ');
                Logger.LogTrivialDebug(String.Format("First name: {0}, Last name: {1}", nameParts[0], nameParts[1]));

                bool isCop = false;
                if (couldBeCop == true)
                {
                    if (Globals.Random.Next(100) < 20)
                    {
                        isCop = true;
                    }
                }
                Logger.LogTrivialDebug(String.Format("isCop: {0}", isCop.ToString()));

                if (driverOwnsCar)
                {
                    ownerName = mFullName;
                    Logger.LogTrivialDebug(String.Format("Driver owns vehicle...using {0} as registered owner", ownerName));
                }
                else
                {
                    ownerName = PersonaHelper.GetRandomFullName();
                    Logger.LogTrivialDebug(String.Format("Driver does NOT own vehicle...using new name ({0}) as registered owner", ownerName));
                }

                Logger.LogTrivialDebug("Creating new Persona object");
                Logger.LogTrivialDebug(String.Format("Gender: {0}, Birthday: {1}, Citations: {2}, Forename: {3}, Surname: {4}, License: {5}, Stopped: {6}, Wanted: {7}, IsCop: {8}",
                                                     mGender.ToString(), oldP.Birthday.ToString(), oldP.Citations, nameParts[0], nameParts[1], lic.ToString(), oldP.TimesStopped, wanted.ToString(), isCop.ToString()));

                Persona p = new Persona(nameParts[0], nameParts[1], mGender, oldP.Birthday)
                {
                    Citations     = oldP.Citations,
                    ELicenseState = lic,
                    TimesStopped  = oldP.TimesStopped,
                    Wanted        = wanted,
                };
                //Persona p = new Persona(veh.Driver, mGender, oldP.BirthDay, oldP.Citations, nameParts[0], nameParts[1], lic, oldP.TimesStopped, wanted, false, isCop);
                Functions.SetPersonaForPed(veh.Driver, p);
                Functions.SetVehicleOwnerName(veh, ownerName);
                return(p);
            }
            else
            {
                ownerName = "";
                return(null);
            }
        }
예제 #3
0
        private string GetRandomSurname()
        {
            string randomname = PersonaHelper.GetRandomFullName();

            return(randomname.Substring(randomname.IndexOf(' ') + 1));
        }