2 scripts zusammenfügen

phoenix.84
Guten tag ich bastel seit geraumer zeit an stargates maps,
nun möchte ich gerne eine portal script mit nen elevator script Kombinieren nun bin ich leider nicht so helle was scripten angeht!
mein elevator script soll 5 ringe von unten nach oben bewegen sind die ringen oben angekommen soll mein portal script aktiviert werden

ELEVATOR 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:
main()
{
	level.elevatorDown = true; // elevator starts at bottom: true/false
	level.elevatorMoving = false; // elevator is not currently moving
	thread elevator_start();
}

elevator_start()
{
	elevator = getentarray ("elevatorswitch","targetname");
	if ( isdefined(elevator) )
	for (i = 0; i < elevator.size; i++)
	elevator[i] thread elevator_think();
}

elevator_think()
{
	while (1)
	{
		self waittill ("trigger");
		if (!level.elevatorMoving)
		thread elevator_move();
	}
}

elevator_move()
{
	elevatormodel = getent ("elevatormodel", "targetname");
	level.elevatorMoving = true;
	speed = 2; // speed of elevator – higher value = slower
	height = 70; // distance in worldunits for elevator to go on z-axis
	wait (1);
	if (level.elevatorDown)
	{
		elevatormodel playsound ("elevator1"); // name in soundaliases csv
		wait (1);
		elevatormodel moveZ (height, speed);
		elevatormodel waittill ("movedone");
		level.elevatorDown = false;
	}
	else
	{
		elevatormodel playsound ("elevator1");
		wait (1);
		elevatormodel moveZ (height - (height * 2), speed);
		elevatormodel waittill ("movedone");
		level.elevatorDown = true;
	}
	level.elevatorMoving = false;
}



PORTAL 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:
main()
{

entTransporter = getentarray("enter","targetname");
if(isdefined(entTransporter))
{
for(lp=0;lp<entTransporter.size;lp=lp+1)entTransporter[lp] thread Transporter();
}


}


Transporter()
{
while(true)
{
self waittill("trigger",other);
entTarget = getent(self.target, "targetname");

wait(6.10);
other setorigin(entTarget.origin);
other setplayerangles(entTarget.angles);
wait(6.10);
}
}



Könnte mir jamand da behilflich sein?

MFG: phoenix.84
phoenix.84
Kann mir echt keiner Helfen?

Also wen ich den trigger schalter aktiviere dann soll mein elevator zu der position hoch fahren den ich angegeben habe,dann soll das zweite script ausgelöst werden! was ein portal script ist.
nur bekomme ich leider beide scripts nicht in einer gsc rein.

PS: an besten über use trigger.
Deichgraf
Hallo Du,

hab bitte noch ein wenig Geduld. Wir haben hier durchaus Leute, die dir wahrscheinlich helfen können. Leider ist es um "CoD" sehr ruhig geworden, sodass nicht alle jeden Tag hier reinschauen (nicht mehr jeden Tag hier reinschauen).

Ich selbst kann dir dabei leider nicht helfen, sonst hätte ich es Sofort getan. Sorry!

Gruß
Deichi
bangingbernie
Habe die Frage mal in den richtigen Bereich verschoben. Vllt. kannst Du auch hier mal etwas stöbern...
serthy
phoenix.84

Zitat:

Original von serthy
sowas hier? http://de.xfire.com/video/3c12e4/


Genau sowas wolte ich machen. bekomme es nur nicht hin das mein portal danach ausgefürt wird.
serthy
Hier, ist aber nur mit 1 Ring
ich hoff das passt alles, hab seit sehr langer Zeit nichts mit dem Map-Editor gemacht
und kA ob alle Fehler raus sind, kan es wie gesagt nicht testen

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:
/*
Im Radiant:
- Portal-Ring Model (oder Brushmodel) auf Boden setzen
- key/value von 'sg_portal_trigger'/'targetname' geben
- Trigger darein platzieren
- script_origin im Ziel platzieren
- 1. Ring auswählen, 2. Trigger auswählen, 3. [W] drücken (Pfeil von Ring zum Trigger sollte erscheinen, 'target' von Ring sollte automatisch 'targetname' vom Trigger entsprechen)
- alles abwählen, 1. Trigger auswählen, 2. Ziel (script_origin) auswählen, 3. [W] drücken (Pfeil erscheint wieder)

                             +--------+
                             |        |
                             |        |  <--- Trigger
                             |        |
                             +--------+
-------------------------[================]---------------------------- Boden
                             Portalring
*/

