As per the title, how did you learn?
By reading other scripts and seeing how they worked and using the wiki.
Reading and responding to help threads for 3 years
Learning a programming language is just thinking like a programmer, and syntax. Everything that starts must end. Just look at a few functions that already exist in the game at https://github.com/garrynewman/garrysmod/tree/master/garrysmod/gamemodes for an idea of it
after that, you just need an idea, and then an API reference to know what functions do what you need: wiki.garrysmod.com
the only other advice is figuring out the relationship between the server and client (client code runs on your computer, server code runs on the server; neither side can magically access variables of the other, not even in a “shared” file, because shared files run separately on each computer involved; networking such as via the net library viewable on wiki.garrysmod.com describes how to actually send data between the server and client, such as commands from clients to the server so the server can perform functions that only the server has access to)
Couldn’t agree more!
This is the best way to learn.
I suggest you start with a good idea. Starting by making a simple HUD or something else that only serves the sole purpose of teaching you can be demotivating, since you know it won’t ever be used. Get a good idea for a gamemode, an NPC, or maybe an HUD you think would actually be worth sharing. This way it gives you a sense of accomplishment and rewards you for your efforts in learning. There’s nothing more awesome than seeing other people enjoy your work
Go play a gamemode, get jealous, and try and make it yourself. That’s how I started out.
Make a simple administration system because it will help you familiarize yourself with both the Server and Client realms. It’s also pretty basic and all you’ll really need is the Derma elements, the Player classes and use concommand.Add() for each of the commands you want your admin to be able to execute. That’s how I picked lua up and once you’ve got the hang of that you can move on to more complicated stuff.
Edit: And he’s banned.