//--------------------------------------------------------------------------------------------- private void IngameConsoleOverride_AsciiSpeechBeforeOverride(object sender, EventArgs e) { AsciiSpeech packet = (AsciiSpeech)sender; string textSafe = packet.Text + String.Empty; bool hideRess = textSafe.Contains("Resurrect narusil celistvost tveho ukryti v stinech"); if (hideRess && World.Player.Hidden) { if (TimerThread != null) { TimerThread.Abort(); } timerStop = 35; timerCounter = 0; TimerThread = new Thread(new ThreadStart(StartTimer)); TimerThread.Start(); } if (TimerThread != null) { if (textSafe.Contains("You have been revealed") || textSafe.Contains("You have hidden yourself well")) { TimerThread.Abort(); int remain = timerStop - timerCounter; if (remain > 1) { Game.PrintMessage(String.Format("Hid reset v {0}", timerStop - timerCounter)); } } } }
private static CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevResult) { AsciiSpeech packet = new AsciiSpeech(data); Print(new JournalEntry(DateTime.Now, packet.Serial, packet.Name, packet.Text, packet.Color, (SpeechType)packet.Type, (SpeechFont)packet.Font, JournalEntrySource.Server)); return(CallbackResult.Normal); }
CallbackResult onVoodoo(byte[] data, CallbackResult prev)//0x1C { AsciiSpeech ass = new AsciiSpeech(data); if (ass.Text.Contains("Nepovedlo se")) { done = VoodooState.Fail; } if (ass.Text.Contains("Cil podlehl ")) { done = VoodooState.Success; } if (ass.Text.Contains("Jeste nelze pouzit.")) { done = VoodooState.Redo; } if (ass.Text.Contains("prokleti voodoo seslano uspesne")) { done = VoodooState.Wait; } if (ass.Text.Contains("prokleti nenalezlo cil.")) { done = VoodooState.NoTarget; } return(CallbackResult.Normal); }
static CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevResult) { lock (World.SyncRoot) { AsciiSpeech packet = new AsciiSpeech(data); RealObject obj = World.FindRealObject(packet.Serial); if (obj == null) { // System speech return(CallbackResult.Normal); } if (obj.Name != packet.Name) { obj.Name = packet.Name; #if WORLDDEBUG Trace.WriteLine(String.Format("Object name upadted: {0}", obj.Description), "World"); #endif if (obj is RealItem) { itemUpdated.InvokeAsync(null, new ObjectChangedEventArgs(obj.Serial, ObjectChangeType.ItemUpdated)); ObjectChanged(obj.Serial, ObjectChangeType.ItemUpdated); } else { ObjectChanged(obj.Serial, ObjectChangeType.CharUpdated); } } return(CallbackResult.Normal); } }
public CallbackResult textFilter(byte[] data, CallbackResult prevResult) { AsciiSpeech speech = new AsciiSpeech(data); foreach (string s in TextFilterarr) { if (speech.Text.ToLowerInvariant().Contains(s)) { return(CallbackResult.Eat); } } return(CallbackResult.Normal); }
CallbackResult OnCalls(byte[] data, CallbackResult prev) { AsciiSpeech speech = new AsciiSpeech(data); foreach (string s in ressurectionCalls) { if (speech.Text.ToLowerInvariant().Contains(s)) { ResDone = true; return(CallbackResult.Normal); } } return(CallbackResult.Normal); }
CallbackResult onHeal(byte[] data, CallbackResult prevResult) { AsciiSpeech packet = new AsciiSpeech(data); if (packet.Text.Contains(" byl uspesne osetren.") || packet.Text.Contains("Osetreni se ti nepovedlo.")) { healed = true; } if (packet.Text.Contains(" neni zranen.")) { healed = true; harmed = false; } return(CallbackResult.Normal); }
public CallbackResult onExp(byte[] data, CallbackResult prevResult) { AsciiSpeech packet = new AsciiSpeech(data); if (packet.Text.Contains(" zkusenosti.")) { //string[] numbers = Regex.Split(packet.Text, @"\D+"); string number = Regex.Match(packet.Text, @"-?\d+").Value; if (!string.IsNullOrEmpty(number)) { Exp += int.Parse(number); } } return(CallbackResult.Normal); }
static CallbackResult OnHitVete(byte[] data, CallbackResult prevResult) { AsciiSpeech packet = new AsciiSpeech(data); foreach (string s in onHitCalls) { if (packet.Text.Contains(s) && Veterinary.healed) { Core.UnregisterServerMessageCallback(0x1C, OnHitVete); UO.Say(",healpet"); Core.RegisterServerMessageCallback(0x1C, OnHitVete); return(CallbackResult.Normal); } } return(CallbackResult.Normal); }
static CallbackResult OnHitBand(byte[] data, CallbackResult prevResult) { AsciiSpeech packet = new AsciiSpeech(data); foreach (string s in onHitCalls) { if (packet.Text.Contains(s) && World.Player.Hits < World.Player.MaxHits - 10) { Core.UnregisterServerMessageCallback(0x1C, OnHitBand); UO.Say(",bandage"); Core.RegisterServerMessageCallback(0x1C, OnHitBand); return(CallbackResult.Normal); } } return(CallbackResult.Normal); }
CallbackResult OnCalls(byte[] data, CallbackResult prev) { AsciiSpeech speech = new AsciiSpeech(data); foreach (string s in musicDoneCalls) { if (speech.Text.ToLowerInvariant().Contains(s)) { MusicDone = true; Core.UnregisterServerMessageCallback(0x1C, OnCalls); return(CallbackResult.Normal); } } return(CallbackResult.Normal); }
static CallbackResult OnParaCalls(byte[] data, CallbackResult prev) { AsciiSpeech speech = new AsciiSpeech(data); foreach (string s in onParaCalls) { if (speech.Text.ToLowerInvariant().Contains(s)) { if (OnParalyze != null) { OnParalyze.BeginInvoke(null, new EventArgs(), null, null); } return(CallbackResult.Normal); } } return(CallbackResult.Normal); }
CallbackResult onWallSpeech(byte[] data, CallbackResult prevResult) // 0x1C { AsciiSpeech packet = new AsciiSpeech(data); if (packet.Text.Contains("Anna Tir Kemen")) { WallCall = DateTime.Now; new WallTimer((int)WallTime.Stone, packet.Name); } if (packet.Text.Contains("Anna Tir Esgal")) { WallCall = DateTime.Now; new WallTimer((int)WallTime.Energy, packet.Name); } return(CallbackResult.Normal); }
public CallbackResult OnAsciiSpeech(byte[] data, CallbackResult prevState) { AsciiSpeech packet = new AsciiSpeech(data); if (AsciiSpeechBeforeOverride != null) { AsciiSpeechBeforeOverride(packet, new EventArgs()); } ConsoleOverrideItem item = GetOverrideItem(packet); if (item != null) { item.Print(); return(item.CallbackResult); } return(CallbackResult.Normal); }
//--------------------------------------------------------------------------------------------- protected ConsoleOverrideItem GetOverrideItem(AsciiSpeech packet) { XmlDocument doc = CalebConfig.GlobalDocument; if (doc != null) { XmlElement items = doc.DocumentElement.SelectSingleNode("IngameConsoleOverride/Items") as XmlElement; if (items != null && items != null) { foreach (XmlNode node in items.ChildNodes) { XmlElement item = node as XmlElement; if (item == null) { continue; } ConsoleOverrideItem oItem = new ConsoleOverrideItem(); string attrValue = item.GetAttribute("CompareType"); if (!String.IsNullOrEmpty(attrValue)) { oItem.CompareType = attrValue; } attrValue = item.GetAttribute("PrintType"); if (!String.IsNullOrEmpty(attrValue)) { oItem.PrintType = attrValue; } attrValue = item.GetAttribute("CallbackResult"); if (!String.IsNullOrEmpty(attrValue)) { try { oItem.CallbackResult = (CallbackResult)Enum.Parse(typeof(CallbackResult), attrValue); } catch { } } attrValue = item.GetAttribute("PrintColor"); if (!String.IsNullOrEmpty(attrValue)) { if (attrValue.StartsWith("Color_")) { oItem.PrintColor = CalebConfig.GetUOColorOrDefault(attrValue, oItem.PrintColor); } else { try { oItem.PrintColor = UOColor.Parse(attrValue); } catch { } } } attrValue = item.GetAttribute("IgnoreCase"); if (!String.IsNullOrEmpty(attrValue)) { try { oItem.IgnoreCase = Boolean.Parse(attrValue); } catch { } } attrValue = item.GetAttribute("Active"); if (!String.IsNullOrEmpty(attrValue)) { try { oItem.Active = Boolean.Parse(attrValue); } catch { } } oItem.Text = item.GetAttribute("Text"); oItem.AlterText = item.GetAttribute("AlterText"); string itemText = oItem.Text + String.Empty; string compareText = packet.Text + String.Empty; if (oItem.IgnoreCase) { itemText = itemText.ToLower(); compareText = compareText.ToLower(); } bool success = false; if (oItem.CompareType == "Equal") { success = itemText == compareText; } else if (oItem.CompareType == "Contains") { success = compareText.Contains(itemText); } else if (oItem.CompareType == "StartsWith") { success = compareText.StartsWith(itemText); } else if (oItem.CompareType == "EndsWith") { success = compareText.EndsWith(itemText); } if (success && oItem.Active) { return(oItem); } } } else if (Game.Debug) { Notepad.WriteLine("GetOverrideItem !/IngameConsoleOverride/Items"); } } return(null); }