<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://orc.lunarix.pw/index.php?action=history&amp;feed=atom&amp;title=WindowExternal</id>
	<title>WindowExternal - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://orc.lunarix.pw/index.php?action=history&amp;feed=atom&amp;title=WindowExternal"/>
	<link rel="alternate" type="text/html" href="https://orc.lunarix.pw/index.php?title=WindowExternal&amp;action=history"/>
	<updated>2026-10-28T20:24:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://orc.lunarix.pw/index.php?title=WindowExternal&amp;diff=716&amp;oldid=prev</id>
		<title>Cheaseman2092: Created page with &quot;This guide will go over most of the external functions and properties that can be accessed via Javascript in the 2008 Roblox IDE space.  When using some of these functions, it should have a prefix of &lt;code&gt;window.external&lt;/code&gt; in order to have the proper calling syntax.  == Workspace == &#039;&#039;To access any of the Workspace class for functional use you must get it through the &lt;code&gt;App.CreateGame()&lt;/code&gt; function or already have the workspac...&quot;</title>
		<link rel="alternate" type="text/html" href="https://orc.lunarix.pw/index.php?title=WindowExternal&amp;diff=716&amp;oldid=prev"/>
		<updated>2026-10-19T01:23:22Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This guide will go over most of the external functions and properties that can be accessed via Javascript in the 2008 Roblox IDE space.  When using some of these functions, it should have a prefix of &amp;lt;code&amp;gt;window.external&amp;lt;/code&amp;gt; in order to have the proper calling syntax.  == Workspace == &amp;#039;&amp;#039;To access any of the Workspace class for functional use you must get it through the &lt;a href=&quot;/index.php?title=WindowExternal#CreateGame()&quot; title=&quot;WindowExternal&quot;&gt;&amp;lt;code&amp;gt;App.CreateGame()&amp;lt;/code&amp;gt;&lt;/a&gt; function or already have the workspac...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This guide will go over most of the external functions and properties that can be accessed via Javascript in the 2008 Roblox IDE space.&lt;br /&gt;
