internal static void CancelOneTimeTarget() { m_ClientTarget = m_HasTarget = false; ClientCommunication.SendToClient(new CancelTarget(LocalTargID)); EndIntercept(); }
internal static void SetLastTarget(Mobile m, byte flagType) { TargetInfo targ = new TargetInfo(); m_LastGroundTarg = m_LastTarget = targ; if ((m_HasTarget && m_CurFlags == 1) || flagType == 1) { m_LastHarmTarg = targ; } else if ((m_HasTarget && m_CurFlags == 2) || flagType == 2) { m_LastBeneTarg = targ; } else if (flagType == 0) { m_LastHarmTarg = m_LastBeneTarg = targ; } targ.Type = 0; targ.Flags = m_HasTarget ? m_CurFlags : flagType; targ.Gfx = m.Body; targ.Serial = m.Serial; targ.X = m.Position.X; targ.Y = m.Position.Y; targ.Z = m.Position.Z; ClientCommunication.SendToClient(new ChangeCombatant(m)); m_LastCombatant = m.Serial; World.Player.SendMessage(MsgLevel.Force, LocString.NewTargSet); LastTargetChanged(); }
public static void SetSecondaryAbility() { Item right = World.Player.GetItemOnLayer(Layer.RightHand); Item left = World.Player.GetItemOnLayer(Layer.LeftHand); AOSAbility a = AOSAbility.Invalid; if (right != null) { a = GetAbility(right.ItemID.Value, m_Secondary); } if (a == AOSAbility.Invalid && left != null) { a = GetAbility(left.ItemID.Value, m_Secondary); } if (a == AOSAbility.Invalid) { a = GetAbility(FistsID[0], m_Secondary); } if (a != AOSAbility.Invalid) { ClientCommunication.SendToServer(new UseAbility(a)); ClientCommunication.SendToClient(ClearAbility.Instance); World.Player.SendMessage(LocString.SettingAOSAb, a); } }
private static void OnSetLastTarget(bool location, Serial serial, Point3D p, ushort gfxid) { if (serial == World.Player.Serial) { OnSLTCancel(); return; } m_LastBeneTarg = m_LastHarmTarg = m_LastGroundTarg = m_LastTarget = new TargetInfo(); m_LastTarget.Flags = 0; m_LastTarget.Gfx = gfxid; m_LastTarget.Serial = serial; m_LastTarget.Type = (byte)(location ? 1 : 0); m_LastTarget.X = p.X; m_LastTarget.Y = p.Y; m_LastTarget.Z = p.Z; m_LTWasSet = true; World.Player.SendMessage(MsgLevel.Force, LocString.LTSet); if (serial.IsMobile) { LastTargetChanged(); ClientCommunication.SendToClient(new ChangeCombatant(serial)); m_LastCombatant = serial; } }
internal void SendMessage(MsgLevel lvl, string text) { if (lvl < (MsgLevel)RazorEnhanced.Settings.General.ReadInt("MessageLevel") || text.Length <= 0) { return; } int hue; switch (lvl) { case MsgLevel.Error: case MsgLevel.Warning: hue = RazorEnhanced.Settings.General.ReadInt("WarningColor"); break; default: hue = RazorEnhanced.Settings.General.ReadInt("SysColor"); break; } ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, hue, 3, Language.CliLocName, "System", text)); PacketHandlers.SysMessages.Add(text.ToLower()); if (PacketHandlers.SysMessages.Count >= 25) { PacketHandlers.SysMessages.RemoveRange(0, 10); } }
public bool Perform() { ClientCommunication.SendToClient(new CloseGump(World.Player.CurrentGumpI)); ClientCommunication.SendToServer(new GumpResponse(World.Player.CurrentGumpS, World.Player.CurrentGumpI, m_ButtonID, m_Switches, m_TextEntries)); World.Player.HasGump = false; return(true); }
internal static void ClearAbilities() { World.Player.HasSpecial = false; ClientCommunication.SendToServer(new UseAbility(AOSAbility.Clear)); ClientCommunication.SendToClient(ClearAbility.Instance); World.Player.SendMessage(LocString.AOSAbCleared); }
internal static void OneTimeTarget(bool ground, TargetResponseCallback onTarget, CancelTargetCallback onCancel) { if (m_Intercept && m_OnCancel != null) { m_OnCancel(); CancelOneTimeTarget(); } if (m_HasTarget && m_CurrentID != 0 && m_CurrentID != LocalTargID) { m_PreviousID = m_CurrentID; m_PreviousGround = m_AllowGround; m_PrevFlags = m_CurFlags; m_FilterCancel.Add(m_PreviousID); } m_Intercept = true; m_CurrentID = LocalTargID; m_OnTarget = onTarget; m_OnCancel = onCancel; m_ClientTarget = m_HasTarget = true; ClientCommunication.SendToClient(new Target(LocalTargID, ground)); ClearQueue(); }
internal void SendMessage(MsgLevel lvl, string text) { if (lvl >= (MsgLevel)Config.GetInt("MessageLevel") && text.Length > 0) { int hue; switch (lvl) { case MsgLevel.Error: case MsgLevel.Warning: hue = Config.GetInt("WarningColor"); break; default: hue = Config.GetInt("SysColor"); break; } ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, hue, 3, Language.CliLocName, "System", text)); PacketHandlers.SysMessages.Add(text.ToLower()); if (PacketHandlers.SysMessages.Count >= 25) { PacketHandlers.SysMessages.RemoveRange(0, 10); } } }
public static void ResendTarget() { if (!m_ClientTarget || !m_HasTarget) { CancelClientTarget(); m_ClientTarget = m_HasTarget = true; ClientCommunication.SendToClient(new Target(m_CurrentID, m_AllowGround, m_CurFlags)); } }
private static void CancelClientTarget() { if (m_ClientTarget) { m_FilterCancel.Add((uint)m_CurrentID); ClientCommunication.SendToClient(new CancelTarget(m_CurrentID)); m_ClientTarget = false; } }
private static void Echo(string[] param) { StringBuilder sb = new StringBuilder("Note To Self: "); for (int i = 0; i < param.Length; i++) { sb.Append(param[i]); } ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", sb.ToString())); }
private static void ClearItems(string[] param) { ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", "Clearing all items from memory cache")); World.Items.Clear(); Resync(param); ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", "All items in memory cache have been cleared")); }
internal static void CancelClientTarget() { if (!m_ClientTarget) { return; } m_FilterCancel.Add((uint)m_CurrentID); ClientCommunication.SendToClient(new CancelTarget(m_CurrentID)); m_ClientTarget = false; }
private void inGame_Click(object sender, System.EventArgs e) { if (World.Player == null) { return; } Callback = new HueEntryCallback(HueResp); ClientCommunication.SendToClient(new HuePicker()); World.Player.SendMessage(MsgLevel.Force, LocString.SelHue); }
internal void OverheadMessageFrom(int hue, string from, string text) { if (Config.GetInt("OverheadStyle") == 0) { ClientCommunication.SendToClient(new AsciiMessage(Serial, m_Body, MessageType.Regular, hue, 3, Language.CliLocName, text)); } else { ClientCommunication.SendToClient(new UnicodeMessage(Serial, m_Body, MessageType.Regular, hue, 3, Language.CliLocName, from, text)); } }
public static int Drag(Item i, int amount, bool fromClient, bool doLast) { LiftReq lr = new LiftReq(i.Serial, amount, fromClient, doLast); LiftReq prev = null; if (Full) { World.Player.SendMessage(MsgLevel.Error, LocString.DragDropQueueFull); if (fromClient) { ClientCommunication.SendToClient(new LiftRej()); } return(0); } Log("Queuing Drag request {0}", lr); if (m_Back >= m_LiftReqs.Length) { m_Back = 0; } if (m_Back <= 0) { prev = m_LiftReqs[m_LiftReqs.Length - 1]; } else if (m_Back <= m_LiftReqs.Length) { prev = m_LiftReqs[m_Back - 1]; } // if the current last req must stay last, then insert this one in its place if (prev != null && prev.DoLast) { Log("Back-Queuing {0}", prev); if (m_Back <= 0) { m_LiftReqs[m_LiftReqs.Length - 1] = lr; } else if (m_Back <= m_LiftReqs.Length) { m_LiftReqs[m_Back - 1] = lr; } // and then re-insert it at the end lr = prev; } m_LiftReqs[m_Back++] = lr; ActionQueue.SignalLift(!fromClient); return(lr.Id); }
public static void SetLastTargetTo(Mobile m, byte flagType) { TargetInfo targ = new TargetInfo(); m_LastGroundTarg = m_LastTarget = targ; if ((m_HasTarget && m_CurFlags == 1) || flagType == 1) { m_LastHarmTarg = targ; } else if ((m_HasTarget && m_CurFlags == 2) || flagType == 2) { m_LastBeneTarg = targ; } else if (flagType == 0) { m_LastHarmTarg = m_LastBeneTarg = targ; } targ.Type = 0; if (m_HasTarget) { targ.Flags = m_CurFlags; } else { targ.Flags = flagType; } targ.Gfx = m.Body; targ.Serial = m.Serial; targ.X = m.Position.X; targ.Y = m.Position.Y; targ.Z = m.Position.Z; ClientCommunication.SendToClient(new ChangeCombatant(m)); m_LastCombatant = m.Serial; World.Player.SendMessage(MsgLevel.Force, LocString.NewTargSet); bool wasSmart = Config.GetBool("SmartLastTarget"); if (wasSmart) { Config.SetProperty("SmartLastTarget", false); } LastTarget(); if (wasSmart) { Config.SetProperty("SmartLastTarget", true); } LastTargetChanged(); }
private static void OnGetMobileTarget(bool ground, Serial serial, Point3D pt, ushort gfx) { Mobile mobile = World.FindMobile(serial); if (mobile != null) { ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", $"Name: '{mobile.Name}' Hits: '{mobile.Hits}/{mobile.HitsMax}' Mana: '{mobile.Mana}/{mobile.ManaMax}' Stam: '{mobile.Stam}/{mobile.StamMax}'")); ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", $"Serial: '{mobile.Serial}' Hue: '{mobile.Hue}' IsAnimal: '{mobile.IsAnimal}' IsGhost: '{mobile.IsGhost}' IsHuman: '{mobile.IsHuman}' IsMonster: '{mobile.IsMonster}' IsSeaMonster: '{mobile.IsSeaMonster}'")); } }
private static void OnGetItemHueTarget(bool ground, Serial serial, Point3D pt, ushort gfx) { Item item = World.FindItem(serial); if (item != null) { ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", $"Item: '{item.Name}' '{item.ItemID.Value}'")); ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", $"Hue: '{item.Hue}'")); } }
private static void LastTargetChanged() { if (m_LastTarget == null) { return; } bool lth = RazorEnhanced.Settings.General.ReadInt("LTHilight") != 0; if (m_OldLT.IsItem) { RemoveTextFlags(World.FindItem(m_OldLT)); } else { Mobile m = World.FindMobile(m_OldLT); if (m != null) { if (lth) { ClientCommunication.SendToClient(new MobileIncoming(m)); } RemoveTextFlags(m); } } if (m_LastTarget.Serial.IsItem) { AddTextFlags(World.FindItem(m_LastTarget.Serial)); } else { Mobile m = World.FindMobile(m_LastTarget.Serial); if (m != null) { if (IsLastTarget(m) && lth) { ClientCommunication.SendToClient(new MobileIncoming(m)); } CheckLastTargetRange(m); AddTextFlags(m); } } m_OldLT = m_LastTarget.Serial; }
protected override void OnTick() { if (m_Table.Count <= 0) { return; } List <string> toremove = new List <string>(); foreach (KeyValuePair <string, MsgInfo> de in m_Table) { string txt = de.Key; MsgInfo msg = de.Value; if (msg.NextSend <= DateTime.UtcNow) { if (msg.Count > 0) { if (msg.Lang == "A") { ClientCommunication.SendToClient(new AsciiMessage(msg.Serial, msg.Body, msg.Type, msg.Hue, msg.Font, msg.Name, msg.Count > 1 ? String.Format("{0} [{1}]", txt, msg.Count) : txt)); } else { ClientCommunication.SendToClient(new UnicodeMessage(msg.Serial, msg.Body, msg.Type, msg.Hue, msg.Font, msg.Lang, msg.Name, msg.Count > 1 ? String.Format("{0} [{1}]", txt, msg.Count) : txt)); } msg.Count = 0; msg.NextSend = DateTime.UtcNow + msg.Delay; } else { if (txt != null) { toremove.Add(txt); } } } } for (int i = toremove.Count - 1; i >= 0; --i) { m_Table.Remove(toremove[i]); } }
public static void VisRange(string[] args) { int range = 18; try { range = Convert.ToInt32(args[0]); } catch { range = 18; } World.Player.VisRange = range; ClientCommunication.SendToClient(new SetUpdateRange(range)); World.Player.SendMessage("Set VisRange to {0}", range); }
private static void Resync(string[] param) { if (DateTime.UtcNow - m_LastSync > TimeSpan.FromSeconds(1.0)) { m_LastSync = DateTime.UtcNow; ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", "Updating and resyncing with server")); ClientCommunication.SendToClient(new MobileUpdate(World.Player)); ClientCommunication.SendToServer(new ResyncReq()); World.Player.Resync(); ClientCommunication.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, 0x3B2, 3, Language.CliLocName, "System", "Done..")); } }
public static void Walk(string[] args) { Point3D loc = new Point3D(Point3D.Zero); try { loc.X = Utility.ToInt32(args[0], 0); loc.Y = Utility.ToInt32(args[1], 0); loc.Z = Utility.ToInt32(args[2], 0); ClientCommunication.SendToClient(new PathFindTo(loc)); World.Player.SendMessage("Going... {0}", loc); } catch { } }
internal static void SetLastTargetTo(Mobile m, byte flagType) { TargetInfo targ = new TargetInfo(); m_LastGroundTarg = m_LastTarget = targ; if ((m_HasTarget && m_CurFlags == 1) || flagType == 1) { m_LastHarmTarg = targ; } else if ((m_HasTarget && m_CurFlags == 2) || flagType == 2) { m_LastBeneTarg = targ; } else if (flagType == 0) { m_LastHarmTarg = m_LastBeneTarg = targ; } targ.Type = 0; targ.Flags = m_HasTarget ? m_CurFlags : flagType; targ.Gfx = m.Body; targ.Serial = m.Serial; targ.X = m.Position.X; targ.Y = m.Position.Y; targ.Z = m.Position.Z; ClientCommunication.SendToClient(new ChangeCombatant(m)); m_LastCombatant = m.Serial; World.Player.SendMessage(MsgLevel.Force, LocString.NewTargSet); bool wasSmart = RazorEnhanced.Settings.General.ReadBool("SmartLastTarget"); if (wasSmart) { RazorEnhanced.Settings.General.WriteBool("SmartLastTarget", false); } LastTarget(); if (wasSmart) { RazorEnhanced.Settings.General.WriteBool("SmartLastTarget", true); } LastTargetChanged(); }
internal static void SetSecondaryAbility() { Item right = World.Player.GetItemOnLayer(Layer.RightHand); Item left = World.Player.GetItemOnLayer(Layer.LeftHand); AOSAbility a = AOSAbility.Invalid; if (right != null) { a = GetAbility(right.ItemID.Value, m_Secondary); } if (a == AOSAbility.Invalid && left != null) { a = GetAbility(left.ItemID.Value, m_Secondary); } if (a == AOSAbility.Invalid) { a = GetAbility(FistsID[0], m_Secondary); } if (a != AOSAbility.Invalid) { if (right != null) // Fix per arma con special differente se in volo o meno gargoyle { if (right.ItemID == 0x0901 || right.ItemID == 0x406C) { if (World.Player.Flying) { a = AOSAbility.ParalyzingBlow; } else { a = AOSAbility.Dismount; } } } World.Player.HasSpecial = true; ClientCommunication.SendToServer(new UseAbility(a)); ClientCommunication.SendToClient(ClearAbility.Instance); World.Player.SendMessage(LocString.SettingAOSAb, a); } }
public static void SetLastTargetTo(Mobile m, byte flagType) { TargetInfo targ = new TargetInfo(); m_LastGroundTarg = m_LastTarget = targ; if ((m_HasTarget && m_CurFlags == 1) || flagType == 1) { m_LastHarmTarg = targ; } else if ((m_HasTarget && m_CurFlags == 2) || flagType == 2) { m_LastBeneTarg = targ; } else if (flagType == 0) { m_LastHarmTarg = m_LastBeneTarg = targ; } targ.Type = 0; if (m_HasTarget) { targ.Flags = m_CurFlags; } else { targ.Flags = flagType; } targ.Gfx = m.Body; targ.Serial = m.Serial; targ.X = m.Position.X; targ.Y = m.Position.Y; targ.Z = m.Position.Z; ClientCommunication.SendToClient(new ChangeCombatant(m)); m_LastCombatant = m.Serial; TargetLast(); LastTargetChanged(); }
private static void EndPlayback() { m_PlayTimer = null; m_Playing = false; ClientCommunication.SetAllowDisconn(true); //ClientCommunication.SetDeathMsg( "You are dead." ); PlayerData player; using (BinaryReader reader = new BinaryReader(m_TempWriter.BaseStream)) { reader.BaseStream.Seek(0, SeekOrigin.Begin); player = World.Player = new PlayerData(reader, PlayerVersion); } m_TempWriter.Close(); player.Contains.Clear(); World.AddMobile(player); DoLogin(player); tbPos.Enabled = btnClose.Enabled = btnPlay.Enabled = btnStop.Enabled = btnRec.Enabled = true; tbPos.Value = tbPos.Minimum; m_Elapsed = TimeSpan.Zero; UpdateTimeText(); ClientCommunication.SendToClient(new MoveReject(World.Player.WalkSequence, World.Player)); ClientCommunication.SendToServer(new ResyncReq()); World.Player.Resync(); ClientCommunication.RequestTitlebarUpdate(); if (ClientCommunication.AllowBit(FeatureBit.LightFilter) && World.Player != null) { World.Player.LocalLightLevel = 0; ClientCommunication.SendToClient(new GlobalLightLevel(0)); ClientCommunication.SendToClient(new PersonalLightLevel(World.Player)); } }
private static void EnableOnStartMod() { if (Engine.ClientMajor < 7) { return; } if (m_modhandle == IntPtr.Zero) { return; } if (RazorEnhanced.Settings.General.ReadBool("ForceSizeEnabled") && Engine.ClientBuild < 49 && Assistant.Engine.IP != Engine.Resolve("37.143.10.137")) { SendMessage(m_modhandle, (int)PATCH_MESSAGES.PM_VIEW_RANGE_VALUE, 0, 30); SendMessage(m_modhandle, (int)PATCH_MESSAGES.PM_ENABLE, 0, (int)PATCH_TYPE.PT_VIEW_RANGE); ClientCommunication.SendToClient(new SetUpdateRange(31)); m_viewrangepatch = true; } if (RazorEnhanced.Settings.General.ReadBool("UoModFPS")) { SendMessage(m_modhandle, (int)PATCH_MESSAGES.PM_ENABLE, 0, (int)PATCH_TYPE.PT_FPS); m_fpspatch = true; } if (RazorEnhanced.Settings.General.ReadBool("UoModPaperdool")) { SendMessage(m_modhandle, (int)PATCH_MESSAGES.PM_ENABLE, 0, (int)PATCH_TYPE.PT_PAPERDOLL_SLOTS); m_paperdoolpatch = true; } if (RazorEnhanced.Settings.General.ReadBool("UoModSound")) { SendMessage(m_modhandle, (int)PATCH_MESSAGES.PM_ENABLE, 0, (int)PATCH_TYPE.PT_GLOBAL_SOUND); m_soundpatch = true; } }