67427070c3261

67427070c53f6
10 Guests are here.
 

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

67427070c5b93Nameless Voice

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

67427070c5f43ThiefsieFool

67427070c6038
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.

67427070c6207voodoo47

67427070c626d
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.
67427070c64f7
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?

67427070c65d4voodoo47

67427070c6636
it's probably script stuff on the camera and secpanel archetypes.

67427070c6796ThiefsieFool

67427070c67ec
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.
67427070c698e
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
67427070c6e9c
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?

67427070c7004voodoo47

67427070c7093
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 »

67427070c71e1ThiefsieFool

67427070c723c
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?
67427070c7425
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 »

67427070c75a2voodoo47

67427070c75ff
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
}
67427070c7a61
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 »

67427070c7be0voodoo47

67427070c7c3b
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.
67427070c830e
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?

67427070c843cvoodoo47

67427070c8494
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 »

67427070c874eRoSoDude

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

67427070c8885voodoo47

67427070c88df
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.

67427070c89eaAluminumHaste

67427070c8a50
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 »

67427070c8d57hemebond

67427070c8db0
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.

67427070c8ebevoodoo47

67427070c8f49
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.

67427070c9038AluminumHaste

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

67427070c92cdhemebond

67427070c92f9
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.

67427070c9401voodoo47

67427070c9459
well, who wouldn't want all those bugfixes and 32bit lighting?

Your name:
This box must be left blank:

Look at you, hacker: a pathetic creature of ____ and bone!  (Fill in the missing word):
10 Guests are here.
That girl thinks she's the queen of the neighborhood. I got news for you, she is!
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
67427070ca4d9