It really depends on which scripting language you want to learn. There is the old-style (or legacy) plist-scripting. It is what we all have grown up with, and it still works, and probably will continue to work for a long time in order to ensure backwards-compatibility. But it
is deprecated, and our coders discourage its use, because it is slowly replaced by Javascript-scripting.
So that's the second alternative. The whole Javascript-scripting model is still very much in the making. So it gives you the advantage of being on the bleeding edge of OXPing. You can even make
suggestions for the functionality you would like to be included.
As a starting point I would suggest of course all the documentation available in the wiki, especially on
scripting.
As far as practical examples are concerned, why not start with those included in Oolite itself? All native missions are scripts in your Oolite distribution. As far as legacy plist-scripting is concerned, you find them in Oolite/Contents/Resources/Config/script.plist (in 1.65 only). Javascript-scripts are referenced in Oolite/Contents/Resources/Config/world-scripts.plist and can be found in Oolite/Contents/Resources/Scripts (in 1.70 only). In this folder you find a couple of JS-scripts and one old-style plist-script, named oolite-legacy-script.plist, which contains the rest of the built-in missions.
If you open both 1.65 and 1.70 you will be able to compare the cloaking device and the trumbles mission in plist-scripting (1.65) and JS-scripting (1.70), which may be particularly helpful in understanding the different approaches of the two scripting models.
*****
And finally a (very!) brief and general introduction into scripting: Oolite scripting makes heavy use of property lists (see wiki). For any given OXP you need a couple of different property lists which have to be in the correctly named folder within the OXP. Generally everything has to live within a folder "Config", except JS-scripts, which live in a folder "Scripts" and AIs, which have to live in a folder "AIs". "Models", "Textures", "Images" and "Music" have to go each in their respective folder, as you certainly already have found out. The action takes place in a property list named "script.plist" (legacy scripting) or "whatever.js" (JS-scripting). In most cases you need a couple of other supporting plists as well. All text displayed on a mission screen has to be defined in "missiontext.plist". Any other text, like unique ship-hails, has to be defined in "descriptions.plist". Special prices for commodities, that will be used in your special station only, are defined in "commodities.plist". Individual characters you may meet in their ship are defined in "characters.plist". If you have modelled a new ship, you have to define its specifications in "shipdata.plist". If you want it to be a player-ship and buyable in the shipyard, you have to define the necessary properties in "shipyard.plist". Any new equipment has to be defined in "equipment.plist". Alterations to the Ooniverse, like new planets, are scripted in "planetinfo.plist" I think these are the most important ones for any OXP. Not every OXP will have to use all of them.
And again, consult the wiki. Most of the plists have a (conveniently) equally-named wiki-page attached to them, which will explain pretty much everything you need to know, like every possible command and method in that plist, and what it does, e.g. the documentation of
shipdata.plist.
I think with these you should be able to start writing your first OXP.
Right On, Commander!