Point in the right direction:
Open doc/script_commands.txt and read it from start to the end, each command, and what it doing.
Download sublime text or VSCode and read how to use different shortcuts, always use one of these editors while you work with NPC script code. Always set C syntax highlight. It will help you hell a lot of times. That why it is very important to know different shortcuts like removing a line, duplicate line, select several lines at once, etc. Without a good editor, you will fail or will be very restricted.
Create your own server what you will offer for players to play, prepare features what you wish to create, and start to do it 1 by 1, via copypasting it from script releasing and editing for your own needs, but please read what it is doing and what you change
Now open doc/atcommands.txt and read available commands for you, most used commands are: @reloadscript, @reloadnpc, @unloadnpc, @loadnpc, @refresh, @go 0
Create a custom folder in npc/myfolder for example, and create custom scripts_myscripts.conf and put all your custom scripts what will be automatically loaded to the server
Tune, edit, write your own code.
With time you will be more and more bounded to script_commands for reading what do each command, and what you need to use to create your own type of scripts.
Script learning I can divide by next parts:
You MUST read from the first line to the last line whole script_commands.txt, this is MUST HAVE thing, without it you will not be able to write anything.
Read around 5 chapters in Kernighan and Ritchie C programming language before pointers, arrays, and other complicated stuff.
Just to understand syntax, if, while, do, for, vars. Nothing more.
At first step, you should understand how to use simple vars, arrays, loops, and how to go through array elements for editing data inside or accessing it
Then you need to understand how to use dynamic NPC menus (from arrays) to creating dynamic NPC's scripts. Just use an example what is provided by many scripts writes on the board
Then start to play with timers, OnClock labels, OnTime labels, etc.
Then write just scripts with goto at the first time, and later start to use more advanced if/else/switch.
Do not try to write your code perfect from the start, just try to write it to make it just works, this is super important to know about scripting, do not even try to optimize something, or write in "super-duper true way", do not listen anyone and do not try to copy-paste someone style of code writing, try your own, try to do your own mistakes, and errors.
Then after a few months or more, you will be enough (if you will try to create your own scripts) to write own versions of scripts released in a script session.
That it.
Than start learn C (if you wish to go deeper)