This script is mainly meant for PW servers. The basic idea is as follows: A trigger is placed somewhere in the game world, and will record the creatures that pass through it. When a PC passes over it, a check is made to see if they can determine the creatures. Rangers, Druids, and Barbarians automatically pass the check. A failed check only shows the last creature's size. There is a time limit on the tracks, and after it passes, the tracks are cleared out. DMs should find this to be a nice little extra for their campaigns. Enjoy! ~Locke Murdock~ http://www.orderofthehidden.org/ http://stormtemplar.project404.org
I think I'll modify this to use a special item the Rng,Drd,Brb uses to speak the track info in order to keep it from getting annoying in some instances. If I do, it would definately have use on my PW, sure is better than the system I was making for myself (mines a bit too simple really... And requires to much prep work for the builder to make it functional) :)And there shall be one born of the Dragon, who shall teach the horde to once again look to the skies with fear and dread...
Yes, I know it seems a little stiff to say it like that. The idea, though, is that if you can only determine a creature's size, you don't know enough to make sense of the tracks anyway. It may be a dog, it may be a panther, it may be a zombie. All you know is the general size. The player isn't smart (or well-trained) enough to notice that the tracks follow a 4-legged pattern or a 2-legged pattern, which is why I didn't put that in.
As for time, I know it's absurd to put in the *exact* time. But for this matter, I wanted it to be simpler for the player to understand what the character is saying. "Midday" might give them the wrong ideas about things, since time can be handled differently from server to server, and with DMs around who can manipulate light and time anyway, it'd get jumbled around.
Right now, there's a time delay, so the player can *never* see a creature who's been around a long time ago. It's set for a delay of 300 seconds, which should give enough of a reference point for the player. If their character says "hour 12," they can hover over the compass an see that it's hour 13. Now they know it's been one game hour since the creature passed. I was worried that if I put in *just* the difference in hours, people might be confused about game hours and real time hours.
You can always change things around if you need to, though. I'm interested in seeing what people are doing with it, and I hope someone finds a good use for it. :)
Posted by Ayath The Loafer ( ..xxx.xxx ) at 2004-02-13 04:28:00
I think it's a brilliant idea and a valuable addition to any persistent worlds where it will add some extra atmosphere to the game.
However, - I think it is important (for the atmosphere) that you don't get entangled in how the NWN engine interprets creatures and time.
If you are in a real world you don't say "a medium sized creature passed here at hour 12". It doesn't really sound natural does it?
What I would say when I'm tracking in the forrest is something like "An animal passed here. Perhaps around midday. Probably the size of a dog".
For creatures on two legs I would probably say something like "Someone passed here around midday. Two persons. Small feet. Like a child".
There is NO WAY anyone can see on a track that it was set at hour 12. Just as there is NO WAY anyone can look at a sundial and say "it's five past three".
To create a good atmosphere it is often the small things that makes a module great.
The script does indeed go on the OnEnter event of a trigger. When a non-pc creature passes through, the information is saved to local variables. When a PC passes through after that, the information is retrieved and spoken by the PC.
This section of code does it:
///
string sMessage = IntToString(iGroupSize) + " creature(s) moved through here: ";
if (sCreaturesSoFar != "")
sMessage = sMessage + sCreaturesSoFar + ", and a ";
sMessage = sMessage + sLastCreature + " ";
AssignCommand(oUsed, SpeakString(sMessage+ "today at hour " +sHour+ "."));
///
Basically, if a kobold and a rat go by at hour 12, your PC (assuming they are a ranger, druid, barbarian, or have a spot higher than 15) will say, "2 creatures passed by here: a kobold and a rat today at hour 12."
The storage is cleared every 30 seconds, though. The values can be changed if you want to have harder checks or longer time intervals, of course.
Again, my apologies for not making it clearer. Hope I answered your questions properly. If you have any more, be sure to ask. :)
Posted by Victor ( ..xxx.xxx ) at 2004-02-10 08:37:00
It looks really nice... any creatures that pass through the trigger have their type/size etc. added to a local variable on the trigger. Whenever a Ranger or Druid class character walks through the trigger, I guess you could make it say "A Kobold this way goes" or whatever.
If it's not one of those classes - it says "a small critter this way goes" I guess.