Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty 4 » Call of Duty 4 - Mapping » CoD4-Mapping-Hilfe » Hilfe bei Cod4 Script (Jump Pads) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Hilfe bei Cod4 Script (Jump Pads)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Saladir
Weichei


Dabei seit: 03.01.2013
Beiträge: 5


Hilfe bei Cod4 Script (Jump Pads) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen,

da ich nicht mehr weiter weiss, suche ich nun Hifle in eurem Board (extra dafür Angemeldet^^)

Ich habe hier ein Cod4 Script welches den Spieler in die Luft Springen lässt (wie bei Sonic diese Sprungfedern)

Jedoch bekomme ich es nicht hin das Script einzubauen. Hab schon alles versucht doch sobald ich auf den besagten Trigger Springe/laufe etc passiert nichts. kein Console Error garnichts.

Hoffe jemand kann mir helfen und vllt ne kleine Anleitung dazu wie ichs genau in die Map einbauen muss, bin am verzweifeln unglücklich

Das Script:

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:
speed( trigger )
{
if( !isDefined( trigger ) )
return;

while(1)
{
trigger waittill( "trigger", player );
iPrintLnBold("^1JUUUMMMPPP");
if( isDefined( player.speed ) )
continue;
player thread PushPlayer( trigger );
}
}

PushPlayer( trigger )
{
self endon("disconnect");

self.speed = true;

if(distance(trigger.origin, self.origin) > 400)
{
self freezeControls(true);
wait 0.1;
self freezeControls(false);
}

else
{
target = getEnt(trigger.target, "origin_speed");
speed = int(strTok(trigger.script_noteworthy, ",")[0]);

self.health = 1000000;
self.maxhealth = 1000000;

self thread adminOff(); //Ignorieren
setDvar("g_knockback", (speed*9)-3000);
self finishPlayerDamage(self, self, (speed*9)-3000, 0, "MOD_FALLING", "deserteaglegold_mp", trigger.origin, (trigger.origin - target.origin), "head", 0);
wait 0.05;
setDvar("g_knockback", level.knockback);

trigger playSound(strTok(trigger.script_noteworthy, ",")[1]);

self notify("admin_on");

self.health = 100;
self.maxhealth = 100;
}

while(self isTouching(trigger))
wait 0.05;

self.speed = undefined;
}



Der Trigger: (wird weiter oben in meiner gsc angesprchen daher nutze ich ihn nicht als eigenen Thread)

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
speed = getentarray("speed1","targetname");

if(isdefined(speed))
{
for(i = 0;i < speed.size;i++)
{
speed thread speed();
}
}



Hoffe jemand kann helfenunglücklich

mfg
Saladir ist offline Beiträge von Saladir suchen Nehmen Sie Saladir in Ihre Freundesliste auf
bangingbernie
Alter Sack ;-)


images/avatars/avatar-1034.jpg


Dabei seit: 20.05.2005
Beiträge: 2.372


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielleicht hilft das weiter: www.opferlamm-clan.de/wbb2/thread.php?threadid=10868

__________________

bangingbernie ist offline E-Mail an bangingbernie senden Homepage von bangingbernie Beiträge von bangingbernie suchen Nehmen Sie bangingbernie in Ihre Freundesliste auf
Saladir
Weichei


Dabei seit: 03.01.2013
Beiträge: 5


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nicht wirklich da mein Script komplexer ist als nur Origin Punkten nach zu fliegen

beim Normalen Jump Pad "fliegt" man ja die Origin Punkte ab welche man eingebaut hat, bei meinem Script Springt man und kann entscheiden wohin man fliegt bzw landet (also Freie wahl als würde man normal auf "leertaste" springen). Hab auch weiter versucht aber scheitere einfach...unglücklich
Saladir ist offline Beiträge von Saladir suchen Nehmen Sie Saladir in Ihre Freundesliste auf
serthy
Codemeister


images/avatars/avatar-104.jpg


Dabei seit: 29.07.2010
Beiträge: 628


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

habs für mich mal etwas übersichtlicher geschrieben

füge einfach ein paar iprintln's zum testen ein, z.B. wird die jetzt "trigger undefined" angezeigt, wenn ein trigger fehlt

