FAQ  •  Register  •  Login

Client Crashing

Moderator: MiRai

<<

mo_ron

Posts: 22

Joined: Thu Apr 28, 2011 6:12 pm

Post Tue Jul 19, 2011 10:10 am

Client Crashing

I was trying to do a proof of concept script to see if I could get something to work. My LOTRO client started crashing. I was able to narrow it down to the specific action which is causing it.

http://www.privatepaste.com/74a331cb9e

After the client is loaded, hitting the 'K' key will crash the client. K will set the mapped key 'Random Skill' to step 2 and then execute 'Random Skill'. The action that crashes the client is in Step 1 of 'Random Skill'. It is the 'Do Mapped Key' action. This step doesn't even run, but having that action in Step 1 will crash the client when Step 2 is run.
<<

lax

User avatar

Site Admin

Posts: 7301

Joined: Tue Nov 17, 2009 9:32 pm

Post Tue Jul 19, 2011 11:11 am

Re: Client Crashing

The crash is because of an infinite loop, and your infinite loop is due to a particular quirk of the Hold option changing the order of operations. The infinite loop is caused by step 1 of Random Skill, which does _Master Delay, which does _Rotation, which does Random Skill, which does _Master Delay, etc. The infinite loop can't advance to the next step naturally, because the Hold option requires that each begins (infinitely) but never advances to the next step.

This snippet from bind -list will demonstrate the "issue" you're seeing with the Mapped Key Step Action:
Code:
[keymapper_RK_Test(keymap)__Rotation] [NONE] Command (Press): keymapper -holdmappedkey "RK Test" "Random Skill"
[keymapper_RK_Test(keymap)__Rotation] [NONE] Command (Release): noop ${ISBoxerUI:PopupText["Rotation - Step 1",500,500,"FFFFFFFF"]};keymapper -setstep "RK Test" "Random Skill" "2";keymapper -releasemappedkey "RK Test" "Random Skill"


Basically, everything normally happens on release, except for Sync Cursor which normally happens on press. The Hold option splits off any Do Mapped Key action or Keystroke, to begin on the press of the mapped key. Everything else retains its original behavior.

In this case, you are intending for the Mapped Key Step Action to happen in the "press" portion of the hold, prior to the Do Mapped Key Action. You can force the order of operations by splitting your Mapped Key Step Action into its own Mapped Key, set to Pressed.
<<

mo_ron

Posts: 22

Joined: Thu Apr 28, 2011 6:12 pm

Post Tue Jul 19, 2011 12:00 pm

Re: Client Crashing

As always, thanks for the quick and informative response! Going to play with it right now.

Return to General

Who is online

Users browsing this forum: Google [Bot] and 0 guests