1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
|
main()
{
level thread aufzug();
}
aufzug()
{
aufzug = getEnt( "aufzug" , "targetname" );
aufzug1 = getEnt( "aufzug1" , "targetname" );
aufzug2 = getEnt( "aufzug2" , "targetname" );
aufzug3 = getEnt( "aufzug3" , "targetname" );
trig = getEnt( "aufzug_trigger" , "targetname" );
// better safe than sorry ;)
while( isDefined( aufzug ) && isDefined( aufzug1 ) && isDefined( aufzug2 ) && isDefined( aufzug3 ) && isDefined( trig ) )
{
trig waittill( "trigger" );
aufzug moveZ( 192 , 3.0 );
aufzug1 moveZ( -192 , 3.0 );
aufzug2 moveY( 192 , 3.0 );
aufzug3 moveY( -192 , 3.0 );
wait( 3.0 );
wait( 2.0 );
aufzug moveZ( -192 , 3.0 );
aufzug1 moveZ( 192 , 3.0 );
aufzug2 moveY( -192 , 3.0 );
aufzug3 moveY( 192 , 3.0 );
wait( 3.0 );
}
}
aufzug()
{
trig = getEnt( "aufzug_trigger" , "targetname" );
aufzug = getEnt( "aufzug" , "targetname" );
aufzug1 = getEnt( "aufzug1" , "targetname" );
aufzug2 = getEnt( "aufzug2" , "targetname" );
aufzug3 = getEnt( "aufzug3" , "targetname" );
// schauen ob alles noch da ist, falls nicht steht in der console was fehlt, es erscheint kein ERROR!
if( !isDefined( trig ) )
{
iPrintLn( "aufzug_trigger is not defined!" );
return;
}
else if( !isDefined( aufzug ) )
{
iPrintLn( "aufzug is not defined!" );
return;
}
else if( !isDefined( aufzug1 ) )
{
iPrintLn( "aufzug1 is not defined!" );
return;
}
else if( !isDefined( aufzug2 ) )
{
iPrintLn( "aufzug2 is not defined!" );
return;
}
else if( !isDefined( aufzug3 ) )
{
iPrintLn( "aufzug3 is not defined!" );
return;
}
// das ganze verhindert dann dass falls ein spieler die bewegung des fahrstuhls blockeiert, dass der fahrstuhl nicht i-wie komisch auseinander geht
// startposition da wo der aufzug gerade ist
aufzug.startpos = aufzug.origin;
aufzug1.startpos = aufzug1.origin;
aufzug2.startpos = aufzug2.origin;
aufzug3.startpos = aufzug3.origin;
// endposition festlegen mit ( x , y , z )
aufzug.endpos = aufzug.origin + ( 0 , 0 , 192 );
aufzug1.endpos = aufzug1.origin + ( 0 , 0 , -192 );
aufzug2.endpos = aufzug2.origin + ( 0 , 192 , 0 );
aufzug3.endpos = aufzug3.origin + ( 0 , -192 , 0 );
moveTime = 3.0; // die zeit in dem der fahrstuhl sich öffnet/schließt
aTime = 0.0; // beschleunigungszeit mit dem der fahrstuhl sich öffnet/schließt
dTime = 0.0; // negative beschleunigungszeit mit dem der fahrstuhl sich öffnet/schließt
openTime = 2.0; // wie lange der fahrstuhl öffen stehen soll bevor er sich wieder schließt
delay = 0.0; // nachdem er sich geschlossen hat, wie lange der fahrstuhl nicht benutzbar ist
// achtung: aTime + dTime <= moveTime!
// better safe than sorry ;) (solange alle teile noch da sind)
while( isDefined( aufzug ) && isDefined( aufzug1 ) && isDefined( aufzug2 ) && isDefined( aufzug3 ) && isDefined( trig ) )
{
trig waittill( "trigger" );
aufzug moveTo( aufzug.endpos , moveTime , aTime , dTime );
aufzug1 moveTo( aufzug1.endpos , moveTime , aTime , dTime );
aufzug2 moveTo( aufzug2.endpos , moveTime , aTime , dTime );
aufzug3 moveTo( aufzug3.endpos , moveTime , aTime , dTime );
wait( moveTime + openTime );
aufzug moveTo( aufzug.startpos , moveTime , aTime , dTime );
aufzug1 moveTo( aufzug1.startpos , moveTime , aTime , dTime );
aufzug2 moveTo( aufzug2.startpos , moveTime , aTime , dTime );
aufzug3 moveTo( aufzug3.startpos , moveTime , aTime , dTime );
wait( moveTime + delay );
}
iPrintLn( "ERROR aufzug ist kaputt" );
} |