Default code for LUA - - Copy-Paste into the editor to start
-- Incoming ogres! -- Use the checkAndAttack function to make your code easy to read. -- This function has a parameter. -- An parameter is a way of passing information into a function. local checkAndAttack = function(target) -- The 'target' parameter is just a variable! -- It contains the argument when the function was called. if target then hero:attack(target) end hero:moveXY(43, 34) end while true do hero:moveXY(58, 52) local topEnemy = hero:findNearestEnemy() checkAndAttack(topEnemy) -- Move to the bottom X mark. -- Create a variable named bottomEnemy and find the nearest enemy. -- Use the checkAndAttack function, and include the bottomEnemy variable. end
Introduction for LUA
A `function` is an important concept when writing code! They are used to separate individual, **repeatable** parts of your code into easier to digest pieces.
Often times, a function requires an
argument. This is a way to customize a repeatable action while still optimizing and cutting down the length of one’s code. This is what you put in between
calling the function.
parameter is what a potential
argument is called inside the function definition.
-- This function has 1 parameter: 'target': local checkAndAttack = function(target) -- 'target' is a predefined variable. if target then hero:attack(target) end end local enemy = hero:findNearestEnemy() -- Below, 'enemy' is the argument. This becomes 'target' inside checkAndAttack. checkAndAttack(enemy)
Overview for LUA
Functions are an important part of writing code! They can be used to separate individual parts of code to help understand each bit easier.
Functions can do much more than just do some actions independent of any input! Using
functions are capable of acting on what is sent in.
argument is the information included between the
() when any given
function is called.
parameter is a variable containing the information passed in from a
function. It is just a predefined variable containing any information sent in!
-- 'target' after the function name is called a 'parameter'. -- Think of a parameter as a new variable containing information from outside the function! local checkAndAttack = function(target) -- 'target' is a predefined variable by the parameter, so nothing more needed to use it! if target then -- Check if the 'target' exists. hero:attack(target) -- If so, attack! end end local enemy = hero:findNearestEnemy() -- Below, the variable 'enemy' is an 'argument'. -- Including 'arguments' when calling functions lets them behave differently depending on the input! -- In this case, well attack whatever enemy is passed in! hero:checkAndAttack(enemy)
Please feel free to use this to help you with the level until the patch is applied.