Lua Scripting: Master Complete Lua Programming From Scratch

Posted By: ELK1nG

Lua Scripting: Master Complete Lua Programming From Scratch
Last updated 4/2021
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.18 GB | Duration: 13h 48m

Learn complete Lua scripting from scratch; integrate Lua with C and understand how Lua is used by the Roblox Game Engine

What you'll learn
Lua Scripting
Integrate Lua with C and C++
Requirements
Students should know how to work with files, use a text editor, copy and paste files, etc.
Knowledge of the Linux or Windows command-line will help students to make the most of this course
Description
Olá…Welcome to our complete Lua scripting course.This course will teach you everything you need to know about the Lua scripting language.We will start from scratch, installing Lua in your platform (Windows, macOS, or Linux), and progress to learn the main aspects of the Lua language. I will use Linux during the videos, but you can easily follow along with any other OS. If by any chance you cannot or do not want to install Lua in your machine, you can simply use the Replit website which allows you to run your Lua scripts inside your web browser.This course is divided into three main parts:The first part is where we will cover the basics of the Lua language. We will learn the fundamentals of programming with Lua using variables, expressions, conditional statements, loops, functions, metatables, and other important commands and modules from the Lua language. This part covers Lua from the beginning to an advanced level, and it is a super course even if you never programmed before.The second part of the course is aimed at programmers that want to learn how to embed Lua within the C programming language. You'll learn how to embed and expose scripting capabilities to your C code and create a project that controls the movement of a player in C using Lua. If you don't want or don't care about integrating Lua with C, you are welcome to skip this section of the course, but this integration with C is one of the most powerful aspects of the Lua language and it is extremely important for professional programmers that want to take their Lua skills beyond the basics.The third part of the course is a set of short bonus lectures that cover the basics of using Lua with Roblox Studio. Roblox is a popular game engine that uses Lua to script game logic and aspects of the game scene. We will learn how to use everything we learned to understand how Lua is used by Roblox and also understand the basics of the Roblox Studio interface.This course is a super complete package about one of the world's favorite scripting languages. You will benefit from it if you are a beginner or if you are a seasoned developer that wants to discover the power of the Lua language.Be aware: This is not a course about Roblox! This is a course about the Lua programming language, and the final bonus lectures are a basic overview on how Lua is used by Roblox developers.Welcome aboard!

Overview

Section 1: Introduction

Lecture 1 Introduction and Motivations

Lecture 2 A Message for Roblox Users

Lecture 3 History and Language Evolution

Lecture 4 Why do you want to learn Lua?

Section 2: Installing and Using Lua

Lecture 5 A Quick Message About Installing Lua

Lecture 6 Using Lua with REPL

Lecture 7 Installing Lua on Linux

Lecture 8 Installing Lua on MacOS

Lecture 9 Installing Lua on Windows

Section 3: Course Source Code (Download)

Lecture 10 Source Code (Download)

Section 4: Variables and Expressions

Lecture 11 Our First Lua Script

Lecture 12 Variables

Lecture 13 Older Lua Versions and REPL

Lecture 14 Proposed Activity: Variables

Lecture 15 Variables Activity Solution

Lecture 16 Exercises: Variables and Expressions

Lecture 17 Incrementing and Decrementing Variables

Section 5: Conditionals and Logical Operators

Lecture 18 Conditionals

Lecture 19 Elseif

Lecture 20 Proposed Activity: Conditional Statements

Lecture 21 Conditionals Activity Solution

Lecture 22 Logical Operators

Lecture 23 Exercises: Conditionals

Section 6: Strings and Standard Library Modules

Lecture 24 String Manipulation

Lecture 25 Multi-line Strings

Lecture 26 Multiple Assignment

Lecture 27 Standard Library Modules

Lecture 28 Exercises: Strings and Random

Section 7: Loops and Functions

Lecture 29 The For Loop

Lecture 30 The While Loop

Lecture 31 Loop Options

Lecture 32 Variable Scope

Lecture 33 Local Scope and Lua Chunks

