Loading function...
Please make sure JavaScript is enabled. Otherwise you will be unable to see the function documentation.
Please make sure JavaScript is enabled. Otherwise you will be unable to see the function documentation.
Returns the amount of time that has passed since the last frame in seconds.
None.
Use frame time to move forward at 3 meters per second when a button is pressed, regardless of frame rate.
function main()
while not SystemIsReady() do
Wait(0)
end
while true do
if IsButtonPressed(3,0) then
local h, x, y, z = PedGetHeading(gPlayer), PlayerGetPosXYZ()
-- multiply the distance that we move by the frame time, so we only move that many units per second
local distance = 3 * GetFrameTime()
PlayerSetPosSimple(x - distance * math.sin(h), y + distance * math.cos(h), z)
end
Wait(0)
end
end
Returns a persistent data table for the current collection. This table is preserved after DSL is reset, and is tied to the name of the current collection.
None.
Returns the value of GetTickCount, primarily intended for use with math.randomseed to improve the random number generator.
None.
Check if a DSL script is currently running so that you can conditionally make use of features that cannot be used by scripts in Scripts.img.
None.
This function is not defined on the client, so the normal GetTimer will be used instead.
On the server, this function returns how long the server has been running in milliseconds to copy the client behavior.
None.
This function is not defined on the client, so the normal ObjectNameToHashID will be used instead.
On the server, this function returns light userdata representing the hashed string to copy the client behavior.
Signal the server to gracefully shutdown as soon as possible.
None.
None.
Check if a hash (returned by functions like ObjectNameToHashID) is equal to a number represented by a string. The string is specified in hexadecimal.
Add a ground blip in front of the boy's dorm.
if IsHash(ClothingGetPlayer(1),"65A6B72C") then
TextPrintString("Wearing Bullworth vest.",0,1)
end
Forcefully activate the UpdateWindow event to possibly re-style the game's window.
None.
None.
Get the game's current internal resolution. You may be looking for GetDisplayResolution instead.
None.
Returns the username set in DSL's main config, or "player" if nothing is set.
This is a client function, see the server version here: GetPlayerName.
None.
Get the size of the primary monitor. Primarily intended for centering the window during the UpdateWindow event.
None.
Runs the same check as PedSetActionNode to determine if a node is both valid and loaded, without actually needing to set the action node.
Returns if the game is... paused.
None.
Instantly exit the game's process.
This function doesn't return.
Call a function from a native script. The way this is done is by spoofing the game into thinking a certain game script is running, while also temporarily telling DSL that none of its scripts are.
In most cases, this is just as good as actually calling a function from the script in question. The most notable example of that not being the case is with ButtonHistorySetCallbackFailed and its related functions. If you want a simpler way to make this apply to your entire script for a certain function, consider using UseProxyScriptForFunction.
Script should be the name of a native script that is currently running, or a DSL script object. Passing nil instead of any other value will spoof the game into thinking there is no scripts at all. Otherwise, your options will usually consist of main.lua, STimeCycle.lua, the current area script, and the current mission / errand.
If you use this to create something (such as a blip for instance), make sure to delete that something by the time your script ends or it could permanently take up resources.
If using nil for a script, do not create or destroy native game scripts (by using something like LaunchScript). It will result in undefined behavior.
DSL5 A DSL script object can be passed for Script to call the function from that script.
Creates a function in the calling environment that will use CallFunctionFromScript to call the function given. Function is presumed to be in the global environment.
For some functions, this can give you a way to make use of things that don't work in DSL. The most notable example is BlipAddXYZ not letting you create ground blips.
None.
Add a ground blip in front of the boy's dorm.
UseProxyScriptForFunction("main.lua", "BlipAddXYZ")
UseProxyScriptForFunction("main.lua", "BlipRemove")
gCreatedBlip = -1
function main()
while not SystemIsReady() do
Wait(0)
end
-- since we setup a proxy script for this function, the blip is actually going to be created by main.lua
gCreatedBlip = BlipAddXYZ(270, -110, 6, 25, 1, 1)
end
function MissionCleanup()
-- it is very important we delete the blip ourselves since it doesn't belong to our script, meaning it won't be cleaned up naturally
if gCreatedBlip ~= -1 then
BlipRemove(gCreatedBlip)
end
end