Aldur

Wurm Assistant - Enrich Your Wurm Experience

Recommended Posts

Umm you probably disabled advisor or evaluator (or w/e ridiculous names I've invented for that one) :P


If so, it will say "disabled" in upper part of window, simply switch it and should work again.


Share this post


Link to post
Share on other sites

Both Value present and Advisor are on Default ..played around some how i had turned off "keep comparing the selected horse"


 


Nope that worked for one click then colors stopped again =(


 


I have been comparing all my check's in sittings to a friends we are both the same off thing is only 4 out of 30+ horses will show the color chart when click the rest give nothing


 


 


Think i got it i removed all the skips


Edited by Booskii

Share this post


Link to post
Share on other sites

Small feature request :).


 


Save all window sizes and positions.:)


 


I do the same three steps every time I boot windows 8.1 pro.


 


1) Have it in my startup.


2) Move the main window so that its not behind the start bar. (Which I like on the side because I am used to a task list from X-Windows on Linux in college.)


2.B) Open and move the timers window down and to the left below the main window. Stretching if necessary.


3) Shutdown windows and summarily have it auto shutdown WA.


 


Appendix) I am sure I will add at least the granger if not the season callender at somepoint. Just not doing those at the moment in wurm.


 


I would consider it a win if it was something like a menu item in the options menu."Save positions."  Bonus round would be multiple save options with a load feature.


 


I can see myself within the next month having sets of window positions that are different for when my laptop is docked with an extra monitor and when it is not.


 


So maybe in the options menu there is a drop down that says, "Save positions" and it opens a pop up that lets you save to "Default" or "Choose existing set." or "Make new set." Then these sets are populated under an option menu item that says "Load positions ->" which has the submenu: "Default" "Set 1" "Set 2" ...  But only lists sets that actually exist.


 


Just an idea. :)

Share this post


Link to post
Share on other sites

I can do saving window positions, but the profiles are going to land on new ideas for now.


Share this post


Link to post
Share on other sites

New Triggers have arrived! 


 


Important: When you run Assistant after update, it will show (at least) 1 error and Sound Triggers will disappear from the toolbox. This is NOT a bug, you just need to re-add Triggers from features menu and it should do the importing, request WA restart and then just work.


This happens because new Triggers are really running as new feature (new module) and old triggers code branch is no longer present in WA. Sorry about this, if it causes any confusion!


 


What's in the box!?


  • New GUI for configuring triggers
    • The list is now a bit more useful and remembers column config
    • Brand new window to edit trigger settings
    • Action queue trigger is now just another type of trigger

  • Popups can be used in addition to sounds
  • Cooldown can be set for triggers
  • Old sound triggers will all be imported to new triggers (hopefully without hickups!)
  • Code is greatly improved and ready for adding more cool ideas!

Cooldown has an extra option, called "always reset". I've added this for chat triggers specifically. In many chat programs, you will hear a sound only if a chat was inactive for a while. Well this will work just like that, if you set cooldown to 15 seconds, then another notification will happen only if there was at least 15 seconds since trigger last encountered its condition.


 


I thought about rolling this into a special trigger type all in itself, but adding a checkbox was much easier. :)


 


What's still coming for Triggers:


  • Multi-sound trigger, where many sounds can be set and played either randomly or in repeating sequence
  • Creating triggers for specific PM chat logs
  • Once notify widget is done, it will be added as 3rd notification option (it's already done, just needs to be activated)
  • Once scripting is working, there will be a new scriptable trigger

 


As always, work on WA can be tracked on this board:


https://trello.com/b/Wl58d6PR/wurm-assistant


 


WA wiki on triggers will probably need some love, if someone is interested. :)


Edited by Aldur
  • Like 1

Share this post


Link to post
Share on other sites

WHEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE. (Whee).


Share this post


Link to post
Share on other sites
[15:24:00] Info > - > > Tracking 10 logs for Schwankenchanter

[15:24:00] Info > WurmLogs > Subscribed to engine for player Schwankenchanter

[15:24:00] Diag > - > starting module of type: Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Granger.ModuleGranger

[15:24:01] Info > WurmLogs > Subscribed to engine for player Blackdiamond

[15:24:01] Info > WurmLogs > Subscribed to engine for player Schwanke

[15:24:01] Info > WurmLogs > Subscribed to engine for player Schwankenchanter

[15:24:01] Diag > - > starting module of type: Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Backpack.ModuleBackpack

[15:24:01] ERROR > ModuleManager > Could not create module with following typestring: Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.SoundNotify.ModuleSoundNotify

