Difference between revisions of "What's New in LUA Modding"

From SkyCorp Global
Line 5: Line 5:
  
 
=== Example ===
 
=== Example ===
Previously in AS3:
+
Previously mod json in AS3:
  
xxx
+
<syntaxhighlight lang="json">
 +
{
 +
"type": "ENTITY",
 +
"name":
 +
{
 +
"literalString" : "Shinier Gem"
 +
},
 +
"description":
 +
{
 +
"programString": true
 +
},
 +
"luac": "G0x1YVEAAQQEBAgAEAAAAEBzaGluaWVyR2VtLmx1YQAAAAAAAAAAAAAAAgIDAAAAJAAAAAcAAAAeAIAAAQAAAAQMAAAAZGVzY3JpcHRpb24AAQAAAAAAAAAFAAAADQAAAAAAAAIDAAAAAQAAAB4AAAEeAIAAAQAAAAQyAAAAVGhlIGdlbSBzaGluZXMgcHJvZ3JhbWF0aWNhbGx5IGFzIHlvdSBsb29rIGF0IGl0LgAAAAAAAwAAAAgAAAALAAAADQAAAAEAAAAQAAAAZGVzY3JpcHRpdmVUZXh0AAEAAAACAAAAAAAAAAMAAAANAAAABQAAAA0AAAAAAAAAAAAAAA=="
 +
}
 +
</syntaxhighlight>
  
And now:
+
And now mod json:
  
yyy
+
<syntaxhighlight lang="json">
 +
{
 +
"type": "ENTITY",
 +
"name":
 +
{
 +
"literalString" : "Shinier Gem"
 +
},
 +
"description":
 +
{
 +
"programString": true
 +
},
 +
"lua": "-- Description is called when an object's description is shown to the\r\n-- player or otherwise requested.  The object should return a string\r\n-- containing the description.\r\n\r\nfunction description()\r\n\r\n  -- Create a descriptive string\r\n  local descriptiveText = \"The gem shines programatically as you look at it.\";\r\n\r\n  -- Return it\r\n  return descriptiveText;\r\n\r\nend"
 +
}
 +
</syntaxhighlight>
  
 
== Access to more utility functions/classes ==
 
== Access to more utility functions/classes ==

Revision as of 05:06, 18 July 2023

Inputting LUA

You no longer need to manually compile LUA into bytecode and then base64 it! Now you simply escape the lua source code and drop it in.

Note the field changed from 'luac' (compiled lua) to just 'lua'

Example

Previously mod json in AS3:

{
	"type": "ENTITY",
	"name":
	{
		"literalString" : "Shinier Gem"
	},
	"description":
	{
		"programString": true
	},
	"luac": "G0x1YVEAAQQEBAgAEAAAAEBzaGluaWVyR2VtLmx1YQAAAAAAAAAAAAAAAgIDAAAAJAAAAAcAAAAeAIAAAQAAAAQMAAAAZGVzY3JpcHRpb24AAQAAAAAAAAAFAAAADQAAAAAAAAIDAAAAAQAAAB4AAAEeAIAAAQAAAAQyAAAAVGhlIGdlbSBzaGluZXMgcHJvZ3JhbWF0aWNhbGx5IGFzIHlvdSBsb29rIGF0IGl0LgAAAAAAAwAAAAgAAAALAAAADQAAAAEAAAAQAAAAZGVzY3JpcHRpdmVUZXh0AAEAAAACAAAAAAAAAAMAAAANAAAABQAAAA0AAAAAAAAAAAAAAA=="
}

And now mod json:

{
	"type": "ENTITY",
	"name":
	{
		"literalString" : "Shinier Gem"
	},
	"description":
	{
		"programString": true
	},
	"lua": "-- Description is called when an object's description is shown to the\r\n-- player or otherwise requested.  The object should return a string\r\n-- containing the description.\r\n\r\nfunction description()\r\n\r\n   -- Create a descriptive string\r\n   local descriptiveText = \"The gem shines programatically as you look at it.\";\r\n\r\n   -- Return it\r\n   return descriptiveText;\r\n\r\nend"
}

Access to more utility functions/classes