kannst auch bei deinem aufruf das so machen:
foreach( trigger in triggerarray )
level.players[0] setOrigin( trigger.origin );

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:
speed( trigger )
{
	while( isDefined( trigger ) )
	{
		trigger waittill( "trigger" , player );

		iPrintLnBold("^1JUUUMMMPPP");

		if( isDefined( player.speed ) )
			continue;

		player thread PushPlayer( trigger );
	}

	iPrintLn( "trigger undefined!" );
}
 
PushPlayer( trigger )
{
	self endon( "disconnect" );
 
	self.speed = true;
 
	if( distanceSquared( trigger.origin , self.origin ) > 400 * 400 )
	{
		self freezeControls( true );

		wait( 0.1 );

		self freezeControls( false );
	}
	else
	{
		target = getEnt( trigger.target , "origin_speed" );
		speed = 3000;

		if( isDefined( trigger.script_noteworthy ) )
		{
			tok = strTok( trigger.script_noteworthy , "," );
			speed = int( tok[0] );
		}

		speed = ( speed * 9 ) - 3000 );

		self.health = 1000000;
		self.maxhealth = 1000000;
 
		self thread adminOff(); //Ignorieren

		setDvar( "g_knockback" , speed );
		self finishPlayerDamage( self , self , speed , 0 , "MOD_FALLING" , "deserteaglegold_mp" , trigger.origin , ( trigger.origin - target.origin ) , "head" , 0 );
		
		wait( 0.05 );

		setDvar( "g_knockback" , level.knockback );
 
		if( isDefined( trigger.script_noteworthy ) )
		{
			tok = strTok( trigger.script_noteworthy , "," );
			trigger playSound( tok[0] );
		}

		self notify( "admin_on" );
 
		self.health = 100;
		self.maxhealth = 100;
	}
 
	while( isDefined( self ) && self.sessionstate == "playing" )
	{
		if( !self isTouching( trigger ) )
			break;

		wait( 0.05 );
	}
 
	self.speed = undefined;
}

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 05.01.2013 11:12.

serthy ist offline E-Mail an serthy senden Beiträge von serthy suchen Nehmen Sie serthy in Ihre Freundesliste auf
Saladir
Weichei


Dabei seit: 03.01.2013
Beiträge: 5


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also habs mal mit deinem Script Versucht und bin etwas weiter gekommen

btw: Dein Script hat nen Schreibfehler ^^

Zitat:

speed = ( speed * 9 ) - 3000 );

///////////////
speed = (( speed * 9 ) - 3000 );



Jedoch bekomme ich nun ne Meldung

Zitat:

dvar set g_knockback 24000

