Globals
These are the new globals that are introduced with TS2 Extender.
Fields
TS2Extender
(boolean) Set to True. This is simply to allow you to check if Extender is installed.
Usage:
if TS2Extender ~= nil then
-- Extender is installed. Do stuff!
end
Methods
GetExecutableDirectory()
Returns the directory path that the game executable is located in.
Returns
path
: (string) Path to directory.
GetUserDirectory()
Returns the directory path that the user data is located in. e.g. "Documents/EA Games/The Sims 2 Legacy".
Returns
path
: (string) Path to directory.
RegisterCheat(name, description, callback)
Registers a new cheat for the in-game Ctrl+Shift+C console.
Parameters
name
: (string) The name of the cheat.
description
: (string) Cheat description as shown by the help cheat.
callback
: (function) The Lua function that will run when the cheat is called. Arguments are automatically passed from player input.
Usage:
RegisterCheat("Test", "Test cheat! Writes a custom string into a TNS. Usage: Test (string)", function(str)
nUI.ShowTextNotification(1,str)
end)
GetTS2ExtenderVersion()
Simply returns the current version of TS2 Extender, as a string.
Returns
version
: (string) Version string.
GetUserInput()
Returns what the player typed into the last text entry dialog (called via BHAV Dialog prim), which on an unmodded game goes unused.
Returns
input
: (string) Player text input.
OverrideString(originalIndex, originalId, originalGroup, newIndex, newId, newGroup)
Overrides a string with another.
Parameters
originalIndex
: (number) Index of the string in the STR#. Beginning from 1.
originalId
: (number) Instance ID of the STR# to override.
originalGroup
: (number) Group ID of the STR# to override.
newIndex
: (number) Index of the new string in the STR#. Beginning from 1.
newId
: (number) Instance ID of the new STR#.
newGroup
: (number) Group ID of the new STR#.
ClearStringOverride(originalIndex, originalId, originalGroup)
Clears a previously overriden string.
Parameters
originalIndex
: (number) Index of the replaced string in the STR#. Beginning from 1.
originalId
: (number) Instance ID of the replaced STR#.
originalGroup
: (number) Group ID of the replaced STR#.
OverrideUI(originalId, newId)
Overrides a UIScript resource with another.
Parameters
originalId
: (number) Instance ID of the UIScript to replace.
newId
: (number) Instance ID of the new UIScript to use.
ClearUIOverride(originalId)
Restores a previously replaced UIScript.
Parameters
originalId
: (number) Instance ID of the UIScript to restore.
OverrideMakeMoneyString(callback)
Replaces the function the game uses to generate money strings (e.g. 900000 -> $900,000)
Parameters
callback
: (function) Lua function to use to generate money strings.
Usage:
OverrideMakeMoneyString(function(money)
return money .. " pennies"
end)
ClearMakeMoneyStringOverride()
Reverses the OverrideMakeMoneyString function, making the game generate money strings as normal.
AddGameCallback(delegate, callback, priority)
Adds a callback that will run a custom Lua function when an event fires.
Parameters
delegate
: (Delegates) Delegate or event to listen to.
callback
: (function) Lua function to run when the delegate is fired.
priority
: (number) Number specifying the order the callback should run at. Higher values mean the callback will run after lower priority ones.
Returns
id
: (string) Unique ID of the callback, for future removal.
Usage:
-- create a callback that will disable all interactions.
local clearInteractionsCallback = AddGameCallback(Delegates.OnBuildPieMenu, function(interactions, sim, object, clicked, debug)
interactions:Clear()
end)
-- ..later remove it.
RemoveGameCallback(Delegates.OnBuildPieMenu, clearInteractionsCallback)
RemoveGameCallback(delegate, callbackId)
Removes a callback previously added with AddGameCallback
Parameters
delegate
: (number) Delegate or event to listen to.
callbackId
: (string) Unique ID of the callback to remove.
EnsureDirectory(path)
Creates all directories in a path if they don't exist.
Parameters
path
: (string)
GetFilesInDirectory(path, extension)
Recursively returns all files in a path.
Parameters
path
: (string) Path to the directory.
extension
: (string) Extension filter (e.g. ".lua"). Pass "" to allow any extension.
Returns
files
: (table) Table array with paths to all found files.
ReadFile(path)
Reads a file
Parameters
path
: (string) Path to the file to read.
Returns
fileContents
: (string) The contents of the file in a string.
WriteFile(path, contents)
Writes contents into a file.
Parameters
path
: (string) Path to the file to write.
contents
: (string) Contents to write into the file.
PackString(str)
Packs a string into an array of shorts, for storage in TS2.
Parameters
str
: (string) String to pack.
Returns
str
: (table) Table array with the string encoded as short numbers.
UnpackString(data)
Unpacks an array of short numbers into a string.
Parameters
data
: (table) Array of short numbers to unpack.
Returns
str
: (string) Result string from unpacked array.