init()
{
	sg_portal_name = "sg_portal_trigger";
	sg_portals = getEntArray( sg_portal_name , "targetname" );

	if( !isDefined( sg_portals ) || !sg_portals.size )
	{
		iPrintLn( "Keine Portale mit key: 'targetname' -> value: '" + sg_portal_name + "' gefunden!" );

		return;
	}

	for( iter = 0 ; iter < sg_portals.size ; iter++ )
	{
		portal_model = sg_portals[ iter ];

		if( !isDefined( portal_model.target ) )
		{
			iPrintLn( "Portal bei " + portal_model.origin + " wurde kein Trigger zugewießen!" );

			continue;
		}

		portal_trigger = getEnt( portal_model.target , "targetname" );

		if( !isDefined( portal_trigger ) )
		{
			iPrintLn( "Zugewießener Trigger bei " + portal_model.origin + " konnte nicht gefunden werden!" );

			continue;
		}
		else if( !isDefined( portal_trigger.target ) )
		{
			iPrintLn( "Trigger bei " + portal_trigger.origin + " wurde kein Ziel zugewießen!" );

			continue;
		}

		portal_target = getEnt( portal_trigger.target , "targetname" );

		if( !isDefined( portal_target ) )
		{
			iPrintLn( "Zugewießenes Ziel von Trigger bei " + portal_trigger.origin + " konnte nicht gefunden werden!" );

			continue;
		}

		level thread sgPortalThink( portal_model , portal_trigger , portal_target );
	}
}

sgPortalThink( portal_model , portal_trigger , portal_target )
{
	while( true )
	{
		wait( 0.05 );

		portal_trigger waittill( "trigger" , player );

		iPrintLnBold( player.name + " hat Portal betreten" );

		startPos = portal_model.origin;
		height = 70;
		endPos = startPos + ( 0 , 0 , height );
		moveTime = 5.0;

		portal_model moveTo( endPos , moveTime , moveTime / 2 , moveTime / 2 );

		wait( moveTime  - 0.05 );

		if( isDefined( player ) && player.sessionstate == "playing" )
		{
			iPrintLnBold( player.name + " wird zu " + portal_target.origin + " teleportiert" );

			player setOrigin( portal_target.origin );
			player setPlayerAngles( portal_target.angles );
		}

		portal_model moveTo( startPos , moveTime , moveTime / 2 , moveTime / 2 );

		wait( moveTime  - 0.05 );
	}
}



kannst natürlich bissl mit rumspielen, damits so cool aussieht wie im video
Deichgraf
Na was hab ich gesagt? Uns Serthy macht das schon grosses Grinsen
phoenix.84
Danke für die schnelle umsetztung,Nur bekomme ich leider script fehler in line 13

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

code:
1:
	for( iter = 0 ; iter < sg_portals.size ; iter++ )




PS ich hatte vergessen zu erwähnen das ich für cod uo Mappe ;-)
serthy
Für UO kann ich Dir leider nicht weiterhelfen, kenn mich nur mit CoD2 und jünger aus, kann aber nochmal drüberschauen wenn Du was geschrieben hast
phoenix.84
Es gibt eine map für cod uo die heist mp_uo_island_madness_II
dort sind auch ringe die aber von oben kommen und dannach dich porten,hir ist ein script davon.

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:
main() {

  level thread Init_Triggers();
  level thread Ring_Porter1();

}


