ArcEmu: Lua Scripting Expected Standards. - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Labels

Make sure when posting a help or release topic you put [c++] or [lua] BEFORE your topic title!
Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

Lua Scripting Expected Standards. Requirements to be commit worthy.

#1 User is offline   paroxysm 

  • Chatty Cathy
  • Group: Retired
  • Posts: 320
  • Joined: 25-June 08
  • Gender:Male
  • Server OS:Windows

Posted 24 April 2010 - 05:29 PM

Hello ladies and gentlemen; I've observed that there is barely any Lua script releases that are commit worthy.
There are those which have good functionality but written inefficiently.
Now I am worried because I spent alot of time working on the engine to fix most issues that I knew off and what has been reported.
I want to see more releases that exploit Lua's efficiency to the fullest.
If there is a script you wrote that you want to be committed to the Lua svn, it must meet these expectations.


  • Your script must be independent.
    None of your declared variables should be global unless you have a good reason.
    All functions should be declared in a modular way or confined inside a table that is not global.
    The reason is so that your script's declarations will not interfere with another script/scripts.

  • Protected variables.
    If your script can have more than one instance, running, your variables must be stored and accessed in a protected way in which they will not overlap each other.

  • Properly formatted.
    Use text editing software that allows you to properly indent your code. Indent code following function declaration. Indent code that follows ifs/elseifs/while/repeat.

  • Efficiency
    Write your script in an efficient way. Function calls are expensive, if you can minimize the number of times you call something, then do it.Use local variables to hold function results that you need to test more than once. Timers are faster and more memory efficient than events registered through RegisterEvent; They also cause atomic execution of code if control structures are used properly.If your iterating over tables that have sequential numeric indexes, using ipairs instead of pairs gives a significant execution time boost.(Especially if iterating over large tables such as players in world)

  • Error checking
    Proper error checking/handling is basic programming. I expect to see adequate amount of it.

  • Blizzlike Content
    Said scripts should meet/try to meet blizzlike standards.

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users