&lt;br /&gt;
When using some of these functions, it should have a prefix of &amp;lt;code&amp;gt;window.external&amp;lt;/code&amp;gt; in order to have the proper calling syntax.&lt;br /&gt;
&lt;br /&gt;
== Workspace ==&lt;br /&gt;
&amp;#039;&amp;#039;To access any of the Workspace class for functional use you must get it through the [[WindowExternal#CreateGame()|&amp;lt;code&amp;gt;App.CreateGame()&amp;lt;/code&amp;gt;]] function or already have the workspace open and call a function with it&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Close() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;Workspace.Close()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170 Stdcall]/void function which closes the workspace&lt;br /&gt;
&lt;br /&gt;
=== ExecScript() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;Workspace.ExecScript(string);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170 Stdcall]/void function which executes a Lua script in the game workspace.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Workspace.ExecScript(&amp;quot;print(1)&amp;quot;);&amp;lt;/code&amp;gt; (will output &amp;#039;&amp;#039;1&amp;#039;&amp;#039; to the console)&lt;br /&gt;
&lt;br /&gt;
=== ExecUrlScript() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;Workspace.ExecUrlScript(url);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170 Stdcall]/void function which executes the content from the given URL.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;code&amp;gt;Workspace.ExecUrlScript(&amp;quot;&amp;lt;nowiki&amp;gt;http://www.roblox.com/Data/Test.ashx&amp;lt;/nowiki&amp;gt;&amp;quot;);&amp;lt;/code&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;-- Test.ashx&lt;br /&gt;
print(&amp;quot;hello&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;(will output &amp;#039;&amp;#039;hello&amp;#039;&amp;#039; to the console)&lt;br /&gt;
&lt;br /&gt;
=== Insert() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;window.external.Insert(url)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170 Stdcall]/void function which inserts XML content that the &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; parameter contains&lt;br /&gt;
&lt;br /&gt;
=== Write() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;window.external.Write()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns &amp;lt;code&amp;gt;IContent&amp;lt;/code&amp;gt;, aka XML data of whatever is in the workspace&lt;br /&gt;
&lt;br /&gt;
=== WriteSelection() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;window.external.WriteSelection()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns &amp;lt;code&amp;gt;IContent&amp;lt;/code&amp;gt;, aka XML data of whatever is selected in the workspace&lt;br /&gt;
&lt;br /&gt;
== Content ==&lt;br /&gt;
&amp;#039;&amp;#039;To access any of the Content class for functional use you must get it through the [[WindowExternal#Write()|&amp;lt;code&amp;gt;Workspace.Write()&amp;lt;/code&amp;gt;]] or [[WindowExternal#WriteSelection()|&amp;lt;code&amp;gt;Workspace.WriteSelection()&amp;lt;/code&amp;gt;]] functions&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Upload() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;Content.Upload(url)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170 Stdcall]/void function which uploads the XML content selected by [[WindowExternal#Write()|Write()]] or [[WindowExternal#WriteSelection()|WriteSelection()]] to the url provided&lt;br /&gt;
&lt;br /&gt;
== App ==&lt;br /&gt;
&amp;#039;&amp;#039;To access any the App class for functional use you must get it through the &amp;lt;code&amp;gt;[[WindowExternal#GetApp()|window.external.GetApp()]]&amp;lt;/code&amp;gt; function&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== CreateGame() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;App.CreateGame(p)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns &amp;lt;code&amp;gt;IWorkspace&amp;lt;/code&amp;gt;, which allows you to use functions such as&lt;br /&gt;
&lt;br /&gt;
* [[WindowExternal#Insert()|Insert()]]&lt;br /&gt;
* [[WindowExternal#Write()|Write()]]&lt;br /&gt;
* [[WindowExternal#WriteSelection()|WriteSelection()]]&lt;br /&gt;
* [[WindowExternal#ExecUrlScript()|ExecUrlScript()]]&lt;br /&gt;
* [[WindowExternal#Close()|Close()]]&lt;br /&gt;
* [[WindowExternal#ExecScript()|ExecScript()]]&lt;br /&gt;
* [[WindowExternal#StartDrag()|StartDrag()]]&lt;br /&gt;
&lt;br /&gt;
=== RobloxAuthenticate() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;App.RobloxAuthenticate(authUrl, authTicket)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170 Stdcall]/void function which sends a GET request to your &amp;lt;code&amp;gt;authUrl&amp;lt;/code&amp;gt; with the GET parameter &amp;lt;code&amp;gt;?suggest=&amp;lt;/code&amp;gt; being your &amp;lt;code&amp;gt;authTicket&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It also sends a RBXAuthenticationNegotiation header which should be your base url (&amp;lt;code&amp;gt;roblox.com&amp;lt;/code&amp;gt; on regular clients)&lt;br /&gt;
&lt;br /&gt;
=== Quit() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;App.Quit()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://learn.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170 Stdcall]/void function which just closes the currently opened window/tab&lt;br /&gt;
&lt;br /&gt;
=== Version ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;App.Version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A string value that contains the version of the client, ex: &amp;#039;&amp;#039;0.7.6.0&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== ID ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;App.ID&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A string value that contains an MD5 hash&lt;br /&gt;
&lt;br /&gt;
== BrowserViewExternal (window.external) ==&lt;br /&gt;
&lt;br /&gt;
=== GetApp() ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;window.external.GetApp()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns &amp;lt;code&amp;gt;IDispatch&amp;lt;/code&amp;gt;, aka an access point of the app window which can be used for:&lt;br /&gt;
&lt;br /&gt;
* [[WindowExternal#CreateGame()|CreateGame()]]&lt;br /&gt;
* [[WindowExternal#Version|Version]]&lt;br /&gt;
* [[WindowExternal#ID|ID]]&lt;br /&gt;
* [[WindowExternal#RobloxAuthenticate()|RobloxAuthenticate()]]&lt;br /&gt;
* [[WindowExternal#Quit()|Quit()]]&lt;br /&gt;
&lt;br /&gt;
=== IsRobloxAppIDE ===&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;window.external.IsRobloxAppIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns a &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; (true/false) of whether the user in an IDE workspace (RobloxApp.exe), will return true, otherwise will return false.&lt;br /&gt;
[[Category:ReverseEngineering]]&lt;/div&gt;</summary>
		<author><name>Cheaseman2092</name></author>
	</entry>
</feed>