Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

What kind of coding is this?

I have looking at this script, and I found this strange coding that I've never seen before, what kind of coding is this? Here is an example of some of the coding (Not full code, code has too many Charcters);

108,111,99,97,108,32,83,111,110,103,115,32

3 comments

1

Oh yeah, I've seen an old CFrame door use something like that. My guess is it's an outdated way of setting a target CFrame or such.

0

deatherapy is referring to CFrame's nature of being a 3x4 matrix. While it's not smart to, you can explicitly define CFrames by listing their 12 defining numbers. The quoted values are not a valid CFrame though, so this guess is wrong.

0

ooh an old post by thee death caster, EPIC

1 answer

This is an (extended) ASCII representation of text.

It corresponds to, in this case, the characters forming the string "local Songs ".


Strings are lists of characters. In Lua, a character is exactly one byte, which is a fundamental unit of computer memory. One byte can be any of 256 values; so ASCII* assigns one character to each of the numbers 0 to 255.


You can make strings by making a list of those character points.

Using string.char(byteValue) you make a single character from a number; using string.byte(character) you make a number from a single character.


The purpose of this most of the time is for scripters to attempt to obfuscate their code from people trying to read or modify it.

It is easy to undo this, though, so it's not particular effective, except that people not immediately familiar with it cannot understand what to do.

Since these strings can't actually be executed on their own, they need to be run through loadstring; since ROBLOX doesn't allow bytecode anymore, this text needs to be (more or less) human readable.

So, we can always crack any amount of simple string manipulations like this trivially:

local floadstring = loadstring;
function loadstring(s)
	print(s);
	-- Print anything run through loadstring.
	return floadstring(s);
end

Asterisk:

Technically, what Lua uses is not ASCII. ASCII actually only assigns 128 characters, not all 256;

ROBLOX uses Windows 1252 I believe. The text inside of that used for Lua code, which is limited to the newlines, tab, letters, and basic math, are the same in most single byte formats (including ASCII).

That means the extensions are essentially just cosmetic (think Wingdings).

2 comments

0

So, its a form of coding that isn't very often used anymore, but can be used and used with Loadstring()();?

0

Pretty much. It's not really a "form of coding" as much as meta-programming. It's not a good practice, so it's not something you should do unless you really know why you're doing it

This discussion is preserved as it was. New answers, comments, and votes are closed.