Exemple #1
0
		private static async void PlayerGetOff(int player, int cab)
		{
			Ped Char = (Ped)Entity.FromNetworkId(player);
			CabinPan Cabin = Cabins[cab];
			if (Char == Game.PlayerPed)
			{
				while (ActualCabin != Cabin) await BaseScript.Delay(0);
				RenderScriptCams(false, false, 1000, false, false);
				BaseScript.TriggerServerEvent("FerrisWheel:StopWheel", true);
				Vector3 offset = GetOffsetFromEntityInWorldCoords(Cabin.Entity.Handle, 0f, 0f, 0f);
				Cam1.Delete();
				DestroyAllCams(false);
				int uLocal_377 = NetworkCreateSynchronisedScene(offset.X, offset.Y, offset.Z, 0f, 0f, 0f, 2, false, false, 1065353216, 0, 1065353216);
				NetworkAddPedToSynchronisedScene(Char.Handle, uLocal_377, "anim@mp_ferris_wheel", "exit_player_one", 8f, -8f, 131072, 0, 1148846080, 0);
				NetworkStartSynchronisedScene(uLocal_377);
				Char.Detach();
				await BaseScript.Delay(5000);
				Cabin.NPlayer = 0;
				BaseScript.TriggerServerEvent("FerrisWheel:UpdateCabins", Cabin.Index, Cabin.NPlayer);
				if (IsAudioSceneActive("FAIRGROUND_RIDES_FERRIS_WHALE"))
					StopAudioScene("FAIRGROUND_RIDES_FERRIS_WHALE");
				if (IsAudioSceneActive("FAIRGROUND_RIDES_FERRIS_WHALE_ALTERNATIVE_VIEW"))
					StopAudioScene("FAIRGROUND_RIDES_FERRIS_WHALE_ALTERNATIVE_VIEW");
				if (Char.Handle == PlayerPedId())
					RideEnd = true;
				BaseScript.TriggerServerEvent("FerrisWheel:StopWheel", false);
				Wheel.State = "IDLE";
				ActualCabin = null;
			}
			else
			{
				if (Char.NetworkId != Game.PlayerPed.NetworkId)
					if (!NetworkHasControlOfNetworkId(player))
						while (!NetworkRequestControlOfNetworkId(player)) await BaseScript.Delay(0);
				Vector3 offset = GetOffsetFromEntityInWorldCoords(Cabin.Entity.Handle, 0f, 0f, 0f);
				int uLocal_377 = NetworkCreateSynchronisedScene(offset.X, offset.Y, offset.Z, 0f, 0f, 0f, 2, false, false, 1065353216, 0, 1065353216);
				NetworkAddPedToSynchronisedScene(Char.Handle, uLocal_377, "anim@mp_ferris_wheel", "exit_player_one", 8f, -8f, 131072, 0, 1148846080, 0);
				NetworkStartSynchronisedScene(uLocal_377);
				Char.Detach();
				await BaseScript.Delay(5000);
				Cabin.NPlayer = 0;
				BaseScript.TriggerServerEvent("FerrisWheel:UpdateCabins", Cabin.Index, Cabin.NPlayer);
			}
		}
        /// <summary>
        /// 魚を発射してしばらくしたら爆破する
        /// </summary>
        private IEnumerable <object> ShootFish(Vehicle veh, Ped fish)
        {
            if (!fish.IsSafeExist())
            {
                if (veh.IsSafeExist())
                {
                    vehicles.Remove(veh.Handle);
                }
                yield break;
            }
            fish.Detach();
            fish.IsInvincible = false;
            fish.RequestCollision();
            fish.FreezePosition = false;
            CreateEffect(fish, "ent_sht_electrical_box");

            yield return(null);

            if (fish.IsSafeExist())
            {
                fish.Velocity = fish.ForwardVector * (100 + veh.Speed);
            }

            //速度が一定以下になったら爆発
            foreach (var x in WaitForSeconds(10))
            {
                if (!fish.IsSafeExist())
                {
                    if (veh.IsSafeExist())
                    {
                        vehicles.Remove(veh.Handle);
                    }
                    yield break;
                }
                if (fish.Velocity.Length() < 6)
                {
                    break;
                }
                yield return(null);
            }

            if (veh.IsSafeExist())
            {
                vehicles.Remove(veh.Handle);
            }
            if (!fish.IsSafeExist())
            {
                yield break;
            }
            GTA.World.AddExplosion(fish.Position, GTA.ExplosionType.Grenade, 1.0f, 1.0f);
        }
Exemple #3
0
        public static async Task PedCheck()
        {
            await BaseScript.Delay(0);

            foreach (Ped allPed in World.GetAllPeds())
            {
                Logger.Log("BlacklistModule > Executed Ped Check with " + allPed.Model.Hash, Logger.LogLevel.DEBUG);
                Ped ped = allPed;
                if (BlacklistModule.pedBlacklist.Contains(ped.Model.Hash))
                {
                    if (!ped.IsPlayer)
                    {
                        ped.Detach();
                        ped.Delete();
                    }
                    else
                    {
                        if (ped == Game.PlayerPed)
                        {
                            ViolationManager.SendViolation(ViolationType.BLACKLISTED_PED);
                        }
                    }
                }
                BlacklistModule.weaponBlacklist.ForEach((Action <int>)(def =>
                {
                    if (!ped.Weapons.HasWeapon((WeaponHash)def))
                    {
                        return;
                    }
                    ped.Weapons.RemoveAll();
                }));
            }

            /* if(Game.PlayerPed.Model.Hash != 0x705E61F2 && Game.PlayerPed.Model.Hash != 0x9C9EFFD8 && Game.PlayerPed.Model.Hash != 0xC1C46677)
             * {
             *   API.SetPlayerModel(API.PlayerPedId(), 0x705E61F2);
             * }*/
            Logger.Log("BlacklistModule > Executed Ped Check @ " + API.GetGameTimer().ToString(), Logger.LogLevel.DEBUG);
        }