Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
11.11.2002, 23:16
Gaga



Hat jemand eine Idee, wie ich ein Licht erstellen kann, das, wenn der dazugehörige Button berührt wird, genau solange leuchtet, wie man den Button berührt. Oder wenigstens, dass das Licht von alleine nach kurzer Zeit wieder aus geht.
Der Optimalfall wäre so: Ich berühre den Schalter und das Licht geht an. Ich entferne mich wieder vom Schalter (berühre ihn nichtmehr) und das Licht geht wieder aus.

THX

--

zum Seitenanfang zum Seitenende Profil || Suche
001
12.11.2002, 02:08
Flann



Ich habe nicht nur eine Idee, ich weiß sogar wie es geht. Es ist nicht wirklich kompliziert - nur schwierig zu erklären.
Ich nehme an mit "berühren" meinst du "usen", falls nicht gäbe es eine einfachere Lösung.
Der Button wird ein momentary_rot_button, er hat den Nachteil das er sich dreht (machst halt einen Kippschalter draus oso), dies läßt sich auch nicht ändern. Dieser Button zielt auf zwei momentary_doors, und hat einen Auto-Return. Zwischen diesen momentary_doors befindet sich ein Pushable (nicht wirklich zwischen, sondern oben drauf geklemmt). Wird der Button gedrückt schieben die Momentaries das Pushable hin und her. In den Weg des Pushables wird jetzt noch ein trigger_multiple gestellt (mit entsprechendem Flag) der auf das light zielt.
So einfach ist das . . . :D
Ein kleines Problem ist es noch das Timing, das auch mit der größe der Brushes zu tun hat, aber das ist lösbar (ist mir auch gelungen ;).
Das funktioniert in jedem Fall im SP, ob es im MP auch funktioniert habe ich nie getestet, aber mir fällt so spontan kein Grund ein warum es nicht funktionieren sollte.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
12.11.2002, 12:35
Kallewirsch



.... ehhhh ..... JA !
(*whatever*)

... ich hab mir nich so genau durchgelesen, was Flann da geschrieben hat, aber mich hat er schon bei func_button_rotating absolut überrascht ... =)

Das mag alles so funktionieren & ich finde die schnelle & positive Reaktion gut, Flann, kein Disrespekt, nur ein anderer Weg :

Ganz normaler func_button, als Flag "touch activates" aktivieren.
Als "reset time" entweder 0 oder 1 (halt was Kleines). Der zielt auf einen MultiManager, der zwei Einträge hat : <lichtname>, 0 und <lichtname>, 2.
Dann würde das Licht vom Schalter angeschaltet & nach 2 sec vom MM wieder aus ... da muß du jetzt natürlich ein bisschen probieren - im Gegensatz zu Flann hab ich das noch nicht explizit so gemacht ... ;)

Sollte das ständigen An/Ausschalten nerven, dann mußt du halt auf "von alleine nach kurzer Zeit wieder aus geht" Variante zurückgreifen, dann halt im MultiManager eine größer Zeitspanne ... oder so ... =)

--

god is real - unless declared integer

zum Seitenanfang zum Seitenende Profil || Suche
003
12.11.2002, 13:27
Flann



Ich schrieb von einem momentary_rot_button. ;D
Bei deiner Methode müßte der Button immer wieder "geused" werden, bei meiner hält man die Taste einfach gedrückt - und wenn man sie losläßt geht das Licht wieder aus.
Und glaubs mir, ich weiß wovon ich schreibe . . . ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
004
12.11.2002, 13:57
Kallewirsch



Zitat:
Flann postete
Ich schrieb von einem momentary_rot_button. ;D
Bei deiner Methode müßte der Button immer wieder "geused" werden, bei meiner hält man die Taste einfach gedrückt - und wenn man sie losläßt geht das Licht wieder aus.
Und glaubs mir, ich weiß wovon ich schreibe . . . ;)

... hab ich nie bezweifelt, im Gegensatz zu mir hast du das Konstrukt ja schon mal gebaut ... =)

Die Flag "touch activates" bei der button entity sorgt aber dafür, daß ich eben KEINEN "use" machen muß - wenn ich den button berühre ist's geschehen ... :)

--

god is real - unless declared integer

zum Seitenanfang zum Seitenende Profil || Suche
005
12.11.2002, 14:56
Flann



Für den Fall das der Button nicht "geused" werden soll gibt es aber eine wesendlich bessere Methode (eine art Bewegungsmelder), die ich in einem anderen Forum schon mal beschrieben habe. Sie verwendet einen trigger_multiple, multimanager, trigger_relays und change_targets. Die Einstellungen dafür sind auf den ersten Blick nicht ganz einfach zu verstehen - dafür ist die Sache vielseitig anwendbar, absolut idiotensicher und Multiplayerfähig :D

