Пример #1
0
        /// <summary>
        /// Synchronizuje jedną informację o pojeździe dla gracza (lub wszystkich, jeśli player == null).
        /// </summary>
        /// <param name="player"></param>
        /// <param name="remoteId"></param>
        /// <param name="name"></param>
        /// <param name="value"></param>
        public static void SyncVehicleForPlayer(Client player, int remoteId, string name, object value)
        {
            GTANetworkAPI.Vehicle remoteVehicle = NAPI.Pools.GetAllVehicles().Find(t => t.Value == remoteId);
            if (remoteVehicle == default(GTANetworkAPI.Vehicle))
            {
                return;
            }

            Vehicle vehData = GetVehicleData(remoteVehicle);

            if (vehData == null)
            {
                return;
            }

            if (player == null)
            {
                foreach (Client entry in NAPI.Pools.GetAllPlayers())
                {
                    NAPI.ClientEvent.TriggerClientEvent(entry, "client.vehicle.sync.option", remoteId, name, value);
                }
            }
            else
            {
                NAPI.ClientEvent.TriggerClientEvent(player, "client.vehicle.sync.option", remoteId, name, value);
            }
        }
Пример #2
0
        public static Character GetDriver(GTANetworkAPI.Vehicle veh)
        {
            foreach (KeyValuePair <int, Character> entry in Account.GetAllPlayers())
            {
                if (entry.Value.PlayerHandle.IsInVehicle && entry.Value.PlayerHandle.Vehicle == veh)
                {
                    return(entry.Value);
                }
            }

            return(null);
        }
Пример #3
0
        /// <summary>
        /// Synchronizuje wszystkie informacje o pojeździe dla gracza (lub wszystkich, jeśli player == null).
        /// </summary>
        /// <param name="player"></param>
        /// <param name="remoteId"></param>
        public static void SyncVehicleForPlayer(Client player, int remoteId)
        {
            // if (player != null)
            // {
            //     Log.ConsoleLog("VEHICLE", $"Sync vehicle {remoteId} for player {player.SocialClubName}", LogType.Debug);
            // }
            // else
            // {
            //     Log.ConsoleLog("VEHICLE", $"Sync vehicle {remoteId} for all playes.", LogType.Debug);
            // }

            GTANetworkAPI.Vehicle remoteVehicle = NAPI.Pools.GetAllVehicles().Find(t => t.Value == remoteId);
            if (remoteVehicle == default(GTANetworkAPI.Vehicle))
            {
                return;
            }

            Vehicle vehData = GetVehicleData(remoteVehicle);

            if (vehData == null)
            {
                return;
            }

            if (player == null)
            {
                foreach (Client entry in NAPI.Pools.GetAllPlayers())
                {
                    NAPI.ClientEvent.TriggerClientEvent(entry, "client.vehicle.sync", vehData.VehicleHandle.Value,
                                                        !vehData.SirenSound, vehData.LeftIndicator, vehData.RightIndicator, vehData.Hood, vehData.Trunk,
                                                        vehData.Health, vehData.Livery, vehData.FirstColor, vehData.SecondColor,
                                                        vehData.VehicleHandle.Siren, JsonConvert.SerializeObject(vehData.MappedExtras),
                                                        JsonConvert.SerializeObject(vehData.TestHandling), vehData.VehicleDescription);
                }
            }
            else
            {
                NAPI.ClientEvent.TriggerClientEvent(player, "client.vehicle.sync", vehData.VehicleHandle.Value,
                                                    !vehData.SirenSound, vehData.LeftIndicator, vehData.RightIndicator, vehData.Hood, vehData.Trunk,
                                                    vehData.Health, vehData.Livery, vehData.FirstColor, vehData.SecondColor,
                                                    vehData.VehicleHandle.Siren, JsonConvert.SerializeObject(vehData.MappedExtras),
                                                    JsonConvert.SerializeObject(vehData.TestHandling), vehData.VehicleDescription);
            }
        }
Пример #4
0
 /// <summary>
 /// Zwraca dane pojazdu.
 /// </summary>
 /// <param name="veh"></param>
 /// <returns></returns>
 public static Vehicle GetVehicleData(GTANetworkAPI.Vehicle veh)
 {
     return(veh.HasData("vehicle.id") ? GetVehicleData((int)veh.GetData("vehicle.id")) : null);
 }