public override void OnStart() { #if !GTA_SCO Player = (Player) new Player(GlobalVariable.Get(2).Value); #if GTA_SA Player.Character = (Ped) new Ped(GlobalVariable.Get(3).Value); #endif #if GTA_III Player.Character = (Ped) new Ped(GlobalVariable.Get(11).Value); #endif #else Player = new Player(); Player.Character = new Ped(); #endif }
public const NetDeliveryMethod SYNC_MESSAGE_TYPE = NetDeliveryMethod.UnreliableSequenced; // unreliable_sequenced #endregion public Main() { res = UIMenu.GetScreenResolutionMantainRatio(); screen = GTA.UI.Screen.Resolution; LogManager.RuntimeLog("\r\n>> [" + DateTime.Now + "] GTA Network Initialization."); World.DestroyAllCameras(); CrossReference.EntryPoint = this; GameSettings = Misc.GameSettings.LoadGameSettings(); PlayerSettings = Util.Util.ReadSettings(GTANInstallDir + "\\settings.xml"); CefUtil.DISABLE_CEF = PlayerSettings.DisableCEF; DebugInfo.ShowFps = PlayerSettings.ShowFPS; EnableMediaStream = PlayerSettings.MediaStream; EnableDevTool = PlayerSettings.CEFDevtool; _threadJumping = new Queue <Action>(); NetEntityHandler = new Streamer.Streamer(); CameraManager = new CameraManager(); Watcher = new SyncEventWatcher(this); VehicleSyncManager = new UnoccupiedVehicleSync(); WeaponInventoryManager = new WeaponManager(); Npcs = new Dictionary <string, SyncPed>(); _tickNatives = new Dictionary <string, NativeData>(); _dcNatives = new Dictionary <string, NativeData>(); EntityCleanup = new List <int>(); BlipCleanup = new List <int>(); _emptyVehicleMods = new Dictionary <int, int>(); for (var i = 0; i < 50; i++) { _emptyVehicleMods.Add(i, 0); } Chat = new ClassicChat(); Chat.OnComplete += ChatOnComplete; _backupChat = (ClassicChat)Chat; LogManager.RuntimeLog("Attaching OnTick loop."); Tick += OnTick; KeyDown += OnKeyDown; KeyUp += (sender, args) => { if (args.KeyCode == Keys.Escape && _wasTyping) { _wasTyping = false; } }; _config = new NetPeerConfiguration("GTANETWORK") { Port = 8888, ConnectionTimeout = 30f }; _config.EnableMessageType(NetIncomingMessageType.ConnectionLatencyUpdated); LogManager.RuntimeLog("Building menu."); _menuPool = new MenuPool(); BuildMainMenu(); //Function.Call(Hash._ENABLE_MP_DLC_MAPS, true); // _ENABLE_MP_DLC_MAPS Function.Call(Hash._USE_FREEMODE_MAP_BEHAVIOR, true); // _ENABLE_MP_DLC_MAPS Function.Call(Hash._LOAD_MP_DLC_MAPS); // _LOAD_MP_DLC_MAPS / _USE_FREEMODE_MAP_BEHAVIOR MainMenuCamera = World.CreateCamera(new Vector3(743.76f, 1070.7f, 350.24f), new Vector3(), GameplayCamera.FieldOfView); MainMenuCamera.PointAt(new Vector3(707.86f, 1228.09f, 333.66f)); RelGroup = World.AddRelationshipGroup("SYNCPED"); FriendRelGroup = World.AddRelationshipGroup("SYNCPED_TEAMMATES"); RelGroup.SetRelationshipBetweenGroups(Game.Player.Character.RelationshipGroup, Relationship.Pedestrians, true); FriendRelGroup.SetRelationshipBetweenGroups(Game.Player.Character.RelationshipGroup, Relationship.Companion, true); SocialClubName = Game.Player.Name; LogManager.RuntimeLog("Getting welcome message."); GetWelcomeMessage(); var t = new Thread(UpdateSocialClubAvatar) { IsBackground = true }; t.Start(); //Function.Call(Hash.SHUTDOWN_LOADING_SCREEN); Audio.SetAudioFlag(AudioFlags.LoadMPData, true); Audio.SetAudioFlag(AudioFlags.DisableBarks, true); Audio.SetAudioFlag(AudioFlags.DisableFlightMusic, true); Audio.SetAudioFlag(AudioFlags.PoliceScannerDisabled, true); Audio.SetAudioFlag(AudioFlags.OnlyAllowScriptTriggerPoliceScanner, true); Function.Call(Hash._FORCE_AMBIENT_SIREN, false); //_FORCE_AMBIENT_SIREN // disable fire dep dispatch service Function.Call(Hash.ENABLE_DISPATCH_SERVICE, 4, false); // ENABLE_DISPATCH_SERVICE GlobalVariable.Get(2576573).Write(1); //Enable MP cars? LogManager.RuntimeLog("Reading whitelists."); ThreadPool.QueueUserWorkItem(delegate { NativeWhitelist.Init(); SoundWhitelist.Init(); }); //var fetchThread = new Thread((ThreadStart) delegate //{ // var list = Process.GetProcessesByName("GameOverlayUI"); // if (!list.Any()) return; // for (var index = list.Length - 1; index >= 0; index--) list[index].Kill(); //}); //fetchThread.Start(); if (!PlayerSettings.DisableCEF) { LogManager.RuntimeLog("Initializing CEF."); CEFManager.InitializeCef(); } LogManager.RuntimeLog("Rebuilding Server Browser."); RebuildServerBrowser(); LogManager.RuntimeLog("Checking game files integrity."); IntegrityCheck(); }