Init_Triggers() {

  trigent = getentarray ("tele","targetname");
  if (isdefined(trigent))
  {
    for(x = 0 ; x < trigent.size ; x ++)
      trigent[x] thread Triggers_Handler();
  }
}



Triggers_Handler() {
  while (1)
  {
      self waittill ("trigger", other);
      dest = getentarray(self.target,"targetname");
      rand = randomInt(dest.size);
      other playsound("woosh");
      wait(.2);
      other setorigin(dest[rand].origin);
  }
}

Ring_Porter1()
{
   home = getent("tp1_top","targetname");
   r1 = getent("tp1_1","targetname");
   r2 = getent("tp1_2","targetname");
   r3 = getent("tp1_3","targetname");
   r4 = getent("tp1_4","targetname");
   r5 = getent("tp1_5","targetname");

   tp1_trig = getent("tp1_trig","targetname");
   
   r1.origin = home.origin;
   
   while(1)
   {
      tp1_trig waittill("trigger",other);
      other setorigin((tp1_trig.origin)-(0,0,40));
      other linkto(tp1_trig);
      other playsound("tele_call");
      
      wait 1;
      
      r1 moveZ (-121,.5,0,0);
	   r1 waittill ("movedone");
      r1 playsound("rings_down");
      
      r2 moveZ (-110,.5,0,0);
	   r2 waittill ("movedone");
      r2 playsound("rings_down");
      
      r3 moveZ (-99,.5,0,0);
	   r3 waittill ("movedone");
      r3 playsound("rings_down");
   
      r4 moveZ (-88,.5,0,0);
	   r4 waittill ("movedone");
      r4 playsound("rings_down");
   
      r5 moveZ (-77,.5,0,0);
	   r5 waittill ("movedone");
      r5 playsound("rings_down");

      dest = getentarray(tp1_trig.target,"targetname");
      rand = randomInt(dest.size);
      other playsound("woosh");
      wait .3;
      other unlink(tp1_trig);
      other setorigin(dest[rand].origin);

      //wait 5;  //-----------------------for testing only
	  
      r5 moveZ (77,.5,0,0);
	   r5 waittill ("movedone");
      r5 playsound("rings_up");

      r4 moveZ (88,.5,0,0);
	   r4 waittill ("movedone");
      r4 playsound("rings_up");

      r3 moveZ (99,.5,0,0);
	   r3 waittill ("movedone");
      r3 playsound("rings_up");

      r2 moveZ (110,.5,0,0);
	   r2 waittill ("movedone");
      r2 playsound("rings_up");

	   r1 moveZ (121,.5,0,0);
	   r1 waittill ("movedone");
      r1 playsound("rings_up");

	   wait 3;
	   
   }
}




Ich versuche gerade meine ringe + trigger und origin im radianten anzupassen ich weis nur nicht genau ob ich das auch schaffe,den aus nem script abzulesen und in radie überdragen ist für mich nicht so einfach. danke schöhn für deine hilfe.



PS: so wie ich das jetzt zulest gepostet habe funktioniert es teil ich gehe rein ringe kommen runter und er portet mich aller dings zu früh,aber ich denke das liegt dasran das ich ein trigger vergessen habe im script sind zwei^^ mal schauen ob ich oder du es hinbekommst.
phoenix.84
so soweit geht alles mann stelt sich auf die platform du wirst positioniert ringe kommen hoch und dann wirst du geportet wie es auch sein soll!
allerdings wen ich mich auf die platform stelle dann kann ich selbst nicht sehen das die ringe hochkommen,und der jeninge der mir zuschaut wie ich mich auf die platform stelle kann mich dierekt danach nicht sehen erst wen ich geportet worde,allerdings solte es so sein ich stelle mich auf die plattform dann muss ich die ringe selbst hochkommen sehen und dan geportet werden und der zuschauer darf mich erst verschwinden sehen wen ich nachdehm die ringe oben sind und dann geportet werde.

Download PK3+map

Wäre echt super wenn mir jemand dabei helfen könnte.