LarryG on 10/12/2015 at 20:13
Yes. Time 0 - Time 8.
Yandros on 11/12/2015 at 13:19
I mostly have gotten this working with advanced picking, but still have some things to work through. If anyone knows how to address these, I would be grateful for the help.
* The normal lockpicking sound loop plays while holding down the mouse button, even though the door (the crate lid) doesn't have the LockSounds script; it only has StdDoor and NVMetaTrap. I'm wondering if the advanced picking system plays that schema on its own, which may be tricky to overcome. I've tried writing a dupe of that schema which is silent for my DoorType only (a custom type called CrateLid), but it doesn't seem to work.
* I've modified the Good state schema to play my custom sound, but it doesn't start playing for several seconds after the picking starts. I'm sure it's not silence at the beginning of the sound file. There's no delay specified in the good pick schema, but I added delay 0 just for kicks and it didn't eliminate the delay.
qolelis on 11/12/2015 at 14:31
Quote Posted by Yandros
I've modified the Good state schema to play my custom sound, but it doesn't start playing for several seconds after the picking starts. I'm sure it's not silence at the beginning of the sound file. There's no delay specified in the good pick schema, but I added delay 0 just for kicks and it didn't eliminate the delay.
Have you checked the
Schema->Play Params property? In case you didn't know already, there is a field called "Initial Delay" there that causes this kind of delay if not set to zero. I've noticed that it's not uncommon for this to be set only on an ancestor archetype, so it can be easy to miss.
Edit:
Quote:
The normal lockpicking sound loop plays while holding down the mouse button, even though the door (the crate lid) doesn't have the LockSounds script; it only has StdDoor and NVMetaTrap. I'm wondering if the advanced picking system plays that schema on its own, which may be tricky to overcome. I've tried writing a dupe of that schema which is silent for my DoorType only (a custom type called CrateLid), but it doesn't seem to work.
It could be caused by the
LockPick script on the lockpicks, but I guess you don't want to remove that (even temporarily)!?
LarryG on 11/12/2015 at 15:42
I don't know if this would work to get rid of the lock picking sound on the 3rd pick, but ...
You could try to define a new DeviceType (in ENVSOUND.SPC) and new Schema which uses that new DeviceType to define a sound for some EventState that happens when you pick. I don't know. The lock picking schemas are in DOORS.SCH and don't use a DeviceType or EventState. I suspect that the schema names are hardwired into the LockPick script and there is no different sound by lock pick. This may be a situation where a new script is needed which doesn't do the sounds, or better, lets you specify a pick id, and you get a different sound by pick.
I looked to see of any other scripts (LGS, tnh, Public, NV) could help out with this, but found nothing
Yandros on 11/12/2015 at 15:44
@qolelis:
1. I assume that property is set by the delay given in the schema, but if it's set only in the gamesys then that would explain it. However if it gets reset to some non-zero default on reload_schemas then it will be a pain because I am still adding schemas and doing that all the time. Thanks for pointing it out, though, I'll look at it tonight.
2. You may be right about that! However I don't think that the advanced pick system will work at all without that script. But it may lead me to a solution.
@Larry:
Thanks.
Yandros on 18/12/2015 at 05:28
I finally got round to working this out, and didn't solve it the way I expected. You can't not have picking sounds with Advanced Lockpicking, as those schemas seem to be played by the LockPick script itself, and without it - no picks.
So after messing with different ideas for an hour or two, I finally hit on a simple solution. When the sound is started (the crate lid frobs a button via receptron), I'm also triggering an NVItemGiver script and giving the player another crowbar object that is Junk and can't be dropped, and also has a DeleteTweq so that it deletes itself after a few secons, as the prying sound ends and the lid opens. So from the player's perspective, they're holding the crowbar out in front of them without having to hold down the use button, and it prevents them from frobbing anything else (like another lid) until the sequence is finished. Not perfect, but close enough for me.
LarryG on 18/12/2015 at 18:50
If you're happy, I'm happy.