Misc

Helper functions to make scripting easier and more flexible

Functions

sWatch.generateString

Generate random string with fixed or variable length. This will only return lowercase alphabet values (a-z).

Arguments

  1. (Number) minimumLength

  2. (Number) maximumLength (optional)

Returns

  1. (String) randomString

Example

print(sWatch.generateString(3)) // prints: hzg
print(sWatch.generateString(6)) // prints: ulhdbz
print(sWatch.generateString(2, 8)) // prints: uhb
print(sWatch.generateString(2, 8)) // prints: ocxplkd
sWatch.playerName

Input any value you want and get a formatted string with the SteamID and Name of a player. This unifies the representation of names.

Arguments

  1. (any) player

Returns

  1. (String) playerStringRepresentation

Example

local onlinePlayer = Entity(1)
local onlineSteamID = onlinePlayer:SteamID()
local offlineSteamID = "STEAM_0:0:1234567"
local garbage = "etwqdzuoipüu8u8u"

print(sWatch.playerName(onlinePlayer)) // prints: "playername" (STEAM_0:0:123)
print(sWatch.playerName(onlineSteamID)) // prints: "playername" (STEAM_0:0:123)
print(sWatch.playerName(offlineSteamID)) // prints: STEAM_0:0:1234567
print(sWatch.playerName(garbage)) // prints: etwqdzuoipüu8u8u
sWatch.extractIP

Extract IP-Address and port from ply:IPAddress()

Arguments

  1. (String) address

  2. (Boolean) publicOnly (optional) - returns false if address is local (e. g. 192.168.0.1)

Returns

  1. (Boolean|String) IP-Address or false if invalid

  2. (Boolean|String) Port or false if invalid

sWatch.extractDomain

Extracts a domain from URL.

Arguments

  1. (String) url

  2. (Boolean) includeSubdomains (optional) - Should we keep or remove the subdomain from, e.g. subdomain.domain.com?

Returns

  1. (String|Boolean) domain - Returns false if domain is invalid.ex

sWatch.convertSteamID

Always returns the SteamID32 or empty string if invalid.

Arguments

  1. (SteamID32|SteamID64|Player) player

Returns

  1. (String) steamID32 - returns "" if input is invalid

sWatch.isAFK

Utilizes GExtension and DarkRP. If none are installed on the server, we check whether the player hasn't moved his mouse within 3 Minutes.

Arguments

  1. (Player) player

Returns

  1. (Boolean) isAfk

sWatch.hmac_sha256

Returns HMAC. Used for validating device cookies.

This library was made by Jqqqi and published on GitHub under MIT licence: https://github.com/jqqqi/Lua-HMAC-SHA256

Arguments

  1. (String) key

  2. (String) message

Returns

  1. (String) keyedHash

sWatch.getNetmessageDefinition

Returns the file and line number where the net.Receive of a netmessage is defined.

Arguments

  1. (String) netmessageName

Returns

  1. (String) path - Format path:linenumber or "unknown"

Last updated