I think that the most simple way to achieve the effect you desire is using the PlaceAtMe function in your script. Here is the http://geck.gamesas.com/index.php/PlaceAtMe to the CS Wiki explaining how it works, its very easy.
I'll give you a very short example, since you have poked around the NCR radio thing you should know what a scripteffect is:
ScriptName NightStalkerScriptshort WhistleTime ; This is a variable used to determine if an specific amount of time has passed since the last time you blew the whistle, 0 means you can 1 means you cannot.Begin ScriptEffectStart ;This part of the script will run when the whistle is blown if WhistleTime == 0 ;Checks if the amount of time required has passed Player.PlaceAtMe YouPutTheNameHere 0 set WhistleTime to 1 ; This sets the variable to 1, now the NightStalker will not appear when you blow the whistle endifEndBegin ScriptEffectFinish ;This part of the code runs when the effect expires, that means the Duration of the effect has passed. we will use this to determine if the whistle can be blown. set WhistleTime to 0 ; Now a NightStalker will appear when you blow the whistle. Player.AddItem WhistleName 1 ;Places a New Whistle on the Player, remember that Aid items are consumed when usedEnd
Remember, for an aid object you'll have to create a script effect and then add it to the aid object.
PlaceAtMe:
What does it mean???
The "player" part means that the NightStalker will appear close to you.
The ".PlaceAtMe" makes the NightStalker Appear.
The "YouPutTheNameHere" Refers to the Base ID of the object (that includes NPC's such as the NightStalker) to be placed.
The "0" tells the script were to put the NightStalker in relation to the player; with 0 it will appear in front of you.
The WhistleTime Variable:
The trick here is that effects have a duration, so if you set the effects duration to say 3 hours blowing the whistle before the 3 hours have passed (before the effect has expired) will do nothing. The other important thing here is the "Begin ScriptEffectStart" and Begin "ScriptEffectFinish" Blocks, the first will run when you blow the whistle and the second will occur after the effect of having blown the whistle has passed.
I do not have access to the CS right now and i wont have until monday, so i cannot guarantee that this will work. Everything was done from memory. This script will of course not take care of everything, but it should at least point you in the right direction.
Well i hope this works. There are details that need working out in this script, for example: I am not entirely sure that if the player has two or more whistles he wont be able to call as many Nightstalkers as whistles he has, without regards to the time limit. The trick here is that aid items are removed when used and then you add it back when the effect expires, meaning that if the player can only get one whistle you should be fine.