Mit "touch activates" hättest du noch kleines Problemchen. Um den Button zu benutzen müßtest du immer gegen ihn laufen, bloßes davorstehenbleiben aktiviert ihn nicht - spieltechnisch gesehen etwas . . . erm unfein.
Desweiteren wird das Licht flackern, da der Multimanager erst seine Targets durchgeht (also das Licht wieder abschaltet) bevor er erneut ausgelöst werden kann. Dies läßt sich beheben, unzwar mit der oben angesprochenen Methode - nur das du dann keinen trigger_multiple, sondern diese umständliche Button/touch activates Geschichte als Auslöser benutzt.

Hat alles im allen eigendlich nicht wirklich was mit der Frage zu tun, ich bin davon ausgegangen (und gehe noch davon aus) das der Button "geused" werden soll - und dafür sind Momentaries ideal.
Die Momentary-Sache habe ich mir übigens aus dem alten HL-Uplink abgeguckt, da würde sie allerdings für etwas anderes verwendet . . . :)

--

zum Seitenanfang zum Seitenende Profil || Suche
006
12.11.2002, 22:20
Gaga



Vielen Dank schonmal für die Hilfe, aber ich habe wirklich gemeint, dass man den Button nur berühren muss, um das Lich anzumachen. Ich möchte die ganze Angelegenheit (wie Flann schon in Erwägung gezogen hat) als Bewegungsmelder einsetzen: Jemand betritt einen bestimmten Bereich des Bodens (den Button, der das Licht aktivieren soll), und ein Licht geht an. Weil man bei den stink-normalen Lichtern mit Schalter aber immer nocheinmal den Schalter benutzen muss (oder in meinem Fall eben darauflaufen bzw. berühren), geht das Licht nicht mehr aus, wenn ich von dem Button runtergehe. Ich möchte eigendlch nur noch, dass das Licht von alleine entweder sofort, oder nach wenigen Sekunden wieder aus geht, wenn ich den Button verlasse, bzw den bestimmten Bereich verlasse.
Ich denke ich werde ersmal Kallewirsch Tipp probieren, weil mir Flanns Erklärung ehrlich gesagt etwas zu hoch ist ;) . (Ich hab keine Ahnung was nen Multimanager und der andere Kram ist, aber ich denke ich werds rausfinden ;) ).
Wenn jetzt jemand noch was gutes einfällt, dann ist das natürlich trozdem noch willkommen.

THX

--

zum Seitenanfang zum Seitenende Profil || Suche
007
12.11.2002, 22:34
Flann



Hättest du das man gleich geschrieben, hättest du deine Antwort schon längst ;)
Das ist was damals dazu geschrieben habe (Bewegungsmelder):

Zitat:
Ich würde es so machen:
1x trigger_multiple
1x light
1x multimanager
3x trigger_relay
2x trigger_changetarget

Der trigger_multiple entspricht in seiner Größe der Zone die betroffen sein soll. Sein Target ist der Multimanager, wichtig ist noch der Delay before reset. Ich benutze hier den Beispielwert 2.

Multimanager:
Name: mm_alarm
Targets:
alarm_on / 0 (trigger_relay)
relay_empty / 0 (trigger_changetarget)
relay_full / 2.1 (<-der Wert muß größer als der Delay des trigger_multiples sein) (trigger_changetarget)
alarm_off_relay / 2.2 (<- siehe oben) (trigger_relay)

trigger_relay:
Name: alarm_on
Target: alarm (light)
Trigger State: on

trigger_relay:
Name: alarm_off_relay
Target: alarm_off (trigger_relay)
Delay before trigger: 2 (entspricht dem Delay des Multiples)
Trigger State: off

trigger_relay:
Name: alarm_off
Target: alarm (light)
Trigger State: off

trigger_changetarget:
Name: relay_empty
Target: alarm_off (trigger_relay)
bei New Target wird KEIN Eintrag vorgenommen

trigger_changetarget:
Name: relay_full
Target: alarm_off (trigger_relay)
New Target: alarm (light)

Ich hoffe ich habe mich nicht irgendwo verschrieben.
Die Methode ist zwar nicht von mir - aber trotzdem gut ;)
(...und "blinken" tut dann auch nichts :D)

/edit
Die Geschichte ist natürlich Multiplayerfähig (dafür wurde es entworfen), und falls es für CS sein soll ist das auch kein Problem - ein Reset ist nicht nötig, das tut diese Einstellung von selbst.

/edit2
So, mal ein bischen übersichtlicher gegliedert

--


Dieser Beitrag wurde am 12.11.2002 um 23:18 von Flann bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
12.11.2002, 23:06
Gaga



Ohh wow, mal sehen ob ich das hinbekomme.... sieht echt kompliziert aus ;) . Ich wollte davon ursprünglich eigendlich ziemlich viele in die map einbauen, aber ich glaub in dem Punkt muss ich umdenken ;)

Thx @ Flann

--

zum Seitenanfang zum Seitenende Profil || Suche