|
 |
2 scripts zusammenfügen |
|
|
Habe die Frage mal in den richtigen Bereich verschoben. Vllt. kannst Du auch hier mal etwas stöbern...
__________________

|
|
|
|
|
phoenix.84
Weichei
Dabei seit: 21.03.2015
Beiträge: 6

|
|
Genau sowas wolte ich machen. bekomme es nur nicht hin das mein portal danach ausgefürt wird.
|
|
|
|
|
serthy
Codemeister
  
Dabei seit: 29.07.2010
Beiträge: 628

|
|
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 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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von serthy: 23.03.2015 21:02.
|
|
|
|
|
phoenix.84
Weichei
Dabei seit: 21.03.2015
Beiträge: 6

|
|
Danke für die schnelle umsetztung,Nur bekomme ich leider script fehler in line 13
Code 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 ;-)
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von phoenix.84: 24.03.2015 14:57.
|
|
|
|
|
phoenix.84
Weichei
Dabei seit: 21.03.2015
Beiträge: 6

|
|
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 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.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von phoenix.84: 24.03.2015 17:00.
|
|
|
|
|
phoenix.84
Weichei
Dabei seit: 21.03.2015
Beiträge: 6

|
|
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.
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|