******* script runtime error *******
undefined is not a field object: (file 'maps/mp/mp_dr_sonic.gsc', line 165)
player finishPlayerDamage( player , player , speed , 0 , "MOD_FALLING" , "" , trigger.origin , ( trigger.origin - target.origin ) , "" , 0 );
*
Error: called from:
(file 'maps/mp/mp_dr_sonic.gsc', line 12cool
player thread speed(trigger, player);
*
Error: started from:
(file 'maps/mp/mp_dr_sonic.gsc', line 125)
trigger waittill("trigger", player);
*
Error: ************************************
dvar set com_errorTitle Fehler
dvar set com_errorMessage script runtime error
(see console for details)
undefined is not a field object
Could not find menu 'main'

******* script runtime error *******
pair '(-1743, -2461, -1006)' and 'undefined' has unmatching types 'vector' and 'undefined': (file 'maps/mp/mp_dr_sonic.gsc', line 165)
player finishPlayerDamage( player , player , speed , 0 , "MOD_FALLING" , "" , trigger.origin , ( trigger.origin - target.origin ) , "" , 0 );
*
Error: called from:
(file 'maps/mp/mp_dr_sonic.gsc', line 12cool
player thread speed(trigger, player);
*
Error: started from:
(file 'maps/mp/mp_dr_sonic.gsc', line 125)
trigger waittill("trigger", player);
*
Error: ************************************
dvar set com_errorTitle Fehler
dvar set com_errorMessage script runtime error
(see console for details)
pair '(-1743, -2461, -1006)' and 'undefined' has unmatching types 'vector' and 'undefined'
Could not find menu 'main'
dvar set ui_healthbar 0.981
dvar set g_knockback 1000
dvar set com_errorMessage
dvar set com_errorMessage
dvar set com_isNotice 0
Could not find menu 'main'
quitting...
----- CL_Shutdown -----


Hoffe jemand kann helfen, oder mach ich grundsätzlich was bei den trigger targetnames falsch?

Hier mal wie ich vorgehe

trigger_multipl > "targetname" "speed1"

dann erstelle ich nen script origin und platziere den etwas weiter über den trigger und verbinde ihn mit dem trigger "w"

Das wars doch schon oder irre ich mich da oO?

mfg
Saladir ist offline Beiträge von Saladir suchen Nehmen Sie Saladir in Ihre Freundesliste auf
Saladir
Weichei


Dabei seit: 03.01.2013
Beiträge: 5


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Weiß den niemand rat....solange ich das net hinbekomm kann ich die map net fertig machen und würde es doch so gerne noch bis zum Montag* fertig machen unglücklich

mfg

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Saladir: 04.01.2013 21:40.

Saladir ist offline Beiträge von Saladir suchen Nehmen Sie Saladir in Ihre Freundesliste auf
serthy
Codemeister


images/avatars/avatar-104.jpg


Dabei seit: 29.07.2010
Beiträge: 628


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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:
140:
141:
142:
143:
144:
145:
146:
main()
{
	setupJumppads();

	if( isDefined( level.jumppads ) && level.jumppads.size )
	{
		for( i = 0 ; i < level.jumppads.size ; i++ )
		{
			pad = level.jumppads[i];

			if( !isDefined( pad ) )
				continue;

			spawnJumppad( pad.origin , pad.angles , pad.height , pad.radius , pad.dirPos , pad.model , pad.power , pad.sound );
		}
	}

	jumppads = getEntArray( "jumppad" , "targetname" );

	if( isDefined( jumppads ) && jumppads.size )
	{
		for( i = 0 ; i < jumppads.size ; i++ )
		{
			pad = jumppads[i];

			if( !isDefined( pad ) )
				continue;

			pad thread monitorUsage();
		}
	}
}

setupJumppads() //3 als beispiel
{
	precacheModel( "xmodel/serthy_buildzone" );							//falls model erwünscht, unbeding precachen! sonst crasht der server

	level.jumppads = [];											// ganz wichtig! muss zuerst stehen!

	level.jumppads[level.jumppads.size] = spawnStruct();						//muss immer zuerst stehen bei jedem neuen jumppad
	level.jumppads[level.jumppads.size - 1].origin = ( -1993 , 2939 , 100 );		//wo?
	level.jumppads[level.jumppads.size - 1].angles = ( 0 , 0 , 0 );				//winkel?
	level.jumppads[level.jumppads.size - 1].height = 32;						//trigger höhe
	level.jumppads[level.jumppads.size - 1].radius = 64;						//trigger radius
	level.jumppads[level.jumppads.size - 1].dirPos = ( -2001 , 292 , 132 );			//richtung, sollte im bereich von +/- 50 neben dem origin sich befinden: origin + ( 50 , -30 , 32 )
	level.jumppads[level.jumppads.size - 1].model = "xmodel/serthy_buildzone";		//damit man es erkennt? muss precached werden!!!
	level.jumppads[level.jumppads.size - 1].power = 2;						//wie stark das jumppad ist
	level.jumppads[level.jumppads.size - 1].sound = "minefield_click";			//sound welcher abgespielt wird

	level.jumppads[level.jumppads.size] = spawnStruct();						//minimale anforderungen
	level.jumppads[level.jumppads.size - 1].origin = ( 2342 , 123 , 73 );			//minimale anforderungen

	level.jumppads[level.jumppads.size] = spawnStruct();						//minimale anforderungen
	level.jumppads[level.jumppads.size - 1].origin = ( 3434 , 32 , -17 );			//minimale anforderungen
}

spawnJumppad( origin , angles , height , radius , dirPos , model , power , sound )
{
	if( !isDefined( radius ) )		radius = 64;
	if( !isDefined( height ) )		height = 32;
	if( !isDefined( angles ) )		angles = ( 0 , 0 , 0 );

	jumppad = spawn( "trigger_radius" , origin , 0 , radius , height );
	jumppad.angles = angles;
	jumppad.targetname = "jumppad";
	jumppad.jumpSound = sound;
	jumppad.power = power;

	if( isDefined( model ) )
	{
		jumppad.vis = spawn( "script_model" , origin );
		jumppad.vis setmodel( model );
	}

	if( isDefined( dirPos ) )
		jumppad.dir = vectorNormalize( dirPos - origin );
}

monitorUsage()
{
	if( isDefined( self.target ) )
	{
		target = getEnt( self.target , "targetname" );

		if( isDefined( target ) )
		{
			self.dir = vectorNormalize( self.target.origin - self.origin );
			self.target delete();
		}
	}

	if( isDefined( self.script_noteworthy ) )
	{
		tokens = strTok( self.script_noteworthy , "," );
		self.power = tokens[0];
		self.jumpSound = tokens[1];
	}

	while( isDefined( self ) )
	{
		wait( 0.05 );

		self waittill( "trigger" , player );

		if( !isDefined( player.isOnJumppad ) )
			self bouncePlayer( player , self.power , self.dir );
	}
}

bouncePlayer( player , power , dir )
{
	player endon( "disconnect" );

	player.isOnJumppad = undefined;

	if( isDefined( self.jumpSound ) && self.jumpSound != "" )
		self playSound( self.jumpSound );

	if( !isDefined( dir ) )
		dir = ( 0 , 0 , 1 );

	if( !isDefined( power ) )
		power = 1;

	player iPrintLnBold( "Yippieeeh!" );

	while( isDefined( self ) && isDefined( player ) )
	{
		if( player.sessionstate != "playing" )
			break;
		else if( !player isTouching( self ) )
			break;

		power = int( player.maxhealth * power );
		health = player.health;
		player.health += power;

		player finishPlayerDamage( self , self , power , 0 , "MOD_PROJECTILE" , "none" , self.origin , dir , "none" , 0 );

		player.health = health;

		wait( 0.05 );
	}

	player.isOnJumppad = undefined;
}



entweder jumppads per hand einfügen wie im beispiel (setupJumppads()-funktion) oder im radiant:
trigger erstellen
K/V: targetname/jumppad
K/V: script_noteworthy/<power>,<sound>
script_origin erstellen
trigger auswählen, script_origin auswählen >>> W

sieht dann so aus:
>>>Klick mich<<<

wobei der teddy nur da ist um zu sehen in welche richtung man springt

Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von Nightwing: 05.01.2013 11:13.

serthy ist offline E-Mail an serthy senden Beiträge von serthy suchen Nehmen Sie serthy in Ihre Freundesliste auf
Hippie
Turnbeutelvergesser


images/avatars/avatar-1568.gif


Dabei seit: 23.11.2008
Beiträge: 303


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von Saladir
Weiß den niemand rat....solange ich das net hinbekomm kann ich die map net fertig machen und würde es doch so gerne noch bis zum Montag* fertig machen unglücklich


Da du derjenige bist der auf Antworten hofft, darfst du etwas mehr Geduld aufbringen.
Die Leute hier hocken nicht alle halbe Stunde an den Rechner um dir zu posten Augenzwinkern

Grüße
Hippie ist offline Beiträge von Hippie suchen Nehmen Sie Hippie in Ihre Freundesliste auf
Saladir
Weichei


Dabei seit: 03.01.2013
Beiträge: 5


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von 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:
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:
140:
141:
142:
143:
144:
145:
146:
main()
{
	setupJumppads();

	if( isDefined( level.jumppads ) && level.jumppads.size )
	{
		for( i = 0 ; i < level.jumppads.size ; i++ )
		{
			pad = level.jumppads[i];

			if( !isDefined( pad ) )
				continue;

			spawnJumppad( pad.origin , pad.angles , pad.height , pad.radius , pad.dirPos , pad.model , pad.power , pad.sound );
		}
	}

	jumppads = getEntArray( "jumppad" , "targetname" );

	if( isDefined( jumppads ) && jumppads.size )
	{
		for( i = 0 ; i < jumppads.size ; i++ )
		{
			pad = jumppads[i];

			if( !isDefined( pad ) )
				continue;

			pad thread monitorUsage();
		}
	}
}

setupJumppads() //3 als beispiel
{
	precacheModel( "xmodel/serthy_buildzone" );							//falls model erwünscht, unbeding precachen! sonst crasht der server

	level.jumppads = [];											// ganz wichtig! muss zuerst stehen!

	level.jumppads[level.jumppads.size] = spawnStruct();						//muss immer zuerst stehen bei jedem neuen jumppad
	level.jumppads[level.jumppads.size - 1].origin = ( -1993 , 2939 , 100 );		//wo?
	level.jumppads[level.jumppads.size - 1].angles = ( 0 , 0 , 0 );				//winkel?
	level.jumppads[level.jumppads.size - 1].height = 32;						//trigger höhe
	level.jumppads[level.jumppads.size - 1].radius = 64;						//trigger radius
	level.jumppads[level.jumppads.size - 1].dirPos = ( -2001 , 292 , 132 );			//richtung, sollte im bereich von +/- 50 neben dem origin sich befinden: origin + ( 50 , -30 , 32 )
	level.jumppads[level.jumppads.size - 1].model = "xmodel/serthy_buildzone";		//damit man es erkennt? muss precached werden!!!
	level.jumppads[level.jumppads.size - 1].power = 2;						//wie stark das jumppad ist
	level.jumppads[level.jumppads.size - 1].sound = "minefield_click";			//sound welcher abgespielt wird

	level.jumppads[level.jumppads.size] = spawnStruct();						//minimale anforderungen
	level.jumppads[level.jumppads.size - 1].origin = ( 2342 , 123 , 73 );			//minimale anforderungen

	level.jumppads[level.jumppads.size] = spawnStruct();						//minimale anforderungen
	level.jumppads[level.jumppads.size - 1].origin = ( 3434 , 32 , -17 );			//minimale anforderungen
}

spawnJumppad( origin , angles , height , radius , dirPos , model , power , sound )
{
	if( !isDefined( radius ) )		radius = 64;
	if( !isDefined( height ) )		height = 32;
	if( !isDefined( angles ) )		angles = ( 0 , 0 , 0 );

	jumppad = spawn( "trigger_radius" , origin , 0 , radius , height );
	jumppad.angles = angles;
	jumppad.targetname = "jumppad";
	jumppad.jumpSound = sound;
	jumppad.power = power;

	if( isDefined( model ) )
	{
		jumppad.vis = spawn( "script_model" , origin );
		jumppad.vis setmodel( model );
	}

	if( isDefined( dirPos ) )
		jumppad.dir = vectorNormalize( dirPos - origin );
}

monitorUsage()
{
	if( isDefined( self.target ) )
	{
		target = getEnt( self.target , "targetname" );

		if( isDefined( target ) )
		{
			self.dir = vectorNormalize( self.target.origin - self.origin );
			self.target delete();
		}
	}

	if( isDefined( self.script_noteworthy ) )
	{
		tokens = strTok( self.script_noteworthy , "," );
		self.power = tokens[0];
		self.jumpSound = tokens[1];
	}

	while( isDefined( self ) )
	{
		wait( 0.05 );

		self waittill( "trigger" , player );

		if( !isDefined( player.isOnJumppad ) )
			self bouncePlayer( player , self.power , self.dir );
	}
}

bouncePlayer( player , power , dir )
{
	player endon( "disconnect" );

	player.isOnJumppad = undefined;

	if( isDefined( self.jumpSound ) && self.jumpSound != "" )
		self playSound( self.jumpSound );

	if( !isDefined( dir ) )
		dir = ( 0 , 0 , 1 );

	if( !isDefined( power ) )
		power = 1;

	player iPrintLnBold( "Yippieeeh!" );

	while( isDefined( self ) && isDefined( player ) )
	{
		if( player.sessionstate != "playing" )
			break;
		else if( !player isTouching( self ) )
			break;

		power = int( player.maxhealth * power );
		health = player.health;
		player.health += power;

		player finishPlayerDamage( self , self , power , 0 , "MOD_PROJECTILE" , "none" , self.origin , dir , "none" , 0 );

		player.health = health;

		wait( 0.05 );
	}

	player.isOnJumppad = undefined;
}



entweder jumppads per hand einfügen wie im beispiel (setupJumppads()-funktion) oder im radiant:
trigger erstellen
K/V: targetname/jumppad
K/V: script_noteworthy/<power>,<sound>
script_origin erstellen
trigger auswählen, script_origin auswählen >>> W

sieht dann so aus:
>>>Klick mich<<<

wobei der teddy nur da ist um zu sehen in welche richtung man springt


Perfekt! Genau sowas habe ich gesucht und werde es umgehend Testen. Vielen Vielen Dank <3

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Saladir: 05.01.2013 23:56.

Saladir ist offline Beiträge von Saladir suchen Nehmen Sie Saladir in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 4 » Call of Duty 4 - Mapping » CoD4-Mapping-Hilfe » Hilfe bei Cod4 Script (Jump Pads)

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv