673f5d2da6c9e

673f5d2da7e8e
5 Guests are here.
 

Topic: SS2 TF's Secmod 3
Page: « 1 ... 25 [26] 27 ... 46 »
Read 212503 times  

673f5d2da8517Nameless Voice

673f5d2da857c
In other words - it's technically possible, but so much work that no one would ever want to do it.

673f5d2da8821ThiefsieFool

673f5d2da8882
I don't think it's that hard, I remember I only had to edit the archetypes for the panels and the cameras, depends on how easy it is to add scripts and their parameters with DMLs.

673f5d2da89b7voodoo47

673f5d2da8a17
it's not really that much work once you are at the point where you understand the setup completely and just write it into the dml. but getting to that point, well, that's a completely different story.
673f5d2da8c3b
Alright, thank you very much for the replies!

A "lite" version, perhaps: Camera destruction will always trigger an alarm?


I have been reading up on DML scripting, after voodoo47 kindly helped me a fair bit to understand the underlying concepts. I do realise I am far - very far - from converting this, but I am not even clear on where to find it in the original mod files. The NVscript sections I found do not seem to indicate any links to camera or alarm events. Am I on the wrong track?

673f5d2da8ce4voodoo47

673f5d2da8d36
it's probably script stuff on the camera and secpanel archetypes.

673f5d2da8e64ThiefsieFool

673f5d2da8eba
Camera destruction triggering alarms is something way too ham-fisted and primitive, it was an interesting idea from older mods but this setup was created specifically to moderate that effect to something more sensible.

To make it work I'm pretty sure that a message is sent from the camera to one of the ecology objects linked to it, using NVScript to detect the camera death, implement a random chance and send the message.

On the secpanel it all comes down to a modified script made by NV, if not then it's the modified player script, which should already be included in SCP.
673f5d2da9019
To make it work I'm pretty sure that a message is sent from the camera to one of the ecology objects linked to it, using NVScript to detect the camera death, implement a random chance and send the message.

Cool, thank you very much! I will hopefully find some time this weekend to investigate!
Acknowledged by: ThiefsieFool
673f5d2da9402
This is quite the adventure for me.

It's slowly coming together, though. I found this post from 2008 by you, Nameless Voice, in Flatliner's mod, where cameras also seem to trigger an alarm when destroyed.

If you have NVScript loaded, you could simply add the NVRelayTrap script to the cameras, and the Script->ObjList Args: NVRelayTrapOn="Slain"; NVRelayTrapOff="Null"; NVRelayTrapTOn="Alarm".
I think that should work...

Of course, Flatliner's mod wouldn't have that, since the .osm needs to be loaded into every level.

Just reducing it to SecMod's "camera should trigger alarm when destroyed" core feature: How would one go about adding the above lines to the camera archetypes in a .DML? How does one even get a list(?) of all cameras throughout all levels? By opening each map individually and manually looking for camera entities? Or could one play around with the NVRemovePropertyTrap perhaps?

673f5d2da9534voodoo47

673f5d2da9591
the simplest way would indeed, be to find every camera concrete and use a map dml to send a signal to the corresponding alert ecology when destroyed.

but attempting a gamesys dml would be more fun - you could try to set the camera archetype to send the signal to the nearest ecology (NVRelayTrap can do that), and hope everything will work (I can say right now it won't work all the time, but if it does in about 90% of cases, you are still good, and the dml will be short and easy). //yeah, sending the signal via the switchlinks would work better.

hilight_obj_type -975 in the editor command window will get you ecologies, hilight_obj_type -367 are cameras.
« Last Edit: 07. September 2019, 22:04:03 by voodoo47 »

673f5d2da96bfThiefsieFool

673f5d2da9718
You definitely don't need to mess with every object in every level.

on the "Security Camera" archetype
NVRelayTrapOn="Slain"; NVRelayTrapTOn="CameraDed"; NVRelayTrapTDest="&SwitchLink";

on the "Ecology" archetype
NVRelayTrapOn="CameraDed"; NVRelayTrapTOn="TurnOn"; NVRelayTrapTDest="&SwitchLink";

That seems to be all it takes to have a random chance of spawning an enemy on a camera kill, since ecology objects usually have some random chance to spawn an enemy to begin with. Just add those scripts and script parameters with a DML?
673f5d2da98e6
Excellent, thank you both so much for the help! Really close now :-)
I am going to demonstrate how much of an idiot I am by posting my naive script attempts here. Feel free to laugh; I just want this to work at this point - and it just doesn't quite, yet. I checked in ShockEd and tested several variants of the following script lines, but so far to no avail:

Code: [Select]
DML1

// ALERT ON CAMERA DESTRUCTION

// ADD ALARM TRIGGER TO ALL CAMERAS
+ObjProp -367 "Scripts"
{
"Script 3" NVRelayTrap
}
+ObjProp -367 "ObjList"
{
"" NVRelayTrapOn="Slain"; NVRelayTrapTOn="CameraDed"; NVRelayTrapTDest="&SwitchLink";
}


// TRIGGER ENEMY SPAWNS AT CAMERA DESTRUCTION
+ObjProp -975 "Scripts"
{
"Script 1" NVRelayTrap
}
+ObjProp -975 "ObjList"
{
"" NVRelayTrapOn="CameraDed"; NVRelayTrapTOn="TurnOn"; NVRelayTrapTDest="&SwitchLink";
}

It also needs to stay compatible with SCP, of course, and the Security Camera archetype seems to be loaded with scripts:


Is this going to be an issue?
« Last Edit: 08. September 2019, 09:36:48 by Dan »

673f5d2da9a64voodoo47

673f5d2da9abc
just sending an "Alarm" message instead of "CameraDed" should be enough to trigger an alert upon a camera destruction, no shenanigans necessary on the ecology archetype.

yeah, no available script slots on the SCP camera is a problem, you will need to move the NVRelayTrap script up the hierarchy - slot 2 of Security Camera Scripts (-4592) should do for the time being (objlist args should stay on the camera though) - beta5, which is hopefully coming later this autumn, changes things around and frees up slot 3 on the Security Camera again, so this will not be a problem once it's out. right now, just fingerprint the gamesys.dml to not load for SCP, and add a shockscp.gam.dml which will add it on the slot 2 of the -4592 archetype. oh, and you probably don't want this to load for Secmod as well.

Code: [Select]
!FINGERPRINT
{
   GAM shockscp.gam
}
!FINGERPRINT
{
   GAM shocksec.gam
}
673f5d2da9e8b
Hm, so I created a shockscp.gam.dml with the following code:

Code: [Select]
DML1

// TRIGGER ALERT UPON CAMERA DESTRUCTION
+ObjProp "-4592" "Scripts"
{
"Script 2" NVRelayTrap
}
+ObjProp "-367" "ObjList"
{
"" NVRelayTrapOn="Slain"; NVRelayTrapTOn="Alarm"; NVRelayTrapTDest="&SwitchLink";
}

But it still does not seem to trigger the alarm. I do see cameras now have the rectangular frob icon around them for a second or two at the time of destruction for some reason.



PS:
[...] beta5, which is hopefully coming later this autumn [...]
Hurray!  :thumb:
« Last Edit: 08. September 2019, 10:22:31 by Dan »

673f5d2da9fcfvoodoo47

673f5d2daa030
aha, the SCP b4 dml will also need to re-add objlist args already set on the archetype - the final SCP b4 dml (do note the no need for pluses as we are just modifying what already exsits, and no quotes when using archetype ids as those are not names);
Code: [Select]
DML1