Lecture 34 Syntax & Semantic Errors

Lecture 35 Solving Logical Mistakes

Lecture 36 Input Values from the Keyboard

Lecture 37 Handling Input Options

Lecture 38 Finding Distance Between Points

Lecture 39 Finding Angle Between Points

Lecture 40 Arctangent Function in New Lua Versions

Lecture 41 Loop Activity Example

Lecture 42 Loop Activity Solution

Lecture 43 Exercises: Loops

Lecture 44 An Introduction to Functions

Lecture 45 Exercises: Functions

Section 8: Tables

Lecture 46 Tables in Lua

Lecture 47 Looping Key-Value Pairs in a Lua Entries

Lecture 48 Tables Example

Lecture 49 Proposed Activity: Reading Table Entries

Lecture 50 Table Activity Solution

Lecture 51 Tables as Configuration Files

Lecture 52 Tables as Matrices

Lecture 53 Proposed Formative Project

Section 9: Metatables and Object-Oriented Programming

Lecture 54 Moving Forward

Lecture 55 Metatables

Lecture 56 Exercises: Metatables

Lecture 57 Object-Oriented Programming in Lua

Lecture 58 Creating Classes and Objects

Lecture 59 Exercises: Classes and Objects

Section 10: More on Lua Functions

Lecture 60 Higher-Order Functions and Closures

Lecture 61 Variadic Functions

Lecture 62 Coroutines

Section 11: Integrating Lua with C

Lecture 63 Working with Lua and C

Lecture 64 C Project Folder Structure

Lecture 65 Executing Lua File From C

Lecture 66 Get Lua Global Values in C

Lecture 67 The Stack

Lecture 68 Push Pop and Peak

Lecture 69 Calling Lua Functions From C

Lecture 70 Checking and Handling Script Errors

Lecture 71 Calling C Functions in Lua

Lecture 72 Userdata

Lecture 73 Sending and Receiving Userdata

Lecture 74 Reading Lua Tables in C

Lecture 75 Installing SDL

Lecture 76 Creating a SDL Window

Lecture 77 The Game Loop

Lecture 78 SDL Rendering

Lecture 79 Fixing Our Game Loop Timestep

Lecture 80 Delta Time

Lecture 81 Controlling the Player Movement with Lua

Lecture 82 Proposed Exercise: Creating the function rect()

Lecture 83 Final Considerations on Integrating Lua and C

Section 12: Conclusion and Next Steps

Lecture 84 Next Steps

Lecture 85 LuaJIT

Section 13: Bonus Section: Using Lua with Roblox Studio

Lecture 86 Intro to Roblox and Roblox Studio

Lecture 87 Installing and Accessing Roblox Studio

Lecture 88 Roblox Parts and Properties

Lecture 89 Roblox Vectors and Colors

Lecture 90 Roblox Object Instance

Lecture 91 Proposed Activity: Sun and Moon System Hour

Lecture 92 Sun and Moon Activity Solution

Lecture 93 Roblox Loops and the Wait Function

Lecture 94 Roblox Loops and Conditionals

Lecture 95 Roblox Events

Lecture 96 Roblox Humanoid Properties

Lecture 97 Roblox Players and Characters

Lecture 98 Roblox Models and Assets

Lecture 99 Roblox Terrain Editor

Lecture 100 Roblox Day-Night Lighting & ClockTime

Lecture 101 Roblox Leaderboard

Lecture 102 Roblox Debugging and Code Inspection

Lecture 103 Roblox CFrame

Lecture 104 Roblox Following Parts

Lecture 105 Roblox Conclusion and Getting Help

Section 14: Bonus Section: Building Lua 5.4 from Source

Lecture 106 Compiling the Lua 5.4 Language from Source

Lecture 107 Compiling Lua 5.4 on Linux

Section 15: Bonus Lecture

Lecture 108 Congratulations & Other Courses

Lecture 109 Course Links

Beginner that want to learn how to code with Lua,Professional programmers that want to learn how to embed and use Lua with their C applications,Students that want to learn how Lua is used with Roblox Studio