673f6810092ed

673f68100a4e3
7 Guests are here.
 

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

673f68100ce99Nameless Voice

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

673f68100d189ThiefsieFool

673f68100d1f6
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.

673f68100d360voodoo47

673f68100d3b2
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.
673f68100d58a
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?

673f68100d622voodoo47

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

673f68100d7b3ThiefsieFool

673f68100d801
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.
673f68100d92a
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
673f68100dced
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?

673f68100de46voodoo47

673f68100de9c
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 »

673f68100dfa0ThiefsieFool

673f68100dff2
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?
673f68100e190
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 »

673f68100e2bevoodoo47

673f68100e30a
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
}
673f68100e6aa
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 »

673f68100e7cfvoodoo47

673f68100e81f
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.
673f68100ed42
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?

673f68100ee33voodoo47

673f68100ee80
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 »

673f68100f072RoSoDude

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

673f68100f176voodoo47

673f68100f1c4
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.

673f68100f2a4AluminumHaste

673f68100f2f3
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 »

673f68100f512hemebond

673f68100f561
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.

673f68100f683voodoo47

673f68100f6d2
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.

673f68100f77bAluminumHaste

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

673f68100f94dhemebond

673f68100f99a
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.

673f68100fa2bvoodoo47

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

Your name:
This box must be left blank:

System Shock takes place on a space station named ...:
7 Guests are here.
Be careful of fantasies. They can come true. It hollows me out.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
673f681010934