|
 |
2 targetnamen auf ein Objekt? |
Animus
Steuerzahler

Dabei seit: 29.04.2008
Beiträge: 198

|
|
|
|
|
|
Animus
Steuerzahler

Dabei seit: 29.04.2008
Beiträge: 198

|
|
10 trigger die random laufen sind in der map 4 davon sollen nur max. aktiv sein.
hier das script:
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:
|
#include maps\mp\_utility;
randomttrigger()
{
//get all triggers and switch them off
randomtrig = getentarray("randomtrigger","targetname");
for (i = 0; i < randomtrig.size; i++)
randomtrig[i] triggerOff();
// now randomly turn on 3 of them
level.t1 = randomintrange (1,randomtrig.size);
randomtrig[level.t1] triggerOn();
got_2nd = false;
while(!got_2nd)
{
level.t2 = randomintrange (1,randomtrig.size);
if (level.t2 != level.t1)
{
randomtrig[level.t2] triggerOn();
got_2nd = true;
}
}
got_3rd = false;
while(!got_3rd)
{
level.t3 = randomintrange (1,randomtrig.size);
if (level.t3 != level.t1 && level.t3 != level.t2)
{
randomtrig[level.t3] triggerOn();
got_3rd = true;
}
}
got_4rd = false;
while(!got_4rd)
{
level.t4 = randomintrange (1,randomtrig.size);
if (level.t4 != level.t1 && level.t4 != level.t3)
{
randomtrig[level.t4] triggerOn();
got_4rd = true;
}
}
} |
|
so nun hab ich aber alle trigger randomtrigger genannt und wenn ich eine funktion zuteilen will und zwar jeden eine andere geht das nicht da ja keiner die auseinander halten kann zumindest vom targetname. jeder trigger soll ein anderes script ausführen aber ich kann sie nicht unterscheiden.
--- Edit by Nightwing: Codetag eingefügt ---
EDIT:
könnte man die targetnamen wo ich randomtrigger benutze irgendwie in das script mit nummern einbauen? zb randomtrigger1 bis randomtrigger10 und da immer 4 davon auswählen lassen? hab aber keine ahnung wie...! kann mir da jemand weiter helfen ohne diese scripte is meine map relativ sinnlos weil ich the cube zero gebaut habe und die türscripts schon laufen was schon viel arbeit war.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Animus: 02.02.2010 16:25.
|
|
|
|
|
|
|
Ganz ehrlich, ich weiß immer noch nicht, was du genau vorhast.
Was machen die 4 trigger genau?
Und was passiert, wenn 4 andere gewählt werden, triggern die was ganz anderes oder die gleichen Dinge die auch 4 andere trigger (wenn sie gewählt würden) machen würden?
Deine Beschreibung ist so ungenau, das man da überhaupt keinen passenden Ansatz für eine Lösung finden kann. Es bringt ja nichts, wenn man dir hier jetzt einen Lösungsvorschlag macht, er aber gar nicht zu deinem schlecht formulierten Problem passt?
Dann fängt man wieder von vorne an und hat womöglich wieder was, was nicht passt.
Mann muss schon vorher wissen was jeder deiner 10 trigger machen soll (egal ob sie jetzt 'on' oder 'off' sind.
Das 4 an sein sollen und dann irgendwas passieren soll reicht als Erklärung einfach nicht.
__________________
Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.
|
|
|
|
|
|
|
Wozu brauchst du jetzt dafür jeweils 2 Trigger?
Die damage_trigger würden doch vollkommen ausreichen.
10 damage_trigger setzen, alle den gleichen targetname. Dann alle 10 erst einmal ausschalten und dann 4 über random wieder ein, fertig.
Und selbst mit deinen zwei triggern bräuchtest du keine zwei targetnames.
Der der damage_trigger wird per weld funktion ('w' taste im radiant mit dem Damagetrigger verbunden, und wenn dann noch ein script_brushmodel angesteuert werden soll, verbindest du das mit dem damage_trigger.
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:
|
#include maps\mp\_utility;
randomttrigger()
{
//get all triggers and switch them off
randomtrig = getentarray("randomtrigger","targetname");
for (i = 0; i < randomtrig.size; i++)
randomtrig[i] triggerOff();
// now randomly turn on 3 of them
level.t1 = randomintrange (1,randomtrig.size);
randomtrig[level.t1] triggerOn();
damage_trig1 = getent( randomtrig[level.t1].target, "targetname");
scriptmodel1 = getent (damage_trig1.target, "targetname" );
got_2nd = false;
while(!got_2nd)
{
level.t2 = randomintrange (1,randomtrig.size);
if (level.t2 != level.t1)
{
randomtrig[level.t2] triggerOn();
damage_trig2 = getent( randomtrig[level.t2].target, "targetname");
scriptmodel2 = getent (damage_trig1.target, "targetname" );
got_2nd = true;
}
}
got_3rd = false;
while(!got_3rd)
{
level.t3 = randomintrange (1,randomtrig.size);
if (level.t3 != level.t1 && level.t3 != level.t2)
{
randomtrig[level.t3] triggerOn();
damage_trig3 = getent( randomtrig[level.t3].target, "targetname");
scriptmodel3 = getent (damage_trig3.target, "targetname" );
got_3rd = true;
}
}
got_4rd = false;
while(!got_4rd)
{
level.t4 = randomintrange (1,randomtrig.size);
if (level.t4 != level.t1 && level.t4 != level.t3)
{
randomtrig[level.t4] triggerOn();
damage_trig4 = getent( randomtrig[level.t4].target, "targetname");
scriptmodel4 = getent (damage_trig4.target, "targetname" );
got_4rd = true;
}
}
} |
|
__________________
Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von OLD MAN WITH GUN: 02.02.2010 20:06.
|
|
|
|
|
Animus
Steuerzahler

Dabei seit: 29.04.2008
Beiträge: 198

|
|
hab ich am anfang auch gedacht aber sobald du den trigger im raum berührst fällst du einfach um un weißt nicht wo es her kam. stellt man den trigger auf weniger merkt man das man dort sterben kann und verlässt den raum und weiß auch nicht warum man dort schaden nimmt.
am ende wird es bestimmt so werden wenn es nicht geht aber ich hätte wie geschrieben oben noch ein script am laufen das man weiß warum man stirbt(spitzen aus boden, gas, wasser.....).
das mit den 2 trigger hab ich oben gemacht damit der player schon im raum ist und nicht an der tür umfällt und in den raum reinstürzt 100% dmg.
edit: ich teste das mal
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Animus: 02.02.2010 20:12.
|
|
|
|
|
Animus
Steuerzahler

Dabei seit: 29.04.2008
Beiträge: 198

|
|
zu 1.
es gibt 10 trigger die ranom laufen sollen also 4 davon sind aktiv.
diese 4 sollen jeweils 1 der mit ihnen verbunden ist(anders gehts ja nicht) einen trigger_hurt aktivieren(damit der player schaden nimmt) wiederum soll dabei ein script ausgelöst werden(zb. aufzugscript = spitzen aus dem boden oder rauch = gas oder regen = säure).
zu 2.
ja jeder trigger soll nur einen bestimmten trigger_hurt aktivieren und ein script
zu 3.
es gibt pro raum nur einen trigger_hurt
zu 4.
das ist ja das problem, dadurch das es randomtrigger sind haben sie ja den selben targetname. wenn jemand den randomtrigger berührt soll der dazugehörige trigger_hurt(verbunden mit w) aktiviert werden und gleichzeitig ein script(was an dem trigger_hurt als targetname hängt).
also so wie ich das jetzt beschrieben habe wer es optimal, wenn das machbar ist? das einzige was funktioniert sind im moment die randomtrigger, nur können diese keinen anderen trigger auslösen(die anderen sind immer aktiv). auch kann(habs gester mit allen trigger getestet) kein trigger einen anderen auslösen der ein script ansteuert(das script auslösen). ich hoffe das ist jetzt besser zu verstehen, hab immer so ein sprunghaftes denken. mir zu folgen bei wenig info die ich gebe, ist mir bekannt das das schwierig ist sorry dafür. wer wirklich große klasse wenn dir was bekannt ist wie man das lösen kann!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Animus: 09.02.2010 16:16.
|
|
|
|
|
Animus
Steuerzahler

Dabei seit: 29.04.2008
Beiträge: 198

|
|
kann mir keiner helfen?
oder gibt es jemand der eine andere lösung hat?
es handelt sich um diese map hier vieleicht hilft das um eine vorstellung davon zu bekommen.
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|