EXCEPTION: Could not load type 'Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.SoundNotify.ModuleSoundNotify' from assembly 'WurmAssistant2, Version=2.0.122.0, Culture=neutral, PublicKeyToken=null'.

EXC TYPE:System.TypeLoadException

SOURCE: mscorlib

TRACE:    at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)

   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)

   at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)

   at System.Type.GetType(String typeName, Boolean throwOnError)

   at Aldurcraft.WurmOnline.WurmAssistant2.ModuleManager.Init()

[15:24:01] Info > - > checking for new assistant version

[15:24:01] Diag > - > new assistant version detected

[15:24:01] Diag > - > showing changelog due to build version increase and user setting

[15:24:01] Diag > - > following to news post due user settings

[15:24:02] Info > WurmServer > WebFeed: Header timestamp '1/12/2014 3:24:03 PM' arrived from the future, adjusting to match DateTime.Now '1/12/2014 3:24:02 PM'

[15:24:02] Info > WurmServer > WebFeed: Trying to update web-uptime for 'deliverance' to '1.04:13:00' with timestamp: '1/12/2014 3:24:02 PM'

[15:24:02] Info > WurmServer > WebFeed: Trying to update web-uptime for 'independence' to '2.04:25:00' with timestamp: '1/12/2014 3:24:02 PM'

 

 


========


 


I should mention that I 'ported' my accounts from my old desktop to my laptop by copying all the folders with the character information which now have about 15 avatars (really, and dont laugh. I multi task :D) that have references to configs that dont exist. So there are a lot of those warnings but I have been ignoring them.)


Share this post


Link to post
Share on other sites

It segfaulted or whatever the term is for java and I restarted it and it loaded no problem.


Share this post


Link to post
Share on other sites

Ah yes, I totally forgot to mention that this error will happen. This is because old "Module Triggers" is different to current "Triggers". So effectively it can't load and has to be added manually from features.


Share this post


Link to post
Share on other sites

Ok. Timers and triggers are wonky.


 


I set a trigger with a cool down and it put the pop up at the trigger, not at the cool down. I need it at the cool down.  The idea is if I set a cool down its because I want the timer to start when the trigger happens and then pop up when the cool down is over. 


 


Like for measuring the first 5 minutes of sleep bonus if you want to use the minimum.


 


I want it to trigger on the event message of the fsleep and then pop up when the five minutes is over.  What I dont want is a pop up as soon as it triggers because I'm the one that triggered it so I already know about it and I want it to pop up after the cool down so that I know to turn off fsleep.


 


 


Also. It seems to have kept my old timers even after I deleted them. Ironically I did get a pop up after the five minutes but I got the old popup from the old timer that I deleted. (Even from the custom timers list.)


 


Thanks for puttin these in. Hope I am making sense. :P


Share this post


Link to post
Share on other sites

That's not what cooldown means, what you want is called delay. I can add that.


 


Timers or triggers? I didn't touch timers, why would they get broken?


Share this post


Link to post
Share on other sites

Great stuff as always!


 


One feature I would love to see is text-to-speech alerts in addition to sounds and popups. With many alts, many timers and triggers it gets very hard to keep track of what sounds mean what. I am not sure how hard it is to add, but I would assume it's just a c# library that needs to be included.


Share this post


Link to post
Share on other sites

Ok on the delay. Thanks!


 


I think you imported the timers but didnt give an option to remove the imported ones? I just know I deleted the timers and they are still active. Does that make sense? (Bad morning).


Share this post


Link to post
Share on other sites

Never ever WA2 imported settings for me.


It's always empty and I must set them again.


It's good that I'm not breading horses


Just timers and calendar.


 


Is avast! could be a problem, since it always go to "checking new exe" and upgraded WA2 shows crash window and runs after?


Share this post


Link to post
Share on other sites

Dont take my last bug report too seriosly until I confirm it again please. I have some sloppyness in the new triggers from the learning curve so may be my end.


 


Also. Special request:


 


Please double check all your windows and the way they respond to being "reopened" when they are hidden behind another window.


 


My mouse goes stupid and can click wierd places and sometimes the window I am using from WA2 goes to the back.


 


Some of them re opening them will bring it to the front. Some not. And so I will have to close or minimize everything on my desktop to find some. Sometimes even one will go behind another that I cant minimize or close until I close the first one! (Both from WA). Please also check recursively. Be nice if say pushing the green triggers button in the main window re-opens/brings to front all the triggers sub windows in the right stacking order. Thanks!


 


Also I have just confirmed settings are not saving properly on the last trigger edit window. If you add a pop up and then set the persist flag and exit it doesnt save. Go back in and its gone.  I can reproduce every time. :P


 


