pepperman35 Posted June 28, 2022 Share Posted June 28, 2022 (edited) Envisioning using a customized version of the StatuePlinth01.nif in a settlement whereby animated panels on the four sides would open to reveal a set of devastating bubble turrets. I am envisioning a control volume which is monitored by a script so when an enemy enters the volume the panels open and the turrets would blast them. Once the enemies are eliminated, the panels would close. Before I get too far with the concept, I was wondering how the bubble turrets would behave under such a scenario (i.e., would they start blasting before the panels are opened?) I suppose one could enable/disable them via the script once the panels open/close. Would the response time be quick enough? Welcome your thoughts here. Edited June 28, 2022 by pepperman35 Link to comment Share on other sites More sharing options...
South8028 Posted June 29, 2022 Share Posted June 29, 2022 I think turrets won't fire through collision. The turret is a creature and its rules of behavior are identical to other creatures. They "see" the collision. In the game, when you go around a corner, the turret does not open fire. They shoot at you only when there are no obstacles between you. But, ideally, it's best to make sure that the panels recline and the power of the turrets turns on at the same time. Obviously, the panels should react to the enemy, not the turret. So the panels have a trigger, and the trigger is able to work as a switch and turn on the power of the turrets. Link to comment Share on other sites More sharing options...
greekrage Posted June 30, 2022 Share Posted June 30, 2022 off topic: (sort of)I wanted to make something similar but i wanted turrets that rose from the ground using the missile silos from the sub and platform helpers but cant attach the damn turrets to the helper.. :P Link to comment Share on other sites More sharing options...
niston Posted July 2, 2022 Share Posted July 2, 2022 Try setting motiontype keyframed: refTurret.SetMotionType(refTurret.Motion_Keyframed)refTurret.AttachTo(refHelper) Link to comment Share on other sites More sharing options...
pepperman35 Posted July 2, 2022 Author Share Posted July 2, 2022 **UPDATE** Phase 1 complete, custom mesh with four hidden compartments (i.e., doors) made. Phase 2 up next. Develop script to watch for enemies entering or leaving a trigger volume. Link to comment Share on other sites More sharing options...
pepperman35 Posted July 4, 2022 Author Share Posted July 4, 2022 I added the custom nif up as a modders resource if any wants Custom Statue Plinth Link to comment Share on other sites More sharing options...
RaidersClamoring Posted July 6, 2022 Share Posted July 6, 2022 Brilliant idea. I tried building something similar by hand in workshop using hatches (Zebrina's workshop devices) flipped along Y axis and autodoors sensors to have them open and shut when enemies are within/outside some radius, also adding target switches that would close the hatch if they were fired upon too much and hopefully hitting the backboard (preventing them from needing repairs). This was way too much work , even with replicable blueprints, to be any fun. Turns out bubble turrets actually *do* attempt to shoot through walls and stuff so your need some form of LOS manipulation, at least to be sure and if wanting to use missile bubble turrets. Link to comment Share on other sites More sharing options...
pepperman35 Posted July 6, 2022 Author Share Posted July 6, 2022 (edited) First hack at a script which doesn't work quite right yet (i.e., not properly detecting enemies). Script is based on the Trigger.psc script. Scriptname FBR:FBR_PlinthTrigger extends ObjectReference {Trigger that watches for a target(s) to enter and exit. fireTriggerEvent function is called whenever the targets enters or leaves the trigger. The fireTriggerEvent function for whatever you need -- you can use IsTargetInTrigger to check if the target has just entered or left.} Group Required_Properties ObjectReference property FBR_EaglesLandingPlinth01 auto const mandatory Faction Property pPlayerEnemyFaction Auto Const mandatory EndGroup bool bTargetInTrigger = false conditional Actor property targetRef auto { if None (default), watching for player otherwise, watching for this reference } Event onLoad() if targetRef == None targetRef = game.getPlayer() endif endEvent Event onTriggerEnter(objectReference triggerRef) if(triggerRef == targetRef) ;target has entered the trigger SetTargetInTrigger(true) ; debug.trace(self + " target has entered the trigger") endif endEvent Event onTriggerLeave(objectReference triggerRef) if (triggerRef == targetRef) ;target has left the trigger SetTargetInTrigger(false) ; debug.trace(self + " target has left the trigger") endif endEvent bool function IsTargetInTrigger() return bTargetInTrigger endFunction ; PRIVATE function - do not call from outside this script function SetTargetInTrigger(bool isInTrigger) bTargetInTrigger = isInTrigger fireTriggerEvent() endFunction function fireTriggerEvent() ; perform a set of actions when an enemy target enters/leaves trigger if (bTargetInTrigger == true && targetRef.IsInFaction(pPlayerEnemyFaction)) ; open the secret doors on the plinth when the enemies enter FBR_EaglesLandingPlinth01.SetOpen(True) else ; close the secret doors on the plinth when the enemies leave or die ; Utility.Wait(1.5) FBR_EaglesLandingPlinth01.SetOpen(False) endif endFunction Edited July 6, 2022 by pepperman35 Link to comment Share on other sites More sharing options...
Recommended Posts