// TRIGGER ALERT UPON CAMERA DESTRUCTION
ObjProp -4592 "Scripts"
{
"Script 2" NVRelayTrap
}
ObjProp -367 "ObjList"
{
"" NVMetaTrapOn="[null]"; NVMetaTrapOff="Unfreeze"; NVMetaTrapMeta="Blind"; NVRelayTrapOn="Slain"; NVRelayTrapTOn="Alarm"; NVRelayTrapTDest="&SwitchLink";
}
this works for me, just tested. the only potential issue is the impact on difficulty - with this, you have no way of destroying the cameras without triggering an alarm.
673f5d2dabb9e
aha, the SCP b4 dml will also need to re-add objlist args already set on the archetype
Yeah, well, I would have never even dreamed about imagining to think about this... there's a ton of stuff I have yet to learn. Sorry to bother you with this and thank you so much for your help! It works wonderfully!

with this, you have no way of destroying the cameras without triggering an alarm
That's exactly the idea :-) I just tested it in different instances and contexts and the alarm triggers at all times, as soon as a camera is destroyed (even after hacking a security panel / with the "security system offline"). This is very much intended. I am working on a "multiplayer difficulty revamp" script collection which forces players to properly team up and invest in their skillsets as synergetically as possible. There's two things I cannot possibly ever do (proximity voice chat and disabling of automatic respawning) but the rest is now pretty much "complete".
Would it be alright if I posted it in the SS2 Modifications section, giving credit to all of you, who helped so very kindly, of course?

673f5d2dabcfevoodoo47

673f5d2dabd57
yeah, there is no way of adding to whatever already exists in the objlist args on a certain archetype, so if you need to do that, you need to copy and paste whatever already is there into the dml, and add everything you want to that.

feel free to post the finished mod if you are happy with it, the topic will get created at Rec, I will move it then.


it would be nice to also edit Polito's audio clip (and strings) so she would not suggest destroying the cameras, but whatever, whoever will want this mod is not a newbie anyway.
« Last Edit: 08. September 2019, 11:48:28 by voodoo47 »

673f5d2dac090RoSoDude

673f5d2dac0ea
What would be required to make the cameras not alarm when destroyed under certain conditions, e.g. when the security grid is offline?

673f5d2dac1c5voodoo47

673f5d2dac220
a good chunk of squirrel scripting, I'd reckon. the way security works is quite annoying, mostly because there are no proper events you could catch (with NVscript, for example).

Secmod accomplishes this by fairly evil trickery, if memory serves.

673f5d2dac31aAluminumHaste

673f5d2dac371
This is going to probably be a stupid question but, can I use this mod AND SCP at the same time? BMM complains that they both modify gamesys, but I swear I read somewhere in this thread that it's okay to run them both but now I can't find it.

EDIT: Also, this is the third time I've registered on this site, do old accounts get deleted or something?
« Last Edit: 18. October 2019, 03:54:06 by AluminumHaste »

673f5d2dac633hemebond

673f5d2dac69d
This is going to probably be a stupid question but, can I use this mod AND SCP at the same time?
I'd be surprised if you could since they both make extensive and incompatible changes to the game.

673f5d2dac7c9voodoo47

673f5d2dac823
technically, you can have them activated at the same time and it won't be a problem - as they override each other completely, whatever is on top will get loaded. so there is no reason you should be doing it in the first place.

yeah, inactive users will get an email notification and if ignored, their account will get deleted, a feature I'm not particularly fond of.

673f5d2dac93bAluminumHaste

673f5d2dac997
Okay, thanks guys.
I don't know if I want to try the new mod without all the greatness that is SCP.....  ¯\_(ツ)_/¯

673f5d2dacbcchemebond

673f5d2dacc23
I don't know if I want to try the new mod without all the greatness that is SCP.....  ¯\_(ツ)_/¯
That doesn't make any sense, but okay.

673f5d2daccc9voodoo47

673f5d2dacd1b
well, who wouldn't want all those bugfixes and 32bit lighting?

Your name:
This box must be left blank:

Name the main villain of the System Shock series:
5 Guests are here.
We worry about machines going rogue. What if they went green instead?
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
673f5d2dadccb