Thanks!


Share this post


Link to post
Share on other sites

Schwanke, I'll try to bring order into chaos with those windows.


 


I have not observed triggers "staying behind" after being deleted, not even imported ones. But if that keeps happening to you, we will get to the bottom of it.


 


That "persist popup" option actually worked, it's the checkbox that was lazy. ;)


 


DKSprocket, I can do text-to-speech, but I make no promises on voice quality. ;)


 


Kitsunenobaka, it is most likely Avast, issue may be coming from that WA is launching new exe all on it's own and that operation seems fishy to it. Will check what can be done about that, but my recommendation is to use better AV software or find a way for it to ignore WA somehow. I've had "adventures" with Avast as well, once.


Share this post


Link to post
Share on other sites

Just rolled a bugfixing update! And the delay setting! Enjoy!

2.0.123.0 (14-01-2014 1:02:12)

- lots of fixes for how windows are shown, now (hopefully) all windows will be back, visible, on screen and dancing every time they are called upon!

- added delay notification option for all triggers

- fixed "show until clicked" option for popup notificator

- in trigger configs, checked list box for log types would force a focus on entire window on all mouseovers, had to be disabled

- tiny fix for meditation cooldown for when a character has just gained 20 meditation skill

Edited by Aldur
  • Like 1

Share this post


Link to post
Share on other sites

Did the trigger overhaul move the action queue string config somewhere secret? I'm missing the button that opens the text file.


Share this post


Link to post
Share on other sites

It's in the action queue trigger settings (once you add it). I'd like to start keeping things where they belong. :)


Changes in it are still shared among all queue triggers, of course.


Share this post


Link to post
Share on other sites

Since I reinstalled windows not to long ago I can no longer use this.


 


Upon starting it says there are two errors


 





[18:14:08] Info > PersistentObject`1[WurmState.PlayerServerTracker+PlayerServerTrackerState] > something went wrong with loading object, trying to recover
EXCEPTION: Unexpected end of file.
EXC TYPE:System.Xml.XmlException
SOURCE: System.Runtime.Serialization
TRACE:    at System.Xml.EncodingStreamWrapper.ReadBOMEncoding(Boolean notOutOfBand)
   at System.Xml.EncodingStreamWrapper..ctor(Stream stream, Encoding encoding)
   at System.Xml.XmlUTF8TextReader.SetInput(Stream stream, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose onClose)
   at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(Stream stream)
   at Aldurcraft.Utility.PersistentObject`1.Load()
