Both of those links lack details and in some ways they are out of date. They are by no means a step by step guide. This is what I consider a step by step guide.
Even as a person who has a lot of experience working with C++, SQL, and other languages, it's taking a while for me to grasp the processing flow of SAI scripts. It is a smart system, so to speak, but it's very opaque compared to say, C++ script, which has functionality that is immediately obvious to understand in its entirety just by reading the C++.
I'm actually kinda bummed that ADD_GOSSIP_ITEM() was removed, because when you use gossip menu generated from `world`.`gossip_menu_option` with a custom C++ script the menuId in
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 menuId)
always is 1. As such, the function isn't provided any useful information as which option the player clicked.
Like I said though, SAI scripting is a good system, it's an extensible system, but it's not a particularly well documented or clear system at the moment.
I've been puttering away at making a trinket invoked character who offers helpful services via SAI script. What I have working (for 3.3.5a) atm is the trinket, the character, and one utility on conversation for 5 gold. The SQL here,
It's heavily commented, because I am old and I need to remember things. When it's finished, I'll likely post a verbose guide on my site.
SAI is nifty way to add content and probably pretty quick once you get the hang of it, but from a "programming as a hobby" perspective it's kinda boring: Poking bits into a database is data entry, not programming. lol...