This post has been marked by the post author as the answer.
Quote: "First, Simple questions. Where do I place the graphic for my HUD?"
as amen says, placing them in scriptbank\images is best, you can load them with
imgID = LoadImage("scriptbank\\images\\foldername\\imagename.png")
Quote: "Where do I place my script for it in game?"
on any non-static entity in the 'ai' property - for huds you will want them 'alwaysactive' = yes
Quote: "Would this be a sprite?"
yes
Quote: " I want it active at all times the player is alive in that level."
alwaysactive = yes in the properties panel makes scripts run every frame regardless of distance to player
Quote: "Within that frame I would leave blank areas in which I could place the remaining sprites for hunger, thirst, health, etc. Will I make them relative to the frame sprite, or will I have to fiddle with the location on screen, and thus perhaps have problems with varying frame resolutions?"
make them as you see them on your screen, if users are using the same aspect ratio (i.e. 16:9) it will look the same just larger or smaller etc - other aspect ratios (i.e. 4:3) would look similar but different.
Quote: "I totally get what you are saying about needing scripts to affect the values for hunger, etc. Can I use the basic game mechanics for health, ammo, weapon?"
yes, as long as you use the stock variables to read the values it can be adjusted by stock scripts (g_PlayerHealth etc)
Quote: "Make your main sprite at a high resolution and simply position it at 0,0 and 100%.
You can specify a depth value for sprites so you can paste them on top of your main sprite."
the key word here is "paste" if you want to show any stock GG text (i.e. prompt or TextCenterOnX) on screen that is covered by a sprite, if you do then you need to use PasteSpritePosition().
so a basic set up will look like this
local img = LoadImage("path")
local spr = CreateSprite(img)
script_init(e)
SetSpritePosition(spr,200,200) --move the original sprite off screen as we will "paste" a version in our loop later
SetSpriteSize(spr,100,100) --full screen size
end
script_main(e)
PasteSpritePosition(spr,0,0) --this needs to be called every frame we want the sprite to show
TextCenterOnX(50,80,3,"this text is in front of the sprite") --text needs to be called every frame too
Prompt("so is this text")
end