[18:14:08] Info > PersistentObject`1[WurmState.PlayerServerTracker+PlayerServerTrackerState] > created backup of broken settings file for manual data recovery if needed: C:\Users\Wesnc\AppData\Local\AldurCraft\WurmAssistant2\WurmState\PlayerServerTrackerState.xml_broken_2014-01-14__18-14-08.txt
[18:14:08] Info > PersistentObject`1[WurmState.PlayerServerTracker+PlayerServerTrackerState] > something went wrong with loading object, trying to recover
EXCEPTION: Unexpected end of file.
EXC TYPE:System.Xml.XmlException
SOURCE: System.Runtime.Serialization
TRACE:    at System.Xml.EncodingStreamWrapper.ReadBOMEncoding(Boolean notOutOfBand)
   at System.Xml.EncodingStreamWrapper..ctor(Stream stream, Encoding encoding)
   at System.Xml.XmlUTF8TextReader.SetInput(Stream stream, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose onClose)
   at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(Stream stream)
   at Aldurcraft.Utility.PersistentObject`1.Load()
[18:14:08] ERROR > PersistentObject`1[WurmState.PlayerServerTracker+PlayerServerTrackerState] > could not create backup of broken settings file: C:\Users\Wesnc\AppData\Local\AldurCraft\WurmAssistant2\WurmState\PlayerServerTrackerState.xml
EXCEPTION: The file 'C:\Users\Wesnc\AppData\Local\AldurCraft\WurmAssistant2\WurmState\PlayerServerTrackerState.xml_broken_2014-01-14__18-14-08.txt' already exists.
EXC TYPE:System.IO.IOException
SOURCE: mscorlib
TRACE:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
   at System.IO.File.Copy(String sourceFileName, String destFileName)
   at Aldurcraft.Utility.PersistentObject`1.Load()
[18:14:08] Info > PersistentObject`1[WurmState.PlayerServerTracker+PlayerServerTrackerState] > could not find anything to recover from, is this first launch?
[18:14:08] ERROR > PersistentObject`1[WurmState.PlayerServerTracker+PlayerServerTrackerState] > something went wrong with saving object
EXCEPTION: Could not load file or assembly 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
EXC TYPE:System.IO.FileLoadException
SOURCE: mscorlib
TRACE:    at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)
   at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
   at System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.PopulateNestedClasses(Filter filter)
   at System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.GetListByName(Char* pName, Int32 cNameLen, Byte* pUtf8Name, Int32 cUtf8Name, MemberListType listType, CacheType cacheType)
   at System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.Populate(String name, MemberListType listType, CacheType cacheType)
   at System.RuntimeType.RuntimeTypeCache.MemberInfoCache`1.GetMemberList(MemberListType listType, String name, CacheType cacheType)
   at System.RuntimeType.GetNestedTypeCandidates(String fullname, BindingFlags bindingAttr, Boolean allowPrefixLookup)
   at System.RuntimeType.GetMembers(BindingFlags bindingAttr)
   at System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.ImportDataMembers()
   at System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type type)
   at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 id, RuntimeTypeHandle typeHandle, Type type)
   at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type)
   at System.Runtime.Serialization.NetDataContractSerializer.GetDataContract(RuntimeTypeHandle typeHandle, Type type, Hashtable& surrogateDataContracts)
   at System.Runtime.Serialization.NetDataContractSerializer.GetDataContract(Object obj, Hashtable& surrogateDataContracts)
   at System.Runtime.Serialization.NetDataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph)
   at System.Runtime.Serialization.XmlObjectSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.NetDataContractSerializer.WriteObject(XmlWriter writer, Object graph)
   at Aldurcraft.Utility.PersistentObject`1.Save()
 


 


When I try to choose a player to monitor an event from in the Granger/Triggers(Seems to be anything where I choose what character), I get this error which prompts me to continue or quit


 





************** Exception Text **************
System.IO.FileLoadException: Could not load file or assembly 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
File name: 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'
   at Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Granger.PlayerManager.InitSkill()
   at Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Granger.PlayerManager..ctor(ModuleGranger parentModule, GrangerContext context, String playerName)
   at Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Granger.LogFeedManager.RegisterPlayer(String playerName)
   at Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Granger.LogFeedManager.UpdatePlayers(List`1 list)
   at Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Granger.ModuleGranger.GrangerUI_Granger_PlayerListChanged(Object sender, EventArgs e)
   at Aldurcraft.WurmOnline.WurmAssistant2.ModuleNS.Granger.FormGrangerMain.buttonChangePlayers_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


 


At this point nothing works, trying to smile at a horse and examine it does not put it into the table as it should and trigger events doesn't work either.


 


I have tried deleting the files related to the program under Local/AldurCraft many times but nothing works.


 


EDIT: Seems completely removing .NET Framework 4.0 and 4.5.1 and reinstalling them has fixed the problem.


Edited by WesncIsMe

Share this post


Link to post
Share on other sites

Glad it worked and thanks for reminding me that I need to add this fix to known issues.

Share this post


Link to post
Share on other sites

I cant tell if I am doing something wrong these being new features and stuff but it seems to me as if the end of queue trigger isnt working properly. I tried it with casting opulence and I get neither my sound nor the pop up. Both are added. I even tried it with a delay of 0. I will keep an eye to see if other queue items trigger it.


 


*EDIT*


 


[2014-01-14] [19:52:07] You start to cast 'Opulence' on a roach.

[2014-01-14] [19:52:31] You cast 'Opulence' on a roach.

[2014-01-14] [19:52:31] You frown as you fail to improve the power.

[2014-01-14] [19:52:31] You need more favor with your god to cast that spell.

[2014-01-14] [19:52:31] You need more favor with your god to cast that spell.

 

 


 


This is the log section that isnt working.


 


The first three are the natural course events of a cast. The last two are when you have queued a stack of something and as it says you dont have enough favor to cast.


 


I tested it with prayer and prayer gives the sound and the pop up just fine. Thing is I added what I thought was the right strings to the modifiable list of start and end conditions and it didnt seem to help.


 


Can you do me a favor and give me the strings I should use in the modified list and see if I can get that to work first then you can add them to the master if they do. Does that make sense?


 


BTW, This is what I tried:


 


# if an event starts with these, it informs Sound Notify that action has started

+ACTION_START

You start to cast

 

# below is analogous to ACTION_START, 

# with the exception that it searches for this sentence in entire event line

# and not just at the beginning

+ACTION_START_CONTAINS

 

# if an event starts with these, it informs Sound Notify this is actually not start of an action

+ACTION_FALSTART

 

# if an event starts with these, it informs Sound Notify that action has finished 

+ACTION_END

You frown as you fail to improve the power.

 


 


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now