public async void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { try { if (arguments.Count <= 0) { return; } var model = new Model(API.GetHashKey(arguments.ElementAt(0))); if (!model.IsValid || !model.IsVehicle) { return; } var position = entity.Position; var vehicle = await World.CreateVehicle(model, position.AsVector(), position.Heading); entity.Task.WarpIntoVehicle(vehicle, VehicleSeat.Driver); } catch (Exception) { // Ignored } }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { if (arguments.Count < 1) { Chat.SendLocalMessage("Voice Chat", Function.Call <float>(Hash.NETWORK_GET_TALKER_PROXIMITY).ToString(CultureInfo.InvariantCulture), Color.FromArgb(0, 0, 255)); return; } float range; try { range = float.Parse(arguments.ElementAt(0)); } catch (Exception) { range = 0f; } Function.Call(Hash.NETWORK_CLEAR_VOICE_CHANNEL); Function.Call(Hash.NETWORK_SET_TALKER_PROXIMITY, range); Chat.SendLocalMessage("Voice Chat", $"Ändrade voicechat proximity till {range}", Color.FromArgb(0, 0, 255)); }
public async Task Down(AtlasPlayer player) { while (API.GetPlayerSwitchState() != 5) { await BaseScript.Delay(100); } Atlas.AttachTickHandler(OnTick); var timestamp = API.GetGameTimer(); while (timestamp + 3000 > API.GetGameTimer()) { await BaseScript.Delay(10); } API.SwitchInPlayer(player.Entity.Id); while (API.GetPlayerSwitchState() != 12) { await BaseScript.Delay(10); } Atlas.DetachTickHandler(OnTick); API.ClearDrawOrigin(); }
public async Task ResetMask(AtlasPlayer player, AtlasCharacter character) { var equipped = character.Metadata.EquippedMask; character.Style.Mask.Current = equipped?.Item1 ?? 0; character.Style.MaskType.Current = equipped?.Item2 ?? 0; await character.Style.Commit(player); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { var position = entity.Position; var title = arguments.Count > 1 ? string.Join(" ", arguments.Skip(1)) : "Position"; var log = $"[Developer] {title}: new Position({position.X}f, {position.Y}f, {position.Z}f, {position.Heading}f)"; Logger.Info(log); }
public async void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { if (arguments.Count < 2) { return; } await entity.Task.PlayAnimation(arguments[0], arguments[1], 8f, -8f, -1, AnimationFlags.None, 0); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { API.ClearPedTasksImmediately(entity.Id); API.ClearPedSecondaryTask(entity.Id); API.SetNuiFocus(false, false); World.GetAllProps().Where(self => self.IsAttachedTo(Entity.FromHandle(entity.Id))).ToList() .ForEach(self => self.Detach()); Chat.SendGlobalMessage("Reload", "Laddade om karaktären!", Color.FromArgb(255, 0, 0)); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { if (arguments.Count < 2) { Chat.SendLocalMessage(Title, Usage, Color.FromArgb(255, 0, 0)); return; } int balance; try { balance = Convert.ToInt32(arguments.ElementAt(1)); } catch (FormatException) { Chat.SendLocalMessage(Title, InvalidAmount, Color.FromArgb(255, 0, 0)); return; } switch (arguments.ElementAt(0).ToUpper()) { case "ADD": player.Character.Cash += balance; Chat.SendLocalMessage(Title, $"{CorrectedCash}{player.Character.Cash})", Color.FromArgb(255, 0, 0)); break; case "SET": player.Character.Cash = balance; Chat.SendLocalMessage(Title, $"{CorrectedCash}{player.Character.Cash})", Color.FromArgb(255, 0, 0)); break; case "REMOVE": player.Character.Cash -= balance; Chat.SendLocalMessage(Title, $"{CorrectedCash}{player.Character.Cash})", Color.FromArgb(255, 0, 0)); break; default: Chat.SendLocalMessage(Title, $"{NotFoundSubcommand}{arguments.ElementAt(0)}", Color.FromArgb(255, 0, 0)); break; } }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { var manager = ActionMessageManager.GetModule(); manager.Messages.Add(new ActionMessageManager.ActionMessage { Seed = Seed.Generate(), Sender = API.GetPlayerServerId(API.PlayerId()), Message = string.Join(" ", arguments) }); manager.Commit(); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { if (arguments.Count < 1) { Chat.SendLocalMessage(Title, Usage, Color.FromArgb(255, 0, 0)); return; } switch (arguments.ElementAt(0).ToUpper()) { case "SET": if (arguments.Count < 3) { Chat.SendLocalMessage(Title, Usage, Color.FromArgb(255, 0, 0)); return; } var jobName = arguments[1]; var jobRole = 0; try { jobRole = int.Parse(arguments[2]); } catch (Exception) { // Ignored } Enum.TryParse <Employment>(jobName, true, out var job); var character = Cache.Character; character.Metadata.Employment = job; character.Metadata.EmploymentRole = jobRole; Chat.SendLocalMessage(Title, $"Anställde {character.Fullname} hos {job.ToString()} - {jobRole}", Color.FromArgb(255, 0, 0)); break; default: Chat.SendLocalMessage(Title, $"Kunde inte hitta kommando: {arguments.ElementAt(0)}", Color.FromArgb(255, 0, 0)); break; } }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { StyleManager.GetModule().OpenStyleChange(Cache.Character.Style, "General", 0, (type) => { if (type != 0) { return; } Logger.Info($"[Developer] {JsonConvert.SerializeObject(player.Character.Style)}"); }, "All"); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { var vehicle = entity.Vehicle; if (vehicle == null) { return; } vehicle.Wash(); vehicle.Repair(); vehicle.PlaceOnGround(); }
public async void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { var waypoint = World.GetWaypointBlip(); if (waypoint == null) { return; } var position = waypoint.Position; position.Z = World.GetGroundHeight(position) + 1; await player.Entity.Teleport(position.ToPosition()); }
public async Task Up(AtlasPlayer player) { var timestamp = API.GetGameTimer(); Atlas.AttachTickHandler(OnTick); player.Sound.Disable(); API.SwitchOutPlayer(player.Entity.Id, 0, 1); while (API.GetPlayerSwitchState() != 5 && timestamp + 15000 > API.GetGameTimer()) { await BaseScript.Delay(0); } player.Sound.Enable(); Atlas.DetachTickHandler(OnTick); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { if (arguments.Count < 1) { return; } var argument = arguments[0]; foreach (var item in Items) { if (item.Key != argument.ToLower()) { continue; } ItemHelper.Give(InventoryManager.GetModule().GetContainer("pockets_inventory"), (InventoryItem)Activator.CreateInstance(item.Value)); Chat.SendLocalMessage("Föremål", $"Gav dig x1 utav `{item.Key}`...", Color.FromArgb(0, 255, 0)); break; } }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { if (arguments.Count < 1) { Chat.SendLocalMessage("Session", $"{Session.LastSession}", Color.FromArgb(0, 0, 255)); return; } int id; try { id = int.Parse(arguments.ElementAt(0)); } catch (Exception) { id = 0; } Session.Join(id); Chat.SendLocalMessage("Session", $"Anslöt till session #{id}", Color.FromArgb(0, 0, 255)); }
public void Draw(SpriteBatch spriteBatch) { AtlasPlayer.Draw(spriteBatch); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { entity.Vehicle?.Delete(); }
public virtual void SetAnimation() { IHasInput hasInput = _sprite as IHasInput; if (IsMeleeAttacking && _sprite.Mover.IsMovingRight) { AtlasPlayer.Play(_actions["MeleeRight"]); } else if (IsMeleeAttacking && _sprite.Mover.IsMovingLeft) { AtlasPlayer.Play(_actions["MeleeLeft"]); } else if (IsRangedAttacking && _sprite.Mover.IsMovingRight) { AtlasPlayer.Play(_actions["RangedRight"]); } else if (IsRangedAttacking && _sprite.Mover.IsMovingLeft) { AtlasPlayer.Play(_actions["RangedLeft"]); } else if (IsBlocking && _sprite.Mover.IsMovingRight) { AtlasPlayer.Play(_actions["BlockRight"]); } else if (IsBlocking && _sprite.Mover.IsMovingLeft) { AtlasPlayer.Play(_actions["BlockLeft"]); } else if (_sprite.Mover.Velocity.Y < 0) { AtlasPlayer.Play(_actions["Jump"]); } else if (_sprite.Mover.Velocity.X > 0 || _sprite.Mover.Velocity.X < 0) { if (_sprite.Mover.Velocity.Y < 0) { AtlasPlayer.Play(_actions["Jump"]); } else if (_sprite.Mover.Velocity.X > 0) { AtlasPlayer.Play(_actions["WalkRight"]); } else { AtlasPlayer.Play(_actions["WalkLeft"]); } } else if (_sprite.Mover.Velocity.X == 0 && _sprite.Mover.Velocity.Y == 0) { if (_sprite.Mover.IsMovingLeft && !_sprite.Mover.IsMovingRight) { AtlasPlayer.Play(_actions["WalkLeft"]); AtlasPlayer.Stop(); } else if (!_sprite.Mover.IsMovingLeft && _sprite.Mover.IsMovingRight) { AtlasPlayer.Play(_actions["WalkRight"]); AtlasPlayer.Stop(); } else { AtlasPlayer.Play(_actions["WalkRight"]); AtlasPlayer.Stop(); } } }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { EventSystem.GetModule().Send("report:create", player.Name, player.Character.Fullname, string.Join(" ", arguments)); }
public static async Task Commit(this Style style, AtlasPlayer player, bool overrideStyle = true) { var hash = style.Sex.Current == style.Sex.Minimum ? API.GetHashKey("mp_m_freemode_01") : API.GetHashKey("mp_f_freemode_01"); if (Game.PlayerPed.Model.Hash != hash) { var model = new Model(hash); if (model.IsInCdImage && model.IsValid) { await player.CommitModel(model); var ped = Game.PlayerPed.Handle; player.Entity.SetDefaultStyle(); player.Entity.Id = ped; player.Entity.AnimationQueue = new AnimationQueue(ped); Session.Join(Session.LastSession); await BaseScript.Delay(10); } } var handle = player.Entity.Id; API.SetPedHeadBlendData(handle, style.Face.Current, style.Face.Current, style.Face.Current, style.Skin.Current, style.Skin.Current, style.Skin.Current, style.Sex.Current == 0 ? 1f : 0f, 1f, 1f, true); API.SetPedHairColor(handle, style.HairColorPrimary.Current, style.HairColorSecondary.Current); API.SetPedHeadOverlay(handle, 3, style.Wrinkles.Current, style.WrinklesThickness.Current / 10f); API.SetPedHeadOverlay(handle, 1, style.Beard.Current, style.BeardSize.Current / 10f); API.SetPedEyeColor(handle, style.EyeColor.Current); API.SetPedHeadOverlay(handle, 2, style.Eyebrows.Current, style.EyebrowsThickness.Current / 10f); API.SetPedHeadOverlay(handle, 4, style.Makeup.Current, style.MakeupThickness.Current / 10f); API.SetPedHeadOverlay(handle, 8, style.Lipstick.Current, style.LipstickThickness.Current / 10f); API.SetPedComponentVariation(handle, 2, style.Hair.Current, style.HairThickness.Current, 2); API.SetPedHeadOverlayColor(handle, 1, 1, style.BeardColorPrimary.Current, style.BeardColorSecondary.Current); API.SetPedHeadOverlayColor(handle, 2, 1, style.EyebrowsColorPrimary.Current, style.EyebrowsColorSecondary.Current); API.SetPedHeadOverlayColor(handle, 4, 1, style.Makeup.Current, style.MakeupThickness.Current); API.SetPedHeadOverlayColor(handle, 8, 1, style.LipstickColorPrimary.Current, style.LipstickColorSecondary.Current); API.SetPedHeadOverlay(handle, 5, style.Blush.Current, style.BlushThickness.Current / 10f); API.SetPedHeadOverlayColor(handle, 5, 2, style.BlushPrimaryColor.Current, style.BlushSecondaryColor.Current); API.SetPedHeadOverlay(handle, 6, style.Complexion.Current, style.ComplexionThickness.Current / 10f); API.SetPedHeadOverlay(handle, 7, style.Sunburn.Current, style.SunburnThickness.Current / 10f); API.SetPedHeadOverlay(handle, 9, style.Freckles.Current, style.FrecklesThickness.Current / 10f); API.SetPedHeadOverlay(handle, 10, style.ChestHair.Current, style.ChestHairType.Current / 10f); API.SetPedHeadOverlayColor(handle, 10, 1, style.ChestHairPrimaryColor.Current, style.ChestHairSecondaryColor.Current); if (style.EarAccessories.Current == -1) { API.ClearPedProp(handle, 2); } else { API.SetPedPropIndex(handle, 2, style.EarAccessories.Current, style.EarAccessoriesType.Current, true); } API.SetPedComponentVariation(handle, 8, style.Shirt.Current, style.ShirtType.Current, 2); API.SetPedComponentVariation(handle, 11, style.Torso.Current, style.TorsoType.Current, 2); API.SetPedComponentVariation(handle, 3, style.Body.Current, style.BodyType.Current, 2); API.SetPedComponentVariation(handle, 10, style.Decals.Current, style.DecalsType.Current, 2); API.SetPedComponentVariation(handle, 4, style.Pants.Current, style.PantsType.Current, 2); API.SetPedComponentVariation(handle, 6, style.Shoes.Current, style.ShoesType.Current, 2); API.SetPedComponentVariation(handle, 1, style.Mask.Current, style.MaskType.Current, 2); API.SetPedComponentVariation(handle, 9, style.BodyArmor.Current, style.BodyArmorColor.Current, 2); API.SetPedComponentVariation(handle, 7, style.Neck.Current, style.NeckType.Current, 2); API.SetPedComponentVariation(handle, 5, style.Bag.Current, style.BagColor.Current, 2); if (style.Head.Current == -1) { API.ClearPedProp(handle, 0); } else { API.SetPedPropIndex(handle, 0, style.Head.Current, style.HeadType.Current, true); } if (style.Glasses.Current == -1) { API.ClearPedProp(handle, 1); } else { API.SetPedPropIndex(handle, 1, style.Glasses.Current, style.GlassesType.Current, true); } if (style.Watch.Current == -1) { API.ClearPedProp(handle, 6); } else { API.SetPedPropIndex(handle, 6, style.Watch.Current, style.WatchType.Current, true); } if (style.Wristband.Current == -1) { API.ClearPedProp(handle, 7); } else { API.SetPedPropIndex(handle, 7, style.Wristband.Current, style.WristbandType.Current, true); } if (overrideStyle) { player.Character.Style = style; } style.Update(player); }
public static void Update(this Style style, AtlasPlayer player) { var handle = player.Entity.Id; style.Sex.Maximum = 1; style.Face.Maximum = 45; style.Skin.Maximum = 45; style.Wrinkles.Maximum = API.GetNumHeadOverlayValues(3) - 1; style.WrinklesThickness.Maximum = 10; style.Beard.Maximum = API.GetNumHeadOverlayValues(1) - 1; style.BeardSize.Maximum = 10; style.BeardColorPrimary.Maximum = API.GetNumHairColors() - 1; style.BeardColorSecondary.Maximum = API.GetNumHairColors() - 1; style.Hair.Maximum = API.GetNumberOfPedDrawableVariations(handle, 2) - 1; style.HairThickness.Maximum = API.GetNumberOfPedTextureVariations(handle, 2, style.Hair.Current) - 1; style.HairColorPrimary.Maximum = API.GetNumHairColors() - 1; style.HairColorSecondary.Maximum = API.GetNumHairColors() - 1; style.EyeColor.Maximum = 31; style.Eyebrows.Maximum = API.GetNumHeadOverlayValues(2) - 1; style.EyebrowsThickness.Maximum = 10; style.EyebrowsColorPrimary.Maximum = API.GetNumHairColors() - 1; style.EyebrowsColorSecondary.Maximum = API.GetNumHairColors() - 1; style.Makeup.Maximum = API.GetNumHairColors() - 1; style.MakeupThickness.Maximum = 10; style.MakeupColorPrimary.Maximum = API.GetNumHairColors() - 1; style.MakeupColorSecondary.Maximum = API.GetNumHairColors() - 1; style.Lipstick.Maximum = API.GetNumHeadOverlayValues(8) - 1; style.LipstickThickness.Maximum = 10; style.LipstickColorPrimary.Maximum = API.GetNumHairColors() - 1; style.LipstickColorSecondary.Maximum = API.GetNumHairColors() - 1; style.Blush.Maximum = API.GetNumHeadOverlayValues(5) - 1; style.BlushThickness.Maximum = 10; style.BlushPrimaryColor.Maximum = API.GetNumHairColors() - 1; style.BlushSecondaryColor.Maximum = API.GetNumHairColors() - 1; style.Complexion.Maximum = API.GetNumHeadOverlayValues(6) - 1; style.ComplexionThickness.Maximum = 10; style.Sunburn.Maximum = API.GetNumHeadOverlayValues(7) - 1; style.SunburnThickness.Maximum = 10; style.Freckles.Maximum = API.GetNumHeadOverlayValues(9) - 1; style.FrecklesThickness.Maximum = 10; style.ChestHair.Maximum = API.GetNumHeadOverlayValues(10) - 1; style.ChestHairType.Maximum = 10; style.ChestHairPrimaryColor.Maximum = API.GetNumHairColors() - 1; style.ChestHairSecondaryColor.Maximum = API.GetNumHairColors() - 1; style.EarAccessories.Maximum = API.GetNumberOfPedPropDrawableVariations(handle, 1) - 1; style.EarAccessoriesType.Maximum = API.GetNumberOfPedPropTextureVariations(handle, 1, style.EarAccessories.Current) - 1; style.Shirt.Maximum = API.GetNumberOfPedDrawableVariations(handle, 8) - 1; style.ShirtType.Maximum = API.GetNumberOfPedTextureVariations(handle, 8, style.Shirt.Current) - 1; style.Torso.Maximum = API.GetNumberOfPedDrawableVariations(handle, 11) - 1; style.TorsoType.Maximum = API.GetNumberOfPedTextureVariations(handle, 11, style.Torso.Current) - 1; style.Decals.Maximum = API.GetNumberOfPedDrawableVariations(handle, 10) - 1; style.DecalsType.Maximum = API.GetNumberOfPedTextureVariations(handle, 10, style.Decals.Current) - 1; style.Body.Maximum = API.GetNumberOfPedDrawableVariations(handle, 3) - 1; style.BodyType.Maximum = 10; style.Pants.Maximum = API.GetNumberOfPedDrawableVariations(handle, 4) - 1; style.PantsType.Maximum = API.GetNumberOfPedTextureVariations(handle, 4, style.Pants.Current) - 1; style.Shoes.Maximum = API.GetNumberOfPedDrawableVariations(handle, 6) - 1; style.ShoesType.Maximum = API.GetNumberOfPedTextureVariations(handle, 6, style.Shoes.Current) - 1; style.Mask.Maximum = API.GetNumberOfPedDrawableVariations(handle, 1) - 1; style.MaskType.Maximum = API.GetNumberOfPedTextureVariations(handle, 1, style.Mask.Current) - 1; style.BodyArmor.Maximum = API.GetNumberOfPedDrawableVariations(handle, 9) - 1; style.BodyArmorColor.Maximum = API.GetNumberOfPedTextureVariations(handle, 9, style.BodyArmor.Current) - 1; style.Neck.Maximum = API.GetNumberOfPedDrawableVariations(handle, 7) - 1; style.NeckType.Maximum = API.GetNumberOfPedTextureVariations(handle, 7, style.Neck.Current) - 1; style.Bag.Maximum = API.GetNumberOfPedDrawableVariations(handle, 5) - 1; style.BagColor.Maximum = API.GetNumberOfPedTextureVariations(handle, 5, style.Bag.Current) - 1; style.Head.Maximum = API.GetNumberOfPedPropDrawableVariations(handle, 0) - 1; style.HeadType.Maximum = API.GetNumberOfPedPropTextureVariations(handle, 0, style.Head.Current) - 1; style.Glasses.Maximum = API.GetNumberOfPedPropDrawableVariations(handle, 1) - 1; style.GlassesType.Maximum = API.GetNumberOfPedPropTextureVariations(handle, 1, style.Glasses.Current) - 1; style.Watch.Maximum = API.GetNumberOfPedPropDrawableVariations(handle, 6) - 1; style.WatchType.Maximum = API.GetNumberOfPedPropTextureVariations(handle, 6, style.Watch.Current) - 1; style.Wristband.Maximum = API.GetNumberOfPedPropDrawableVariations(handle, 7) - 1; style.WristbandType.Maximum = API.GetNumberOfPedPropTextureVariations(handle, 7, style.Wristband.Current) - 1; }
public async Task Attach(AtlasPlayer player) { while (IsAttached) { await BaseScript.Delay(100); } IsAttached = true; World.GetAllProps() .Where(self => self.Model.Hash == API.GetHashKey("prop_police_id_text") || self.Model.Hash == API.GetHashKey("prop_police_id_board")).ToList().ForEach(self => self.Delete()); var textHash = API.GetHashKey("prop_police_id_text"); var board = API.CreateObject(API.GetHashKey("prop_police_id_board"), 1, 1, 1, false, false, false); var text = API.CreateObject(textHash, 1, 1, 1, false, false, false); API.AttachEntityToEntity(board, player.Entity.Id, API.GetPedBoneIndex(API.GetPlayerPed(-1), 58868), 0.12f, 0.24f, 0.0f, 5.0f, 0.0f, 70.0f, true, true, false, false, 2, true); API.AttachEntityToEntity(text, player.Entity.Id, API.GetPedBoneIndex(API.GetPlayerPed(-1), 58868), 0.12f, 0.24f, 0.0f, 5.0f, 0.0f, 70.0f, true, true, false, false, 2, true); var handle = CreateScaleformHandle("ID_Text", textHash); var movie = API.RequestScaleformMovie("MUGSHOT_BOARD_01"); while (!API.HasScaleformMovieLoaded(movie)) { await BaseScript.Delay(10); } while (API.HasScaleformMovieLoaded(movie) && IsAttached) { API.PushScaleformMovieFunction(movie, "SET_BOARD"); API.PushScaleformMovieFunctionParameterString(player.Character.Surname); API.PushScaleformMovieFunctionParameterString(player.Character.Name); API.PushScaleformMovieFunctionParameterString(player.Character.DateOfBirth); API.PushScaleformMovieFunctionParameterString( $"SEK {player.Character.BankAccount.Balance + player.Character.Cash}"); API.PopScaleformMovieFunctionVoid(); API.SetTextRenderId(handle); Function.Call((Hash)0x40332D115A898AF5, movie, true); API.SetUiLayer(4); Function.Call((Hash)0xc6372ecd45d73bcd, movie, true); API.DrawScaleformMovie(movie, 0.4f, 0.35f, 0.8f, 0.75f, 255, 255, 255, 255, 255); API.SetTextRenderId(API.GetDefaultScriptRendertargetRenderId()); Function.Call((Hash)0x40332D115A898AF5, movie, false); await BaseScript.Delay(0); } API.DeleteEntity(ref board); API.DeleteEntity(ref text); IsAttached = false; }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { player.Character.Revive(entity.Position); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { Chat.SendGlobalMessage(player.Character.Fullname, string.Join(" ", arguments), Color.FromArgb(50, 50, 255)); }
public void On(AtlasPlayer player, AtlasEntity entity, List <string> arguments) { Chat.SendLocalMessage("Status", $"Det är just nu {AtlasPlugin.OnlinePlayers}/{AtlasPlugin.MaximumPlayers} spelare anslutna.", Color.FromArgb(150, 150, 255)); }
public async Task Load(AtlasPlayer player) { API.DoScreenFadeOut(0); Atlas.DiscordRichPresence.Status = player.Character.Fullname; Atlas.DiscordRichPresence.Commit(); var transition = new LoadTransition(); if (!player.Character.MarkedAsRegistered) { API.StopPlayerSwitch(); } var character = player.Character; var position = !character.MarkedAsRegistered ? CharacterExtensions.RegistrationPosition : character.Metadata.LastPosition ?? CharacterExtensions.DefaultPosition; if (position == character.Metadata.LastPosition) { position.Y += 1f; } character.Revive(position); try { var ped = Cache.Entity.Id; var health = character.Health; if (health > API.GetEntityMaxHealth(ped)) { health = API.GetEntityMaxHealth(ped); } API.SetEntityHealth(ped, health); API.SetPedArmour(ped, character.Shield); } catch (Exception) { // Dunno } var inventories = InventoryManager.GetModule(); var required = new InventoryContainer[] { new EquipmentInventory(new InventoryContainerBase { Seed = "equipment_inventory", Name = "Utrustning", SlotAmount = 5 }), new PocketsInventory(new InventoryContainerBase { Seed = "pockets_inventory", Name = "Fickor", SlotAmount = 20 }), new ProximityInventory(new InventoryContainerBase { Seed = "proximity_inventory", Name = "Omgivning", SlotAmount = 20 }) }; foreach (var entry in required) { if (character.Metadata.Inventories.All(self => self.Seed != entry.Seed)) { inventories.RegisterContainer(entry); character.Metadata.Inventories.Add(entry); entry.CallRegistration(); } else { var created = entry; switch (entry.Seed.ToUpper()) { case "EQUIPMENT_INVENTORY": created = new EquipmentInventory( character.Metadata.Inventories.FirstOrDefault( self => self.Seed == "equipment_inventory")); break; case "POCKETS_INVENTORY": created = new PocketsInventory( character.Metadata.Inventories.FirstOrDefault( self => self.Seed == "pockets_inventory")); break; case "PROXIMITY_INVENTORY": created = new ProximityInventory( character.Metadata.Inventories.FirstOrDefault( self => self.Seed == "proximity_inventory")); created.Slots = new InventoryItem[created.SlotAmount]; break; default: Logger.Info($"[Inventory] Could not find default required inventory {entry.Seed}"); break; } inventories.RegisterContainer(created); created.CallRegistration(); } } inventories.Registry.ForEach(self => self.RefreshItemClassifications()); await player.Character.Load(); Session.Join(player.Character.MarkedAsRegistered ? 1 : 100 + API.GetPlayerServerId(API.PlayerId())); await SafeTeleport.Teleport(player.Entity.Id, position); if (player.Character.MarkedAsRegistered) { await transition.Wait(); API.DoScreenFadeIn(5000); await transition.Down(player); } else { await player.Character.PostLoad(); } if (API.IsScreenFadedOut() && !API.IsScreenFadingOut()) { API.DoScreenFadeIn(5000); } player.EnableHud(); }
public override void SetAnimation() { AtlasPlayer.Play(_actions["SingleAction"]); }
public void Update(GameTime gameTime) { AtlasPlayer.Update(gameTime); }