Author Topic: bridge console animations/script issue  (Read 674 times)

Offline Lurok91

  • Posts: 1309
  • Cookies: 2062
  • SPMod Developer (Retired)
    • Lurok91 Mods
bridge console animations/script issue
« on: January 22, 2012, 05:25:36 AM »
Here's one I'm sure Defiant or USS Sov know answer to.  Have a new Akira bridge WIP with Intrepid-style flipping centre console and new walls that move into position on red alert.  All works but not perfectly due to issue in autoload script.

With this script, lcar walls move and animate on red alert but centre console doesn't open:
Code: [Select]
import Foundation

def GreenAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0) or dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0):
dAnimInfo["YellowAlert::bridge::data/animations/ak-bp/alert1.NIF played"] = 0
dAnimInfo["RedAlert::bridge::data/animations/ak-bp/alert1.NIF played"] = 0
return 1
return 0

def GreenAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0) or dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0):
dAnimInfo["YellowAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played"] = 0
dAnimInfo["RedAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played"] = 0
return 1
return 0


def YellowRedAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("GreenAlert::bridge::data/animations/ak-bp/alert2.NIF played", 0):
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/alert2.NIF played"] = 0
return 1
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0) == 0 and dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0) == 0:
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/alert2.NIF played"] = 0
return 1
return 0

def YellowRedAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("GreenAlert::bridge::data/animations/ak-bp/lcaralert2.NIF played", 0):
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/lcaralert2.NIF played"] = 0
return 1
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0) == 0 and dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0) == 0:
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/lcaralert2.NIF played"] = 0
return 1
return 0

'Animations': {
'GreenAlert': {
'bridge': [
{
"ani": "data/animations/ak-bp/alert2.NIF", "Requirement": GreenAlertConsole,
"ani": "data/animations/ak-bp/lcaralert2.NIF", "Requirement": GreenAlertConsole,
},
],
},
'YellowAlert': {
'bridge': [
{
"ani": "data/animations/ak-bp/alert1.NIF", "Requirement": YellowRedAlertConsole,
"ani": "data/animations/ak-bp/lcaralert1.NIF", "Requirement": YellowRedAlertConsole,
},
],
},
'RedAlert': {
'bridge': [
{
"ani": "data/animations/ak-bp/alert1.NIF", "Requirement": YellowRedAlertConsole,
"ani": "data/animations/ak-bp/lcaralert1.NIF", "Requirement": YellowRedAlertConsole,
},
],
},
},

'Maps':{

With this script, console flips open but lcar walls don't move.   
Code: [Select]
def GreenAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0) or dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0):
dAnimInfo["YellowAlert::bridge::data/animations/ak-bp/alert1.NIF played"] = 0
dAnimInfo["RedAlert::bridge::data/animations/ak-bp/alert1.NIF played"] = 0
return 1
return 0

def GreenAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0) or dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0):
dAnimInfo["YellowAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played"] = 0
dAnimInfo["RedAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played"] = 0
return 1
return 0


def YellowRedAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("GreenAlert::bridge::data/animations/ak-bp/alert2.NIF played", 0):
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/alert2.NIF played"] = 0
return 1
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0) == 0 and dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/alert1.NIF played", 0) == 0:
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/alert2.NIF played"] = 0
return 1
return 0

def YellowRedAlertConsole(dAnimInfo, ani):
if dAnimInfo.get("GreenAlert::bridge::data/animations/ak-bp/lcaralert2.NIF played", 0):
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/lcaralert2.NIF played"] = 0
return 1
if dAnimInfo.get("YellowAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0) == 0 and dAnimInfo.get("RedAlert::bridge::data/animations/ak-bp/lcaralert1.NIF played", 0) == 0:
dAnimInfo["GreenAlert::bridge::data/animations/ak-bp/lcaralert2.NIF played"] = 0
return 1
return 0

'Animations': {
'GreenAlert': {
'bridge': [
{
"ani": "data/animations/ak-bp/lcaralert2.NIF", "Requirement": GreenAlertConsole,
"ani": "data/animations/ak-bp/alert2.NIF", "Requirement": GreenAlertConsole,
},
],
},
'YellowAlert': {
'bridge': [
{
"ani": "data/animations/ak-bp/lcaralert1.NIF", "Requirement": YellowRedAlertConsole,
"ani": "data/animations/ak-bp/alert1.NIF", "Requirement": YellowRedAlertConsole,

},
],
},
'RedAlert': {
'bridge': [
{
"ani": "data/animations/ak-bp/lcaralert1.NIF", "Requirement": YellowRedAlertConsole,
"ani": "data/animations/ak-bp/alert1.NIF", "Requirement": YellowRedAlertConsole,

},
],
},
},

'Maps':{

I'm sure it's just an ordering issue but be nice to fix so both open and move on red alert and back.   Presumably also a way to redact script down?