private async void SpawnRandomObstacle() { Vector3 spawnPos = Utils.GetRandomSpawnPosFromPlayer(Game.Player, SpawnerHost.SPAWN_MIN_DISTANCE, SpawnerHost.SPAWN_DESPAWN_DISTANCE); spawnPos.Z -= 3; if (!Utils.IsPosShitSpawn(Players, spawnPos, SpawnerHost.SPAWN_MIN_DISTANCE)) { Prop obstacle = await EntityUtil.CreateProp(API.GetHashKey(OBSTACLE_LIST[Utils.GetRandomInt(OBSTACLE_LIST.Length)]), spawnPos, false, true); obstacle.IsPositionFrozen = true; obstacles.Add(obstacle); } }
private async Task OnTick() { await Delay(100); if (API.NetworkIsHost()) { if (ufo == null) { ufo = await EntityUtil.CreateProp(API.GetHashKey("p_spinning_anus_s"), Game.PlayerPed.GetOffsetPosition(new Vector3(0f, 0f, 3000f)), true); } else { ufo.Velocity = new Vector3(50f, 50f, 0f); if (World.GetDistance(ufo.Position, Game.PlayerPed.Position) > 6000f) { ufo.Delete(); ufo = null; } } } }