Jump to content

Steam Overlay - Working on win7


renegadelink

Recommended Posts

UPDATE

 

The mods deleted my other thread with my better solution.

But I've posted in the customer service forum explaining why steam overlay doesn't work, and how to fix it.

http://www.swtor.com/community/showthread.php?t=191776

 

I've also posted on steam forums. Hopefully either valve or bioware will fix the problem.

http://forums.steampowered.com/forums/showthread.php?t=2487980

 

People need to reply in those threads or no dev will ever notice.

 

--------------------------------------------------------------------------------------------------------

 

UPDATE

 

I got a better solution here:

http://www.swtor.com/community/showthread.php?t=104668

 

 

--------------------------------------------------------------------------------------------------------

 

I have gotten the steam overlay to work on my computer. I don't have another computer to test it on, so this first attempt I am giving out may or may not work.

 

This also runs the swtor client in non-admin mode which is a nice security perk.

 

Here are the steps:

 

Step 1 (script):

copy paste this script into a plain text editor (ex. notepad) and save it as "steamswtor.vbs" in the same directory as your swtor launcher (ex. "C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic"):

 

 

' if nothing was passed in, we are starting from scratch, so start the launcherIf WScript.Arguments.length = 0 ThenswtorHome = WScript.ScriptFullNameswtorHome = Left(swtorHome, InStr(swtorHome, WScript.ScriptName)-1)'run the launcherSet objShell = WScript.CreateObject("Shell.Application")objShell.ShellExecute "launcher.exe", "", swtorHome' create the file that the elevated script will copy swtor's path and commandline toset fso = CreateObject("Scripting.FileSystemObject")set tempfolder = fso.GetSpecialFolder(2)tempname = tempfolder & "\" & "swtorsteam.tmp"set tempfile = fso.CreateTextFile(tempname)tempfile.close()'run this script but signal that it needs to elevate by giving it the tempfile name as an argumentSet objShell = CreateObject("Shell.Application")objShell.ShellExecute "cscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " " & tempname, "", "runas", 1WScript.Echo "Waiting for other script to finish..."' check every second if the temporary file has been updated with the commandline infoDo While True	'check the filesize of the tempfile	set tempfile = fso.GetFile(tempname)	If tempfile.Size > 0 Then Exit Do	WScript.Sleep 1000LoopswtorExecutablePath = swtorHome + "swtor\retailclient"set tempfile = fso.OpenTextFile(tempname)swtorCommandLine = tempfile.ReadLinetempfile.close()Set objShell = CreateObject("Shell.Application")objShell.ShellExecute "swtor.exe", swtorCommandLine, swtorExecutablePathfso.DeleteFile tempnameWScript.QuitElse' we are elevated now	WScript.Echo "Waiting for launcher to start swtor..."'Get Windows Manager object Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")' check every second for swtor.exe that was launched by swtor's launcherWhile True	'Get info on processes named "swtor.exe"	Set swtorInstanceList = objWMIService.ExecQuery _ 	("Select * from Win32_Process Where Name =""swtor.exe""")	for Each swtorInstance in swtorInstanceList		cmdline = swtorInstance.CommandLine		'look for something only our swtor will have in it's commandline arguments		If InStr(cmdline, "username") > 0 Then			'we found the swtor.exe we care about			swtorInstance.Terminate()			'remove the exe path and name from the cmdline			position = InStr(1, cmdline, """ ") + 1			cleanCmdLine = Right(cmdline, Len(cmdline) - position)			tempname = WScript.Arguments(0)			set fso = CreateObject("Scripting.FileSystemObject")			set tempfile = fso.OpenTextFile(tempname, 2)			tempfile.WriteLine(cleanCmdLine)			tempfile.close()			WScript.Quit		End If	Next		WScript.Sleep 1000WendEnd If

 

 

 

Step 2 (steam):

 

- Open up steam and go to the menu option "Games" and click "Add a non-steam game to my library"

- Add "Star Wars the Old Republic" or browse to swtor's "launcher.exe" and add that.

- Now right-click the newly added game in steam's library, and click properties.

 

- Change the properties to match these:

 

 

 

> (Optional) Choose Icon: Browse to swtor's "launcher.exe" and select it

 

 

 

> (Optional) Name: Star Wars - The Old Republic

 

 

 

> (Required) Target: "C:\Windows\System32\cscript.exe" "PUT FULLPATH TO steamswtor.vbs"

 

 

 

> here's a full example (the quotes are important):

 

Target: "C:\Windows\System32\cscript.exe" "C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\steamswtor.vbs"

 

 

> (Required) Start In(the quotes are important): "C:\Windows\System32"

 

 

That's it.

 

Using vbscript has made doing this simple task annoying but I didn't want to write this so people would have to compile source code, or for me to give out an exe for people to run.

 

Hopefully this works for people. If not, I'll try something else. I know it is possible to get steam overlay working with swtor though which is good.

 

Enjoy.

Edited by renegadelink
Link to comment
Share on other sites

  • Replies 169
  • Created
  • Last Reply

Top Posters In This Topic

Works for me on win 7 64bit.

 

I had my steam in xp sp3 compatibility mode since another game with a launcher required it in order to work. However it did not work in that mode, after switching off compatibility mode it works perfectly.

 

Many thanks for this.

Link to comment
Share on other sites

Be sure to CHECK YOUR PATH!

 

My installation directory has EA instead of Electronic Arts so i had to adjust the steam shortcut accordingly

 

Works just fine for me!

 

Also make sure if you're using 32 bit windows to take out the (x86) part too in the path. Lesson- CHECK THE PATH

Edited by ATF_Azuran
Link to comment
Share on other sites

For those having issues, I would double check that all the paths are correct, check that C:/windows exists, check where your bioware install is located and change accordingly.

 

 

Non 64bit systems WILL have different paths. Honestly though valve or bioware should fix this. It worked fine in beta.

Link to comment
Share on other sites

This also runs the swtor client in non-admin mode which is a nice security perk.

 

But is it a good idea not to run as Admin (from Bioware's perspective, not reality). They probably do so because of careless coding issues. It might launch and play fine up until some weird things start to happen because of permission failures. Sort of a shotgun approach to making it work right.

Link to comment
Share on other sites

Launcher doesn't start for me, I get:
D:\Games\Star Wars-The Old Republic\steamswtor.vbs(13, 27) Microsoft VBScript 
compilation error: Syntax error

 

Make sure you copied code correctly. Maybe a letter was cut off somewhere.

Link to comment
Share on other sites

Runs the script, launcher starts, I sign in and the game loads, but I can't access the overlay D:

 

So close!

 

Edit: Also no longer classed as being in game on Steam D:

 

Double check that you included BOTH "C:\Windows\System32\cscript.exe" "C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\steamswtor.vbs" in preferences and that "C:\Windows\System32" (with quotation marks) is the starting location and that all paths are named correctly.

Link to comment
Share on other sites

×
×
  • Create New...