New Scripts: tnhScript 2.1 [final] Public Scripts 2.1 [second test] - by Telliamed
R Soul on 29/4/2009 at 01:07
Quote Posted by Telliamed
I ask for feedback from
Public Scripts and y'all start going on about
tnhScript.
Oops :o
Sorry.
Quote:
Is your design note just "command"? It has to be "on=command". I used to let you make shortcuts but not anymore.
It was just "command". I know it says "Inherits from GenericControl", but it didn't occur to me to follow the link.
"on=command" works fine.
Telliamed on 30/4/2009 at 22:20
Quote Posted by Yandros
This would be wonderful, if it works. I tried to manually do a halt_player in Deathmatch during the player respawn sequence, but it didn't work. I think what I did eventually was have every roombrush be concrete and do a halt_player on
TrigPlayer. It was easy in that mission since it only had a few roombrushes, but it might work much better and be easier if the script did this itself.
"halt_player" only works in Dromed. The script service lets me stop to velocity control, but not rotation. (Not that anyone uses the keyboard for turning anyway, but...) And even then it's not very dependable.
The root of the problem of course is losing the key-up events. Even when I can manage to stop the player movement, the game is still stuck believing that a key is pressed. Which could also be crouch, use weapon, use item, creep, jump, etc.
What it comes down to is you're better off not using TrapKillEvents. I'm sorry I ever wrote the damn thing. (It was, I believe, my third or fourth script.) You could instead be using a camvator or TrapFreezePlayer, and TrapDisarmPlayer.
R Soul on 7/5/2009 at 21:46
I tested the scripts in the first section. Here are my comments:
TimedStimulator
device parameter not working? Tried device=1 and device="true"
TrigDamageRTC
Not sure what to do with this :erg:
TrapPhantom
The fade_time parameter didn't feel linear when no curve was set. The fade-in speed seemes to be quite fast up to maybe 0.5 alpha (or perhaps less), then it seemed to go at a slower rate for the remainder of the fade-in.
TrapMotion
Some motions will play, some won't. E.g. hippat played, humdie1, humwalks and humairpt1 didn't. I think it'll only play motions which have been referenced by at least one motion schema.
TrigFlipFlop
Should be TrapFlipFlop
TrapQVarText, QVarPlaque, QVarScroll
These need explaining in more detail, e.g. how do we tell it to substitute a qvar?
TrapMissionQVar
Could not get this to work.
Marker: Scripts: TrapMissionQVar, Design note: initqv=5, Qvar: test
TrigQVar: =5:test - didn't trigger
Not sure what this is for though. Can't we just use quest_create_mis or edit mission quest data to set the initial value?
TrapCampaignQVar
Didn't test, but since this one is in tnhScript, this seems superfluous.
TrigQuestVar
Is this for TDP users?
TrapRequireOne, TrapRequireOneOnly
These work fine with CD links. What are the ScriptParms links meant for?
Telliamed on 8/5/2009 at 00:26
Quote Posted by R Soul
TimedStimulatordevice parameter not working? Tried device=1 and device="true"
I really hate that script. :shakefist:
Quote:
TrigDamageRTCNot sure what to do with this :erg:
"Return To Culprit" It's the vampire blade from Calendra's Legacy. Put spy on a sword and TrigDamageRTC on a victim.
Quote:
TrapPhantomThe fade_time parameter didn't feel linear when no curve was set. The fade-in speed seemes to be quite fast up to maybe 0.5 alpha (or perhaps less), then it seemed to go at a slower rate for the remainder of the fade-in.
Could be a quirk of the renderer. How does it compare to the old script?
Quote:
TrapMotionSome motions will play, some won't. E.g. hippat played, humdie1, humwalks and humairpt1 didn't. I think it'll only play motions which have been referenced by at least one motion schema.
Curious. Don't think there's anything I can do about it.
Quote:
TrigFlipFlopShould be TrapFlipFlop
:p
But is anyone already using "TrigFlipFlop" in a mission?
Quote:
TrapQVarText, QVarPlaque, QVarScrollThese need explaining in more detail, e.g. how do we tell it to substitute a qvar?
Oops, I forgot the str files. And the documentation got skipped over by the automatic doku-maker.
Code:
/**
* Script: BaseQVarText
* Properties: Book\Text, Script\Use Message
*
* Displays text with substitutions using quest variables.
* The string ''%{??qvar??}'' will be replaced with the value of the
* quest variable. ''%?{??qvar??}[a]
'' will print ''a'' if the qvar is
* non-zero and ''b'' otherwise. ''%>??num??{??qvar??}[a]'' is
* similar, but compares the value to a number. ''>'' can be
* one of ''>'', ''<'', ''=''. Whenever a conditional substitution
* is made, the string will be re-parsed, so you can have
* secondary (and tertiary...) substitutions.
*/
Quote:
TrapMissionQVarCould not get this to work.
Marker: Scripts: TrapMissionQVar, Design note: initqv=5, Qvar: test
TrigQVar: =5:test - didn't trigger
Not sure what this is for though. Can't we just use quest_create_mis or edit mission quest data to set the initial value?
TrapCampaignQVarDidn't test, but since this one is in tnhScript, this seems superfluous.
TrigQuestVarIs this for TDP users?
Yes. Rather, the standard qvar scripts are inconsistent and incomplete. These are the same in all the games with all the operations like " and #
TrapMissionQVar is like TrapQuestVar so you need a full ''=0:foo'' property. The initqv param is for the benefit of TrapCampaignQVar since you can't create them in Dromed.
Quote:
TrapRequireOne, TrapRequireOneOnlyThese work fine with CD links. What are the ScriptParms links meant for?
For tracking which objects have been turned on. All the requirement traps do this (but the original scripts didn't set link data to anything so you can't multiplex scripts)
You noted that post-readers shouldn't be used with StdBook when a quest variable is being set... Why would you want to do it in any case? You'd end up reading the book twice! (BTW, ignore that button in the demo cow... )
I had to overhaul TrigAIAwareShift. It wasn't working if the AI had to respond to more than one thing. And I had a lot of "fun" porting the demo cow to Thief 1. (Hint: old Dromed hates it when you change obj_max) Seems to be working for most of the scripts. Looking at the original fire elemental, the shrinking death seems less lame when combined with the death sound, so I guess I'll keep it in at the same speed as Thief 1.
The traditional LinkTemplate test doesn't seem to work in Thief 1. Trying to set AIAttack on a non-AI has no effect. Is there some other way I can get the archer to shoot at a practice dummy?
Also, though only NV will care, I keep forgetting that the reply parameter of ReceiveMessage may be NULL. Had to write myself a reminder in the source.
And for no particular reason, why are some resource folders plural and others aren't? "books" and "strings", but "snd", "fam", and "mesh"... does it make more sense to put something in the "scripts" or "script" folder?
R Soul on 8/5/2009 at 00:45
Quote Posted by Telliamed
:p
But is anyone already using "TrigFlipFlop" in a mission?
What I mean is the documentation is wrong. There is no TrigFlipFlop.
Quote Posted by Telliamed
You noted that post-readers shouldn't be used with StdBook when a quest variable is being set... Why would you want to do it in any case?
By accident. Books are a typical object this script would be used with, and at first I thought this script just handled the qvar and VO, letting StdBook do the text :o
LarryG on 8/5/2009 at 01:19
I'm using TrapFlipFlop from Public Scripts. But I never heard of TripFlipFlop. Have you renamed TrapFlipFlop? Do I need to find all my uses of TrapFlipFlop and change them to TripFlipFlop when installing these updated scripts?
R Soul on 8/5/2009 at 14:27
Quote Posted by R Soul
What I mean is the documentation is wrong. There is no TrigFlipFlop.
This
Telliamed on 19/5/2009 at 00:11
Quote Posted by R Soul
TimedStimulatordevice parameter not working? Tried device=1 and device="true"
TrapPhantomThe fade_time parameter didn't feel linear when no curve was set. The fade-in speed seemes to be quite fast up to maybe 0.5 alpha (or perhaps less), then it seemed to go at a slower rate for the remainder of the fade-in.
Putting the new and old TrapPhantom side-by-side didn't show any significant difference. So I think you just saw an optical illusion. That said, it wasn't very obvious when I put a crate with curve=0 and curve=2 next to each other. This may turn out to be an underused feature. Ohwell.
TimedStimulator is described wrong. The parameter is false to make it start on its own. But only when created in-game, not from Dromed. So...
Created in Dromed: Wait to be turned on.
Emitted, device=yes: Wait to be turned on.
Emitted, device=no: Start immediately.
I don't like it but I'm sure there's a mission out there using it. Trying to fix it now would break compatibility.
Telliamed on 23/5/2009 at 19:54
Bump for 2nd pubscripts test. (
http://whoopdedo.org/projects.php?scripts#PublicScripts)
Please everyone run through the demo COW at least once. There's a copy for Thief 1 as well. Bonus cookies if you can manage to break something. (Try messing with the Hammerite at the end.)
I stumbled into another fixable bug: "inflate buffer used before end". Or it may also show up as "inflate returned -5". It happens when you try to use a CRF compressed in a particular way. Zlib doesn't recognize the end of data even though the whole file has been decompressed.
So I may as well make a new patch. While I'm at it, are there any other issues floating around that deserve attention?
Nameless Voice on 23/5/2009 at 20:15
I had some issues like that (though I don't recall the exact error) with the EP.crf. In the end, I had to use 7-zip to make the zip archive, rather than WinRAR, because the one made by WinRAR couldn't be read. I have no idea why just that particular combination of files resulted in an unreadable zip, when earlier versions of the same file created with WinRAR worked fine.
I think people would be very pleased if you could increase the hard-coded onscreen poly (1024) or onscreen object (128) limits. Not sure if that's possible, though.