Telliamed on 24/12/2004 at 16:51
tnhScript 1.5 is availableAdded ObjFrobInert, GrabFrobInert, TweqFrobInert, TrapFrobInert and modified DoorFrobInert to fit-in.
Also TrigFrobber, TrapDispenser, TurnAtWaypoints, VisibleRelay, ResetTweqState, RecallDevice, TrigProxFrob, HighlySuspicious, NewSecurityDoor.
AI interaction scripts: InteractFrobHack, AwarenessFilter, TrapSignalAwareness, AIInteraction, PlayerInteraction, PrivateRoom.
Expanded control messages to OnScreenText.
When displaying text, time is calculated based on the number of words in the string. Affects OnScreenText, TrapText, and FocusPlaque.
NewGasLight plays around with the light mode so random lights will brighten immediately. (Actually uses "smoothly brighten".)
NewGasLight no longer mucks with the FrobInert metaproperty, so it can actually be used with other torch-like objects.
Added no_emitter to NewGasLight
TrapRelayRepeat can repeat forever and auto-start.
OSM Developer's GuideAn introductory script writing tutorial for C++ programmers. Includes sample code. Unfortunately, I wasn't able to provide a working MSVC project file. But I didn't want to keep delaying the release for it.
PyNumbra - Python for Dark EnginePython is "an interpreted, object-oriented programming language ... combines remarkable power with very clear syntax." PyNumbra allows you to create object scripts using Python. This is meant only for the convenience of developers.
Do not use PyNumbra in the fan-missions you release.All files can be downloaded from (
http://www.thiefmissions.com/telliamed/) the website.
Eshaktaar on 24/12/2004 at 16:57
Now that is a cool Christmas present! :thumb:
Display duration depending on the text length is exactly what I need for some subtitles. Thank you, telliamed!
TF on 24/12/2004 at 17:23
TimedPotion and TurnAtWaypoints will prove very useful! Thanks, Telliamed. :)
R Soul on 24/12/2004 at 19:05
HighlySuspicious (replacement for SuspiciousReacions) sounds interesting :cool:
Testing HighlySuspicious revealed a slight engine related bug:
With things like extinguished gaslights, torches etc, if there's no other light source in the area, the AI won't be able so see the object at all, so it won't know to say "this isn't right" or "didn't that just get replaced this morning".
Even when the minimum light field of the suspicious property is 0, the AI still won't see the object.
A cheap solution is to add the Renderer > Light property to the Extinguishable archetype, then 'hilight_obj_type Extinguishable', 'hilight_add_prop Light' then relight the misison. For the Light property, a brightness of 0.1 with a radius of 1 should be enough. It won't affect your light gem but it will provide just enough light for the AI to still see the object.
Nameless_Voice on 25/12/2004 at 01:09
Those sound great, especially HighlySuspicious and PrivateRoom.
Good work, thanks for the gift, and have a merry X-mas!
Vigil on 25/12/2004 at 15:08
Thanks very muchly, telliamed! PrivateRoom sounds like a clean and simple implementation of something I've been futzing about with a stupidly complex setup, I can't wait to give it a try.
Looks like you forgot to document <code>TweqResetState</code> though - it's listed in the changelog but not the script descriptions.
Telliamed on 25/12/2004 at 15:50
whoops.
Just put it on an object with any sort of tweq and when the tweq halts it will reset the properties that the tweq changes to what is on the archetype of the object.
The archetype needs to have the correct properties for the script to read from. Shape\JointState for joint tweqs, Shape\Scale for scale tweqs, Physics\PhysState for rotate tweqs, and the appropriate Tweq*State for all others. (Doesn't do anything for DeleteTweqs, obviously.)
In short, you know ReloadTweqEmit? This does the same thing for all tweqs.
I wrote it for the moving bell object, so it doesn't stop in half-swing.
TurnAtWaypoints is an old idea. (There was supposed to be a moving rail car in "Kidnapped" but LGS couldn't get their FaceWaypoints script to work.) I decided to write it after seeing NV's kick-ass raven object.
john9818a on 25/2/2016 at 21:18
Quote:
The text will stay on-screen for the time specified in page_n_time. The time is specified as a standard time string.
This is from the (
http://www.thiefmissions.com/telliamed/tnhScript.html) tnhScript page at Thiefmissions...
What is a standard time string and where does it go?
I'm trying to keep the text on screen for 20 seconds.
I specified mine as
page_0_time "00:00:20" and placed it in the same str file as the text I am displaying. After that didn't work for me I placed it in the Editor -> Design Note as
page_0_time="00:00:20" but still no luck.
R Soul on 25/2/2016 at 22:34
The str file is the correct place, but the time format I've used successfully is page_0_time: "20s" (note the colon, not equals sign). "00:00:20" might work, but when he says "standard time string" it depends who's setting that standard.