Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
18.02.2008, 01:00
LukasW



Hallo zusammen,
ich habe mir eine Kamerafahrt gebaut so ähnlich wie in diesem Tutorial beschrieben:
http://www.thewall.de/content/half-life_2:tutorials:kamerafahrten

Also ein point_viewcontrol (das irgendwo hinguckt) und einen func_button, der als Output bei "On`Pressed" eingetragen hat, dass das point_viewcontrol aktiviert wird.
Wie kann ich nun dieses Viewcontrol wieder unterbrechen (also wenn der Player noch einmal USE drückt)?
Das ganze soll wie ein Kamera-Monitor System arbeiten, so dass man quasi in den Monitor guckt wenn man in benutzt und wieder aufhört wenn man noch einmal use drückt.
Geht das irgendwie?

--

The box said "WinXP or better". So I installed Linux.

zum Seitenanfang zum Seitenende Profil || Suche
001
18.02.2008, 15:51
Nic_b



häng doch die Kamera an einen func_tracktrain, den du mit dem Button aktivierst. Dann brauchst du den point_viewcontrol nicht. Ausserdem ist der Player dann nicht gebunden während er guckt.

Ansonsten k.A.

MfG

--

zum Seitenanfang zum Seitenende Profil || Suche
002
18.02.2008, 18:54
Night Wolf



Das ginge vermutlich wenn du beim Monitor zwei Outputs machst.

Onin -> point_viewcontrol -> enable
Onout -> point_viewcontrol -> diesblae

Beim "Reset Delay" musst du noch -1 eintragen und in den Flags "Toggle" anhaken. Und "Dont move" bietet sich auch an, damit der Button nicht abhaut, während der Spieler nicht hinguckt. :D

--

Muh sag ich da!
----------------------
All das ist thewall: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |


Dieser Beitrag wurde am 18.02.2008 um 18:54 von Night Wolf bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
18.02.2008, 19:23
Richman
Moderator


Das Problem dabei ist nur, dass wenn der Spieler sich (aus versehen) Bewegt währen er in die Kamera guckt, kann er den Button nicht mehr finden (weil er ja nicht sieht, wie er sich bewegt).
Und wenn du das Flag "freeze player" beim viewcontrol aktivierst, kann er afaik nichts mehr benutzen.

Du könntest versuchen, den Spieler über ein game_ui zu freezen, so dass dessen Eingaben direkt abgefangen werden. Nur schade das du da +USE nicht abfangen kannst. Aber vielleicht reicht es, wenn es nur den Spieler blockiert. Da du ja bei diesem Entity das +USE aktiv lassen kannst, so dass der Spieler schön vor dem Button gefreezed wird und nur noch diesen Benutzen kann.

--

Richman's Hazardous Course - Status: 100% !!!
www.richmans-maps.ch.vu - wieder online!

zum Seitenanfang zum Seitenende Profil || Suche
004
18.02.2008, 23:30
LukasW



Richman hat recht, das mit dem point_viewcontrol funktioniert nur, wenn man freeze_player ausschaltet. Eine Lösung ist eine toggle Zone, die beim verlassen das point_viewcontrol deaktiviert.

Aber das mit dem game_ui hört sich gut an, das werd ich mal probieren!

PS: func_tracktrain? Wie genau soll das gehen? Soll ich meinen Player mit einem Zug durch die gegend schicken? Im Multiplayer?

--

The box said "WinXP or better". So I installed Linux.

zum Seitenanfang zum Seitenende Profil || Suche
005
19.02.2008, 21:46
LukasW



Perfekt!
Habe eine super funktionierende Lösung (auch wenn sie etwas umständlich ist):

1. Ein func_button mit Flags Don't move, Toggle, Use Activates und als Output
OnPressed: branch_toggle | Test

2. Ein logic_branch (branch_toggle) mit Initial value=1 und Outputs
OnTrue: point_viewcontrol | Enable
OnTrue: game_ui | Aktivate
OnTrue: logic_timer | ResetTimer
OnTrue: logic_timer | Enable
OnTrue: branch_disable | SetValue | 1
OnTrue: branch_toggle | SetValue | 0 | Delay 0.01
OnFalse: point_viewcontrol | Disable
OnFalse: game_ui | Deactivate
OnFalse: branch_disable | SetValue | 0
OnFalse: branch_toggle | SetValue | 1 | Delay 0.01

3. ein logic_branch (branch_disable) mit Initial value=0 und Outputs
OnFalse: logic_timer | Disable | Delay 0.01
OnTrue: logic_timer | Disable | Delay 0.01
OnTrue: branch_toggle | Test
Dieser branch ist nur aktiviert, solange der point_viewcontrol aktiv ist und wird benötigt um einen Abbruch durch den Timer zu realisieren. Deaktiviert man das viewcontrol mit dem Button, wird dieser branch deaktiviert, der Timer deaktiviert sich beim aufruf nur noch selber.

4. ein logic_timer mit Refire Interval=5,Start Disabled=Yes und Output
OnTimer: branch_disable | Test

5. ein game_ui mit Flags Freeze Player, Jump Deaktivates

6. ein point_viewcontrol mit Flag Infinite Holdtime

Die Sache mit dem Counter und den Branches ist notwendig, da wenn man die Holdtime des point_viewcontrols nutzt der player wegen des game_ui gefreezed bleibt. Habe keine einfachere Lösung gefunden.
Dafür kann man diese hier auch für andere Sachen nehmen die zu triggern sind die nach einer Zeit automatisch ausgehen, aber auch "AUS-getriggert" werden können.

--

The box said "WinXP or better". So I installed Linux.


Dieser Beitrag wurde am 19.02.2008 um 21:47 von LukasW bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
19.02.2008, 22:09
Night Wolf



Alternativ könntest du auch beim game_ui den "FieldOfView" so einstellen, dass es automatisch ausgeht, wenn der Spieler den Button nicht mehr drücken könnte. Dann könnte alles mögliche mit "PlayerOff" getriggert werden. Eventuell gilt dieser Output auch, wenn der Spieler das game_ui mit Benutzen/Springen deaktiviert.

--

Muh sag ich da!
----------------------
All das ist thewall: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

zum Seitenanfang zum Seitenende Profil || Suche
007
20.02.2008, 01:37
LukasW



Ja, aber das passiert ja auch, wenn der player gerade im point_viewcontrol ist...

--

The box said "WinXP or better". So I installed Linux.

zum Seitenanfang zum Seitenende Profil || Suche