private static void TranslateDisable(string[] param) { ClientCommunication.TranslateEnabled = false; World.Player.SendMessage("Translator disabled... use '-setup-t' to re-enable."); Command.RemoveCommand("Disable-T"); }
public static int OnUOAMessage(MainForm razor, int Msg, int wParam, int lParam) { switch ((UOAMessage)Msg) { case UOAMessage.REGISTER: { for (int i = 0; i < m_WndReg.Count; i++) { if (((WndRegEnt)m_WndReg[i]).Handle == wParam) { m_WndReg.RemoveAt(i); return(2); } } m_WndReg.Add(new WndRegEnt(wParam, lParam == 1 ? 1 : 0)); if (lParam == 1 && World.Items != null) { foreach (Item item in World.Items.Values) { if (item.ItemID >= 0x4000) { PostMessage((IntPtr)wParam, (uint)UOAMessage.ADD_MULTI, (IntPtr)((int)((item.Position.X & 0xFFFF) | ((item.Position.Y & 0xFFFF) << 16))), (IntPtr)item.ItemID.Value); } } } return(1); } case UOAMessage.COUNT_RESOURCES: { Counter.FullRecount(); return(0); } case UOAMessage.GET_COORDS: { if (World.Player == null) { return(0); } return((World.Player.Position.X & 0xFFFF) | ((World.Player.Position.Y & 0xFFFF) << 16)); } case UOAMessage.GET_SKILL: { if (World.Player == null || lParam > 3 || wParam < 0 || World.Player.Skills == null || wParam > World.Player.Skills.Length || lParam < 0) { return(0); } switch (lParam) { case 3: { try { return(GlobalAddAtom(((SkillName)wParam).ToString())); } catch { return(0); } } case 2: return((int)(World.Player.Skills[wParam].Lock)); case 1: return(World.Player.Skills[wParam].FixedBase); case 0: return(World.Player.Skills[wParam].FixedValue); } return(0); } case UOAMessage.GET_STAT: { if (World.Player == null || wParam < 0 || wParam > 5) { return(0); } switch (wParam) { case 0: return(World.Player.Str); case 1: return(World.Player.Int); case 2: return(World.Player.Dex); case 3: return(World.Player.Weight); case 4: return(World.Player.HitsMax); case 5: return(World.Player.Tithe); } return(0); } case UOAMessage.SET_MACRO: { try { //if ( wParam >= 0 && wParam < Engine.MainWindow.macroList.Items.Count ) // Engine.MainWindow.macroList.SelectedIndex = wParam; } catch { } return(0); } case UOAMessage.PLAY_MACRO: { if (razor != null) { razor.playMacro_Click(razor, new EventArgs()); } return(Macros.MacroManager.Playing ? 1 : 0); } case UOAMessage.DISPLAY_TEXT: { if (World.Player == null) { return(0); } int hue = wParam & 0xFFFF; StringBuilder sb = new StringBuilder(256); if (GlobalGetAtomName((ushort)lParam, sb, 256) == 0) { return(0); } if ((wParam & 0x00010000) != 0) { Client.Instance.SendToClient(new UnicodeMessage(0xFFFFFFFF, -1, MessageType.Regular, hue, 3, Language.CliLocName, "System", sb.ToString())); } else { World.Player.OverheadMessage(hue, sb.ToString()); } GlobalDeleteAtom((ushort)lParam); return(1); } case UOAMessage.REQUEST_MULTIS: { return(World.Player != null ? 1 : 0); } case UOAMessage.ADD_CMD: { StringBuilder sb = new StringBuilder(256); if (GlobalGetAtomName((ushort)lParam, sb, 256) == 0) { return(0); } if (wParam == 0) { Command.RemoveCommand(sb.ToString()); return(0); } else { new WndCmd(m_NextCmdID, (IntPtr)wParam, sb.ToString()); return((int)(m_NextCmdID++)); } } case UOAMessage.GET_UID: { return(World.Player != null ? (int)World.Player.Serial.Value : 0); } case UOAMessage.GET_SHARDNAME: { if (World.ShardName != null && World.ShardName.Length > 0) { return(GlobalAddAtom(World.ShardName)); } else { return(0); } } case UOAMessage.ADD_USER_2_PARTY: { return(1); // not supported, return error } case UOAMessage.GET_UO_HWND: { return(Client.Instance.GetWindowHandle().ToInt32()); } case UOAMessage.GET_POISON: { return(World.Player != null && World.Player.Poisoned ? 1 : 0); } case UOAMessage.SET_SKILL_LOCK: { if (World.Player == null || wParam < 0 || wParam > World.Player.Skills.Length || lParam < 0 || lParam >= 3) { return(0); } Client.Instance.SendToServer(new SetSkillLock(wParam, (LockType)lParam)); return(1); } case UOAMessage.GET_ACCT_ID: { // free shards don't use account ids... so just return the player's serial number return(World.Player == null ? 0 : (int)World.Player.Serial.Value); } default: { return(0); } } }