<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Lua</title><link>https://sourceforge.net/p/hercules/wiki/Lua/</link><description>Recent changes to Lua</description><atom:link href="https://sourceforge.net/p/hercules/wiki/Lua/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 20 Feb 2023 05:02:01 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/hercules/wiki/Lua/feed" rel="self" type="application/rss+xml"/><item><title>Lua modified by Brynner</title><link>https://sourceforge.net/p/hercules/wiki/Lua/</link><description>&lt;div class="markdown_content"&gt;&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#lua-background-information"&gt;Lua Background Information&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#what-is-lua"&gt;What is Lua?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#where-does-lua-come-from"&gt;Where does Lua come from?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#what-does-lua-stand-for"&gt;What does Lua stand for?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#lua-and-ro"&gt;Lua and RO&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#whats-it-used-for"&gt;What's it used for?&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#the-client-itself"&gt;The client itself&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-ragnarok-online-patcher"&gt;The Ragnarok Online Patcher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#how-do-we-use-it"&gt;How do we use it?&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#client-side-gibberish"&gt;Client-side gibberish&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#ascii"&gt;ASCII&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#english"&gt;English&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#client-side-un-gibberish"&gt;Client-side un-gibberish&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#misc"&gt;Misc.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#external-links"&gt;External Links&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h1 id="lua-background-information"&gt;Lua Background Information&lt;/h1&gt;
&lt;h2 id="what-is-lua"&gt;What is Lua?&lt;/h2&gt;
&lt;p&gt;Lua is a powerful, fast, lightweight, embeddable scripting language.&lt;/p&gt;
&lt;p&gt;Lua combines simple procedural syntax with powerful data description&lt;br/&gt;
constructs based on associative arrays and extensible semantics. Lua is&lt;br/&gt;
dynamically typed, runs by interpreting bytecode for a register-based virtual&lt;br/&gt;
machine, and has automatic memory management with incremental garbage&lt;br/&gt;
collection, making it ideal for configuration, scripting, and rapid&lt;br/&gt;
prototyping.&lt;/p&gt;
&lt;h2 id="where-does-lua-come-from"&gt;Where does Lua come from?&lt;/h2&gt;
&lt;p&gt;Lua is designed, implemented, and maintained by a team at PUC-Rio, the&lt;br/&gt;
Pontifical Catholic University of Rio de Janeiro in Brazil. Lua was born and&lt;br/&gt;
raised in Tecgraf, the Computer Graphics Technology Group of PUC-Rio, and is&lt;br/&gt;
now housed at Lablua. Both Tecgraf and Lablua are laboratories of the&lt;br/&gt;
Department of Computer Science of PUC-Rio.&lt;/p&gt;
&lt;h2 id="what-does-lua-stand-for"&gt;What does Lua stand for?&lt;/h2&gt;
&lt;p&gt;"Lua" (pronounced LOO-ah) means "Moon" in Portuguese. As such, it is neither&lt;br/&gt;
an acronym nor an abbreviation, but a noun. More specifically, "Lua" is a&lt;br/&gt;
name, the name of the Earth's moon and the name of the language. Like most&lt;br/&gt;
names, it should be written in lower case with an initial capital, that is,&lt;br/&gt;
"Lua". Please do not write it as "LUA", which is both ugly and confusing,&lt;br/&gt;
because then it becomes an acronym with different meanings for different&lt;br/&gt;
people. So, please, write "Lua" right!&lt;/p&gt;
&lt;h1 id="lua-and-ro"&gt;Lua and RO&lt;/h1&gt;
&lt;h2 id="whats-it-used-for"&gt;What's it used for?&lt;/h2&gt;
&lt;h3 id="the-client-itself"&gt;The client itself&lt;/h3&gt;
&lt;p&gt;First application of Lua appeared in the client as a means of customizing the&lt;br/&gt;
Homunculus and Mercenary AI. Later, Gravity started to move out a lot of hard-&lt;br/&gt;
coded data and functionality inside the client into Lua scripts, causing X-ray&lt;br/&gt;
clients to become obsolete.&lt;/p&gt;
&lt;h3 id="the-ragnarok-online-patcher"&gt;The Ragnarok Online Patcher&lt;/h3&gt;
&lt;p&gt;Recently, the patch and skin information of the official patcher is Lua-based&lt;br/&gt;
as well, stored in nine files spanning five folders.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="/p/hercules/wiki/Lua/"&gt;wikipedia:Lua_(programming_language)&lt;/a&gt; is a free scripting language,&lt;br/&gt;
which can be both embedded or stand-alone.&lt;/p&gt;
&lt;h2 id="how-do-we-use-it"&gt;How do we use it?&lt;/h2&gt;
&lt;h3 id="client-side-gibberish"&gt;Client-side gibberish&lt;/h3&gt;
&lt;p&gt;If you're using Lua files from Gravity, chances are your files are encoded.&lt;br/&gt;
When you open up a .lua file, you'll notice 2 things.&lt;/p&gt;
&lt;h4 id="ascii"&gt;ASCII&lt;/h4&gt;
&lt;p&gt;Lots and lots of ASCII characters depending on what kind of editor you use:&lt;br/&gt;
Notepad&lt;br/&gt;
&lt;span&gt;[File:Accname.lub notepad.png]&lt;/span&gt;&lt;br/&gt;
&lt;a class="" href="http://notepad-plus-plus.org/" rel="nofollow"&gt;Notepad++&lt;/a&gt;&lt;br/&gt;
&lt;span&gt;[File:Accname.lub notepadpp.png]&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="english"&gt;English&lt;/h4&gt;
&lt;p&gt;You'll notice some English words that you may find familiar, be it headgear&lt;br/&gt;
names, job classes, NPC sprites etc. You can manipulate this data to directly&lt;br/&gt;
affect the client. The most popular reasons for editing the Lua files is to&lt;br/&gt;
create &lt;a class="" href="../Custom
Items"&gt;Custom_Items#View_IDs.2C_Having_A_Custom_Item_Without_Xray&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="client-side-un-gibberish"&gt;Client-side un-gibberish&lt;/h3&gt;
&lt;p&gt;The Translation Project team have been keeping their SVN repository up to date&lt;br/&gt;
with the latest Lua files. They're in plain English, and readable. This makes&lt;br/&gt;
editing them a whole lot easier!&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://subversion.assembla.com/svn/ClientSide/Lua_Project/" rel="nofollow"&gt;Lua_Project&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="misc"&gt;Misc.&lt;/h2&gt;
&lt;p&gt;A number of development branches have arisen which intended to replace the&lt;br/&gt;
Athena Scripting Language with Lua, but as of today none have been completed.&lt;/p&gt;
&lt;h2 id="external-links"&gt;External Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="http://www.lua.org/" rel="nofollow"&gt;Official Lua Scripting Language Homepage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://subversion.assembla.com/svn/ClientSide/Lua_Project/" rel="nofollow"&gt;Lua_Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;[:Category:Customization]&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brynner</dc:creator><pubDate>Mon, 20 Feb 2023 05:02:01 -0000</pubDate><guid>https://sourceforge.netfe87cd5ef2488ad281781a49099f95f88c1c6616</guid></item></channel></rss>