Papi62
04.02.2010, 01:52
Palim ;)
Bei meinem Schiessstand hab ich das Problem dass die kleinen beweglichen Zielscheiben sich wegschieben, bzw. wegschiessen, lassen im Gegensatz zu der Grossen welche stabil ist.
Alle Zielscheiben sind Aktivatoren mit eigenen Scripts und wurden aus denselben Statics hergestellt.
Die Optionen der Items sind alle identisch, deshalb kapier ich nicht warum die sich unterschiedlich verhalten.
Die kleinen verhalten sich wie Movable Statics und die grosse, welche sich ja auch vor und zurück fahren lässt, wie ein Static (die zeigt auch keine Einschusslöcher).
Am Ende des unten verlinkten Videos sieht man was ich meine und wie das Sch... ausschaut.
Vieleicht liegt es ja an einem der Scripte aber ich habe keine Ahnung an was genau und warum. Deswegen poste ich die Scripts unten.
Ich wäre dankbar für Ideen und Vorschläge.
Fallout3_Schiessstand.avi auf YouTube (http://www.youtube.com/watch?v=qHBLpPZcvoU)
Script der Grossen Zielscheibe
SCN MatrixZielscheibe01MoveScript
Float YAchsePosition
Float YAchse
Short DoOnce
Short Move
;************************************************* ****************
Begin GameMode
if Move == 1
Set YAchsePosition to GetPos Y
Set YAchse to YAchsePosition +4
SetPos Y YAchse
endif
End
Begin GameMode
if DoOnce == 0 && Move == 1
if GetDistance MatrixZielscheibe01Marker01REF <= 10
Set Move to 0
Set DoOnce to 1
endif
endif
End
;************************************************* ****************
Begin GameMode
if DoOnce == 1 && Move == 2
Set YAchsePosition to GetPos Y
Set YAchse to YAchsePosition -4
SetPos Y YAchse
endif
End
Begin GameMode
if DoOnce == 1 && Move == 2
if GetDistance MatrixZielscheibe01Marker02REF <= 10
Set Move to 0
Set DoOnce to 0
endif
endif
End
Script einer der kleinen Zielscheiben
scn MatrixZielscheibe02MoveScript
short Move
short doOnce
float ZAchsePosition
float ZAchse
float XAchsePosition
float XAchse
float Timer
;************************************************* ****************
Begin GameMode
if DoOnce == 0 && Move == 1
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition +.5
SetPos Z ZAchse
endif
End
Begin GameMode
if DoOnce == 0 && Move == 1
if GetDistance MatrixZielscheibe02Marker01REF <= 10
Set Move to 2
Set DoOnce to 1
endif
endif
End
;************************************************* ****************
Begin GameMode
if DoOnce == 1 && Move == 2
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition -.5
SetPos Z ZAchse
endif
End
Begin GameMode
if DoOnce == 1 && Move == 2
if GetDistance MatrixZielscheibe02Marker02REF <= 10
Set Move to 1
Set DoOnce to 0
endif
endif
End
Script des Schalters
scn MatrixZielscheibe01SteuerungScript
short doOnce
short Button
short GoTrans
short Stage
short Start
short Program
float Timer
Begin OnActivate Player
if IsActionRef player == 1
ShowMessage MatrixZielscheibe01Msg
set GoTrans to 1
endif
End
Begin GameMode
set Button to GetButtonPressed
if ( Button == 0 ) && ( GoTrans == 1 )
Set MatrixZielscheibe01REF.Move to 1
set GoTrans to 0
elseif ( Button == 1 ) && ( GoTrans == 1 )
Set MatrixZielscheibe01REF.Move to 2
set GoTrans to 0
endif
elseif ( Button == 2 ) && ( GoTrans == 1 )
Set Program to 1
Set Stage to 0
Set Start to 1
set GoTrans to 0
endif
End
Begin GameMode
if (doOnce == 0)
if (Stage == 1) && Program == 1
MatrixLightCountdown01REF.Enable
MatrixLetter5CountREF.Enable
set Timer to 1
elseif (stage == 2) && Program == 1
MatrixLetter5CountREF.Disable
MatrixLetter4CountREF.Enable
set Timer to 1
elseif (stage == 3) && Program == 1
MatrixLetter4CountREF.Disable
MatrixLetter3CountREF.Enable
set Timer to 1
elseif (stage == 4) && Program == 1
MatrixLetter3CountREF.Disable
MatrixLetter2CountREF.Enable
set Timer to 1
elseif (stage == 5) && Program == 1
MatrixLetter2CountREF.Disable
MatrixLetter1CountREF.Enable
set Timer to 1
elseif (stage == 6) && Program == 1
MatrixLetter1CountREF.Disable
MatrixLightCountdown01REF.Disable
MatrixLetterGCountREF.Enable
MatrixLetterOCountREF.Enable
MatrixLightCountGoREF.Enable
set Timer to 1
elseif (stage == 7) && Program == 1
MatrixLetterGCountREF.Disable
MatrixLetterOCountREF.Disable
MatrixLightCountGoREF.Disable
Set MatrixZielscheibe02REF.Move to 1
set Timer to 1
elseif (stage == 8) && Program == 1
Set MatrixZielscheibe03REF.Move to 1
Set MatrixZielscheibe09REF.Move to 1
set Timer to 1
elseif (stage == 9) && Program == 1
Set MatrixZielscheibe04REF.Move to 1
set Timer to 1
elseif (stage == 10) && Program == 1
Set MatrixZielscheibe05REF.Move to 1
set Timer to 1
elseif (stage == 11) && Program == 1
Set MatrixZielscheibe06REF.Move to 1
set Timer to 1
elseif (stage == 12) && Program == 1
Set MatrixZielscheibe07REF.Move to 1
set Timer to 1
elseif (stage == 13) && Program == 1
Set MatrixZielscheibe08REF.Move to 1
set Timer to 1
elseif (stage == 14) && Program == 1
Set MatrixZielscheibe10REF.Move to 1
set Timer to 1
elseif (stage == 15) && Program == 1
Set MatrixZielscheibe11REF.Move to 1
set Timer to 1
elseif (stage == 16)
set Start to 0
endif
set doOnce to 1
endif
if (Timer <=0) && (Start == 1)
set Stage to (Stage + 1)
set doOnce to 0
else
set Timer to (Timer - GetSecondsPassed)
endif
End
Bei meinem Schiessstand hab ich das Problem dass die kleinen beweglichen Zielscheiben sich wegschieben, bzw. wegschiessen, lassen im Gegensatz zu der Grossen welche stabil ist.
Alle Zielscheiben sind Aktivatoren mit eigenen Scripts und wurden aus denselben Statics hergestellt.
Die Optionen der Items sind alle identisch, deshalb kapier ich nicht warum die sich unterschiedlich verhalten.
Die kleinen verhalten sich wie Movable Statics und die grosse, welche sich ja auch vor und zurück fahren lässt, wie ein Static (die zeigt auch keine Einschusslöcher).
Am Ende des unten verlinkten Videos sieht man was ich meine und wie das Sch... ausschaut.
Vieleicht liegt es ja an einem der Scripte aber ich habe keine Ahnung an was genau und warum. Deswegen poste ich die Scripts unten.
Ich wäre dankbar für Ideen und Vorschläge.
Fallout3_Schiessstand.avi auf YouTube (http://www.youtube.com/watch?v=qHBLpPZcvoU)
Script der Grossen Zielscheibe
SCN MatrixZielscheibe01MoveScript
Float YAchsePosition
Float YAchse
Short DoOnce
Short Move
;************************************************* ****************
Begin GameMode
if Move == 1
Set YAchsePosition to GetPos Y
Set YAchse to YAchsePosition +4
SetPos Y YAchse
endif
End
Begin GameMode
if DoOnce == 0 && Move == 1
if GetDistance MatrixZielscheibe01Marker01REF <= 10
Set Move to 0
Set DoOnce to 1
endif
endif
End
;************************************************* ****************
Begin GameMode
if DoOnce == 1 && Move == 2
Set YAchsePosition to GetPos Y
Set YAchse to YAchsePosition -4
SetPos Y YAchse
endif
End
Begin GameMode
if DoOnce == 1 && Move == 2
if GetDistance MatrixZielscheibe01Marker02REF <= 10
Set Move to 0
Set DoOnce to 0
endif
endif
End
Script einer der kleinen Zielscheiben
scn MatrixZielscheibe02MoveScript
short Move
short doOnce
float ZAchsePosition
float ZAchse
float XAchsePosition
float XAchse
float Timer
;************************************************* ****************
Begin GameMode
if DoOnce == 0 && Move == 1
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition +.5
SetPos Z ZAchse
endif
End
Begin GameMode
if DoOnce == 0 && Move == 1
if GetDistance MatrixZielscheibe02Marker01REF <= 10
Set Move to 2
Set DoOnce to 1
endif
endif
End
;************************************************* ****************
Begin GameMode
if DoOnce == 1 && Move == 2
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition -.5
SetPos Z ZAchse
endif
End
Begin GameMode
if DoOnce == 1 && Move == 2
if GetDistance MatrixZielscheibe02Marker02REF <= 10
Set Move to 1
Set DoOnce to 0
endif
endif
End
Script des Schalters
scn MatrixZielscheibe01SteuerungScript
short doOnce
short Button
short GoTrans
short Stage
short Start
short Program
float Timer
Begin OnActivate Player
if IsActionRef player == 1
ShowMessage MatrixZielscheibe01Msg
set GoTrans to 1
endif
End
Begin GameMode
set Button to GetButtonPressed
if ( Button == 0 ) && ( GoTrans == 1 )
Set MatrixZielscheibe01REF.Move to 1
set GoTrans to 0
elseif ( Button == 1 ) && ( GoTrans == 1 )
Set MatrixZielscheibe01REF.Move to 2
set GoTrans to 0
endif
elseif ( Button == 2 ) && ( GoTrans == 1 )
Set Program to 1
Set Stage to 0
Set Start to 1
set GoTrans to 0
endif
End
Begin GameMode
if (doOnce == 0)
if (Stage == 1) && Program == 1
MatrixLightCountdown01REF.Enable
MatrixLetter5CountREF.Enable
set Timer to 1
elseif (stage == 2) && Program == 1
MatrixLetter5CountREF.Disable
MatrixLetter4CountREF.Enable
set Timer to 1
elseif (stage == 3) && Program == 1
MatrixLetter4CountREF.Disable
MatrixLetter3CountREF.Enable
set Timer to 1
elseif (stage == 4) && Program == 1
MatrixLetter3CountREF.Disable
MatrixLetter2CountREF.Enable
set Timer to 1
elseif (stage == 5) && Program == 1
MatrixLetter2CountREF.Disable
MatrixLetter1CountREF.Enable
set Timer to 1
elseif (stage == 6) && Program == 1
MatrixLetter1CountREF.Disable
MatrixLightCountdown01REF.Disable
MatrixLetterGCountREF.Enable
MatrixLetterOCountREF.Enable
MatrixLightCountGoREF.Enable
set Timer to 1
elseif (stage == 7) && Program == 1
MatrixLetterGCountREF.Disable
MatrixLetterOCountREF.Disable
MatrixLightCountGoREF.Disable
Set MatrixZielscheibe02REF.Move to 1
set Timer to 1
elseif (stage == 8) && Program == 1
Set MatrixZielscheibe03REF.Move to 1
Set MatrixZielscheibe09REF.Move to 1
set Timer to 1
elseif (stage == 9) && Program == 1
Set MatrixZielscheibe04REF.Move to 1
set Timer to 1
elseif (stage == 10) && Program == 1
Set MatrixZielscheibe05REF.Move to 1
set Timer to 1
elseif (stage == 11) && Program == 1
Set MatrixZielscheibe06REF.Move to 1
set Timer to 1
elseif (stage == 12) && Program == 1
Set MatrixZielscheibe07REF.Move to 1
set Timer to 1
elseif (stage == 13) && Program == 1
Set MatrixZielscheibe08REF.Move to 1
set Timer to 1
elseif (stage == 14) && Program == 1
Set MatrixZielscheibe10REF.Move to 1
set Timer to 1
elseif (stage == 15) && Program == 1
Set MatrixZielscheibe11REF.Move to 1
set Timer to 1
elseif (stage == 16)
set Start to 0
endif
set doOnce to 1
endif
if (Timer <=0) && (Start == 1)
set Stage to (Stage + 1)
set doOnce to 0
else
set Timer to (Timer - GetSecondsPassed)
endif
End