Teleporter Guid

Loveboy
Hallo Leute,
Ich suche ein Teleporter mit Guid.

Falls ihr einen habt dann bitte im script diese GUID´s eingeben:

0 1689738 1143187 336381

PS: bitte für den script den namen geben (mp_trigger_.....)
und was ich in radiant eingeben muss usw.
UND WAS ICH NOCH IN mp_trigger.gsc eingeben muss (maps\mp\....)


!!!!!!!!!DANKE!!!!!!!!!!!
serthy
im Anhang das nochmal als Datei

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:
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:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


														TELEPORTER SCRIPT


	-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	|	Parameter	   Beschreibung									Typ					Beispiel				dringend erforderlich			|
	-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	|	pos		~> Wo befindet sich der Teleporter? 					( x , y , z )			( 7 , 8 , 9 )			ja						|
	|	targetPos	~> Wohin soll man teleportiert werden? 					( x , y , z )			( 1 , 2 , 3 )			ja						|
	|	targetDir	~> Die Blickrichtung nach dem Teleportieren? 				( pitch , yaw , roll )		( 0 , 90 , 0 )			nein						|
	|	useTouch	~> Muss [F] gedrückt werden um den Teleporter zu aktivieren? 	true/false				true					nein (default: false)			|
	|	actionFunc	~> Was soll mit dem Spieler passieren der teleportiert wurde? 	::functionPointer			mod\_file::func			nein						|
	|	guidArray	~> Nur für bestimmte GUIDS erlauben? array der Guids? 		array					guidArray				nein						|
	|	targetname	~> Targetname für identifizierung des Teleporters? 			string				"teleporter_eingang"		nein (default: "trigger_teleport")	|
	|	radius	~> Radius des Teleporter-Trigger? 						floating number			32.0					nein (default: 32)			|
	|	height	~> Height des Teleporter-Trigger? 						floating number			64.0					nein (default: 64)			|
	-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

	- falls einige Parameter nicht gesetzt sind, immer ein <undefined> eintragen!

	- einige Beispiele hier: 

		1.
			spawnTeleporter( ( 1050 , 326 , 16 ) , ( 1208 , 470 , 36 ) );

		2.
			spawnTeleporter( ( 1050 , 326 , 16 ) , ( 1208 , 470 , 36 ) , undefined , true , undefined , level.secret_guids );

		3.
			points = getEntArray( "mp_tdm_spawn" , "classname" );
			point = points[randomInt( points.size )];
			spawnTeleporter( point.origin , point.origin + ( 0 , 0 , 100 ) );

		4.
			points = getEntArray( "mp_tdm_spawn" , "classname" );
			spawnTeleporter( points[randomInt( points.size )].origin , points[randomInt( points.size )].origin , undefined , false );

		5.
			start = getEnt( "teleporter_start" , "targetname" );
			end = getEnt( "teleporter_end" , "targetname" );
			spawnTeleporter( start.origin , end.origin , end.angles );

		6.	spawnTeleporter( ( 100 , 736 , -16 ) , ( 928 , 443 , 32 ) , ( 0 , 189 , 0 ) , true , ::onPlayerTeleport , level.secret_guids );

			(Beispiel actionFunc)

			onPlayerTeleport()
			{
				if( isDefined( self ) && isPlayer( self ) )
				{
					self iPrintLnBold( "WHOOOOOOOOOOOOOSHHHH.........\nYou have been teleported" );
					self playLocalSound( "teleport" );
				}
			}
	
			functionPointer wäre dann:
				- wenn actionFunc in der selben Datei ist
						::onPlayerTeleport
				- wenn actionFunc NICHT in der selben Datei ist
						ordnername1\ordnername2\dateiname::onPlayerTeleport
			

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */


main()
{
	level.secret_guids = [];
	level.secret_guids[level.secret_guids.size] = 012345;
	level.secret_guids[level.secret_guids.size] = 235423;
	level.secret_guids[level.secret_guids.size] = 657432;
	level.secret_guids[level.secret_guids.size] = 645631;
}

spawnTeleporter( pos , targetPos , targetDir , useTouch , actionFunc , guidArray , targetname , radius , height )
{
	if( !isDefined( pos ) || !isDefined( targetPos ) )
		return;

	if( !isDefined( radius ) )		radius = 32;
	if( !isDefined( height ) )		height = 64;
	if( !isDefined( targetname ) )	targetname = "trigger_teleport";
	
	level thread teleporterThink( pos , targetPos , targetDir , useTouch , actionFunc , guidArray , targetname , radius , height );
}

teleporterThink( pos , targetPos , targetDir , useTouch , actionFunc , guidArray , targetname , radius , height )
{
	trigger = spawn( "trigger_radius" , pos + ( 0 , 0 , height / 2 ) , 0 , radius , height );
	trigger.targetname = targetname;
	trigger.targetPos = targetPos;
	trigger.targetDir = targetDir;
	trigger.actionFunc = actionFunc;
	
	isGuid = isDefined( guidArray ) && guidArray.size;
	useTouch = isDefined( useTouch ) && useTouch;
	pGuid = 0;

	for( validPlayer = true ; isDefined( trigger ) ; validPlayer = true )
	{
		trigger waittill( "trigger" , player );

		if( !isDefined( player ) || !isPlayer( player ) || !isAlive( player ) )
			continue;

		if( useTouch && !player useButtonPressed() )
			continue;

		if( isGuid )
		{
			pGuid = player getGuid();
			validPlayer = false;

			for( i = 0 ; i < guidArray.size ; i++ )
			{
				if( pGuid != guidArray[i] )
					continue;

				validPlayer = true;

				break;
			}
		}

		if( !validPlayer )
			continue;

		player setOrigin( trigger.targetPos );

		if( isDefined( trigger.targetDir ) )
			player setPlayerAngles( trigger.targetDir );

		if( isDefined( trigger.actionFunc ) )
			player thread [[trigger.actionFunc]]();
	}
}



EDIT:
dazu braucht man nichts im Radiant machen, es lassen sich auch Teleporter in schon vorhandene Maps einfügen