FAQ  •  Register  •  Login

questions about Lua



Posts: 351

Joined: Fri Jul 05, 2013 7:35 pm

Post Wed Mar 26, 2014 8:34 pm

questions about Lua

Q: Can all functions call on local?

Q: How many ticks will local persist? e.g. local rar = ship:getVel()

Q: How many ticks will data last if I DON'T use local? rar = ship:getVel()

Q: when i run code, does it happen on the next tick or the current tick?

Q: Are there timers for ticks?
Play my new level! Two different teams fight over a nexus: One mainly defends while the other attacks! is fun


User avatar

Posts: 984

Joined: Fri Apr 20, 2012 3:51 pm

Location: Some city, somewhere

Post Wed Mar 26, 2014 8:50 pm

Re: questions

A local is a variable that is only accessible in the current scope. A scope is everything that has an 'end'. So:

function foo()
    local name = "My name"
    logprint(name) -- Works

    if(1<2) then
        logprint(name) -- Works

        local age = 20
    end -- All variables declared in this scope (if) are destroyed. So, in this case, only age is destroyed

    logprint(age) -- Error, variable doesn't exist!
end -- name is destroyed

All variables that you want to use throughout your code should be 'global'. To have a 'global' variable, all you must do is to declare it in the main() function:

function main()
    variable = "I am a global variable, yo!"

function onTick()
    logprint(variable) -- Works!

    local anotherVariable = "Hai"

function hello()
    logprint(variabel) -- Works!
    logprint(anotherVariable) -- Doesn't work!

When your script starts, it will run the function main() first. In Bitfighter, there is the onTick() function that triggers at each frame (around 60 times per second). It's that simple :D

You can have timers too, check out http://bitfighter.org/luadocs/class_timer.html :)
skybax: Why is this health pack following me?
bobdaduck: uh, it likes you.

Return to Technical Support

Who is online

Users browsing this forum: No registered users and 1 guest