Türscript Problem

DjTranceFire
Hey Leute..
Habe bei meiner neuen Map mal ein paar Türen eingebaut welche man öffnen und schließen kann. Das grundprinzip klappt auch wunderbar, das Problem entsteht aber leider dadurch das man die Tür von beiden Seiten öffnen und schließen können soll. Auf beiden Seiten der Tür kann man sie öffnen und schließen, jedoch nur wenn man auch im selben Trigger bleibt. Steht man aber z.B. im Haus und öffnet die Tür, geht dann raus und will sie von da aus schließen, öffnet sie sich nochmal und ist dann statt um 90° um 180° offen. Kennt vielleicht jemand von euch das Problem und hat eine Lösung dafür? :x

Momentan benutze ich dieses Script:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
main(){ doortriggers = getentarray("doortrig","targetname"); for(i = 0; i < doortriggers.size;i++) doortriggers[i] thread door_think();}door_think(){ self.doormoving = false; self.doorclosed = true; self.doormodel = getent(self.target, "targetname"); while (1) { self waittill("trigger"); if(!self.doormoving) self thread door_move(); }}door_move(){ self.doormoving = true; if(self.doorclosed) { self.doormodel rotateyaw(-90,1,0.5,0.5); self.doormodel waittill("rotatedone"); self.doorclosed = false; } else { self.doormodel rotateyaw(90,1,0.5,0.5); self.doormodel waittill("rotatedone"); self.doorclosed = true; } self.doormoving = false;}

serthy

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
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:
main()
{ 
	doortriggers = getEntArray( "doortrig" , "targetname" );

	if( isDefined( doortriggers ) && doortriggers.size )
	{
		for( i = 0 ; i < doortriggers.size ;i++ )
		{
			if( isDefined( doortriggers[i] ) )
				doortriggers[i] thread door_think();
		}
	}
}

door_think()
{
	self.doormoving = false; 
	self.doorclosed = true;
	self.oldangles = self.angles;
	self.doormodel = getEnt( self.target , "targetname" ); 

	while( isDefined( self ) && isDefined( self.doormodel ) ) 
	{
		self waittill( "trigger" ); 

		if( !self.doormoving )
			self thread door_move();
	}
}

door_move()
{
	self.doormoving = true;

	if( self.doorclosed )
	{
		self.doormodel rotateyaw( -90 , 1 , 0.5 , 0.5 );
		self.doormodel waittill( "rotatedone" );
		self.doorclosed = false; 
	}
	else
	{
		self.doormodel rotateyaw( 90 , 1 , 0.5 , 0.5 );
		self.doormodel waittill( "rotatedone" );
		self.doorclosed = true;
	}

	self.doormoving = false;
}


erstmal übersichtlicher Augenzwinkern
DjTranceFire
Ist der Code von dir jetzt nur übersichtlicher oder behebt er auch direkt den Fehler? Zunge raus Kanns leider grad nicht ausprobieren deswegen die dumme Frage..^^
bangingbernie
Schau mal hier rein: [Tutorial] Öffnende Tür erstellen *

Da findest Du jede Menge Skripts (z.B. auch für eine automatisch schließende Tür).
DjTranceFire
Danke, aus dem Thread hab ich das ganze ja.. grosses Grinsen
Nur wird in dem Thread mein Problem nicht wirklich gelößt.
Ich denke das es daran liegt das ich für eine Tür zwei Trigger verwende.
Wäre es möglich den Trigger einfach durch die Tür durch zu ziehen so das man von beiden Seiten den selben Trigger benutzt? Das wäre nämlich die Lösung! smile Dann gehts ja nur auf oder zu und nicht 2x auf... Oder gibt das am Ende Probleme? Würds grad ausprobieren aber bin leider unterwegs und aufm Laptop gibts nix zum mappen.. grosses Grinsen Müsst ich eigentlich mal ändern! Freu
serthy
2 trigger? dann erklärt es auch dein problem grosses Grinsen
nimm einfach einen :p
DjTranceFire
Ja aber kann man Problemlos einen Trigger einfach durch ein Objekt durchziehen?^^
Weil der würde dann ja direkt durch die Tür gehen...
serthy
was ist daran denn so schlimm? ^^