PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Teleport, den keiner mitkriegt? (Wie soll ich es formulieren?)



eXPoser
24.10.2012, 17:52:12
Hey Leute :)
Ich brauche mal wieder eine "kleine" Hilfestellung von euch :D
Und zwar baue ich gerade mit 2 Kollegen eine Map, in der man durch einen Tunnel gehen muss (siehe Bild).
Und zwar soll man durch diesen Tunnel gehen, aber da es zu schwer ist den Durchgang zu bauen, haben wir uns für nen Teleport entschieden.
Aber irgendwie kriege ich es nicht hin, ich möchte das man teleportiert wird, aber das halt irgendwie nicht mitbekommt, also man geht in den Tunnel, kommt auch wieder aus nem Tunnel raus. Aber ich weiß nicht wie ich diesen Teleport so machen kann, das man den nicht mitkriegt...
Ich hoffe ihr wisst was ich meine! :)

P.S. Ich würde alles mögliche verändern das es hinkommt! :)

4547

Ricetlin
24.10.2012, 17:54:41
Gar nicht, da man für einen Teleport einen Zielpunkt festlegen muss.
Und da dieser, jeh nach Bewegungsmuster des Spielers nicht auf am gleichen Standpunkt wie der Spieler sein kann, wird der Spieler auch feststellen das er teleportiert wurde. Oder er interpretiert es als Lag, auf jeden Fall wird er etwas merken ;)

Was du suchst ist ein nahtloser Levelübergang/Levelwechsel, dieser ist aber in CS nicht machbar sondern nur bei in Singleplayer Titeln.
Zumindest wüsste ich nicht wie man das hinbekommt, wenn doch korrigiert mich bitte.

EZ-one
24.10.2012, 17:59:46
Ich fürchte das ist fast unmöglich. Das Problem das ich sehe ist, dass man wenn man auf den Teleport-Trigger trifft man zu einem bestimmten Teleport-Destination-Punkt kommt und dadurch eben nicht unbedingt an der selben Stelle raus kommt, an der man in den Teleporter hineingelaufen ist. Man könnte viele kleine Trigger bauen mit jeweils eingenen Destination-Punkten, aber trozdem, könnte man dann etwas zur Seite springen wenn man durch den Tunnel läuft, also würde man den Teleport bemeken.

Warum bekommt ihr den Durchgang nicht hin? Wo liegt das Problem?

Edit: da war Ricetlin (http://mappingbase.de/members/37-Ricetlin) wohl schneller o.O

Josch
24.10.2012, 18:01:36
Aber vielleicht können wir dir helfen, den Durchgang zu bauen ;)
Warum ist es denn zu schwer? Das kann ich mir irgendwie nicht vorstellen!

Edit: da war EZ-one (http://mappingbase.de/members/36-EZ-one) wohl schneller o.O

eMo
24.10.2012, 18:12:38
Bei Portal 2 gibt es ein Entity, das eine Art unsichtbaren Übergang ermöglicht.
Es müsste info_landmark sein und dazu gab es hier, glaube ich, auch mal ein Video.
Leider ist das weder für Source, noch für CS:GO implementiert. :/
ABER von der Engine-Version aus könntest du mal versuchen, die beiden Entities aus der Portal2.fgd zu kopieren und in der CS:GO.fdg (genaue Namen habe ich natürlich nicht im Kopf) einzufügen, um zu sehen, ob die Engine für CS:GO das trotzdem richtig interpretieren kann.
In Gold-Src gab es so nämlich einen Workaround für Nebel in 1.6, wenn mich nicht alles täuscht ;)

EDIT: Ich glaube info_landmark ist das falsche Entity.
Ah, there it is:
http://wiki.mappingbase.de/w/Worldportals_erstellen

Leider wird das vermutlich dann auch mit dem Workaround nicht funktionieren, weil vermutlich die Engine nicht weiß, wie es dieses Entity interpretieren soll :(

BaShoR
24.10.2012, 20:23:08
Zitat vom Valve-Wiki (https://developer.valvesoftware.com/wiki/Trigger_teleport)

trigger_teleport is a brush entity (https://developer.valvesoftware.com/wiki/Brush_entity) available in all Source games. It is a trigger (https://developer.valvesoftware.com/wiki/Trigger) that teleports entities (https://developer.valvesoftware.com/wiki/Entity) that touch its volume.

Entities are teleported to the Remote Destination, and have their angles set to that of the Remote Destination's.
If a Local Destination Landmark is specified, teleported entities are offset from the target by their initial offset from the landmark, and their angles are left alone.


Nie benutzt, aber geben tut es das, das weiß ich auch.

Theoretisch solltest du bei dem Menü-Punkt einfach ein target (ggf. info_target) angeben können.

Ricetlin
24.10.2012, 20:49:53
Theoretisch solltest du bei dem Menü-Punkt einfach ein target (ggf. info_target) angeben können.

Ne ein info_teleport_destination oder ähnlich

BaShoR
24.10.2012, 20:50:56
Ist beim landmark soweit ich weiß entweder falsch oder egal.

Ricetlin
24.10.2012, 21:29:21
Achso, ne stimmt, ich war noch bei der Teleport Destination.
Für Local destination landmark gibts aber ein eigenes Entitie, wird auch bei oben genannten Levelübergang benutzt.

Gu4rdi4n
24.10.2012, 22:42:54
was natürlich möglich wäre, ganz viele teleports vor dem tunnel und nach dem tunnel in einer reihe als "wand" zu platzieren.

Dann merkt man nicht so viel davon, weil man ja immernoch in etwa an der gleichen position steht!

BaShoR
24.10.2012, 22:46:52
Guardian, lies doch oben die Beiträge, es gibt eine GENAUE Lösung ;)

Gu4rdi4n
25.10.2012, 07:25:49
Jo, aber es ist eine alternative und nichts anderes wollte ich hier reinschreiben ;)

hat die lösung oben denn schon jemand getestet?

und wenn du ein Target angibst, dann ist das doch auch statisch, sprich man merkt, dass man plötzlich nicht mehr links steht sondern in der mitte z.B. ?

Oder regelt der offset das so, dass man einfach beispielsweise an der selben stelle, nur 2000 units weiter weg rauskommt?

BaShoR
25.10.2012, 09:26:09
Nein, das Target entspricht dann der Mitte des Teleportbrushes und die Spieler werden rund um es herum platziert, zumindest dem Text aus dem Valvewiki nach und wenn man annehmen kann, dass es nach dem selben Prinzip wie in L4D funktioniert.

Gu4rdi4n
25.10.2012, 11:06:55
ja, aber dann merkt der spieler doch trotzdem dass er plötzlich an einer anderen stelle steht?!

Dann wäre meine Methode doch viel "präziser"

Ricetlin
25.10.2012, 11:24:47
Nein eben nicht.
Was in L4D und den anderen Spielen gemacht wird ist ein nahtloser Übergang, der nur durch den Ladevorgang unterbrochen wird.
Es wird keine Position ausgetauscht und gar nichts. Der Offset nimmt die Entfernungen/die Position des Spielers von Entitie A und übermittelt diese auf Entitie B in der neuen Map.

Nur wird es in den Spielen natürlich nicht mit einem Teleport gemacht sondern info_changelevel oder ähnlichen, daher kann ich nicht genau sagen wie das mit einem Teleport innerhalb der selben Map funktioniert.
Aber rein von der eleganten Lösungsweise her hat BashoR recht. Du natürlich auch aber das ist halt nicht präzise und dazu noch ressourcenfressend.

Edit: Ich probiers jetzt mal aus.

Gu4rdi4n
25.10.2012, 11:47:46
Also nur um es zu verstehen

Links ist Bashors lösung, welche wie ich finde absolut nicht päzise ist.

Rechts ist meine, die den Spieler 1:1 auf die andere seite der wand setzt (schwarze balken sollen der Eingang und ausgang des Tunnels sein)

http://www.abload.de/img/unbenanntfeqfx.png

Dann ist doch meins viel präziser o_0

Außerdem verbrauchen Teleporter kaum ressourcen wenn ich mich recht erinnere.

Josch
25.10.2012, 11:53:48
Warum stellst du die Offsets denn nur so klein dar? Die wird doch als Distanz von Spieler beim Betreten des Triggers zu dessen Ursprung gemessen und dann so auf die Destination übertragen, oder?
Sprich, wenn ich 200 units links neben dem Ursprung des Triggers in jenen hineinlaufe, komme ich auch 200 units links neben der Destination wieder raus, oder etwa nicht?

Gu4rdi4n
25.10.2012, 11:56:45
Genau das ist meine Frage!

Ich habe es so verstanden, dass der Offset die distanz angibt, in der der Spieler zum Target entfernt spawnt, um nicht in anderen Spielern zu stecken.

Sprich, jeder spieler wird z.B. 100 units entfernt vom target rund herum gespawnt.

Wenn es so ist wie du es beschreibst, dann ist das tatsächlich eine perfekte Lösung für das Problem!

Ricetlin
25.10.2012, 11:58:39
Nein ist es immer noch nicht. Du kannst einen solchen Teleport entweder auf BashoR´s Art lösen mit nur 3 Entities oder du machst es auf deine Weise welche mehr Entities benötigt und dessen Teleportvorgang man auch bemerken wird.

Der Teleporter nimmt sobald der Spieler den Teleporter betritt die Entfernung des Spielers von dem info_landmark (welches denn Offset an den Teleporter übergibt wo der Spieler in den Teleporter eingetreten ist). Diesen Offset übergibt er an das teleport_destination und das spawnt den Spieler wieder genau an der selben! Stelle wie wo er sie betretten hat.
Es funktioniert wie eine Endlosschleife oder die Portals bei Portal, du kommst genau so raus wie du reingekommen bist.

Hier meine funktionstüchtige Beispielmap.
Zur Kontrolle habe in hinter dem PlayerSpawn in beide Räume jeweils ein paar Entities gesetzt um festzustellen in welchen Raum man sich gerade befindet, also beim Start in Raum 1, nach dem Teleport in Raum 2.

Edit: Zu langsam

Josch
25.10.2012, 12:41:23
Bin auf Arbeit, kanns mir jetzt nicht direkt anschauen - aber deine Map ist jetzt direkt für CSS? Sprich - das Entity funktioniert auch in anderen Source-Games?

Ricetlin
25.10.2012, 12:57:31
Es funktioniert in allen Sourcegames und ja CSS

eXPoser
25.10.2012, 16:26:29
Wisst ihr wie man die Wand aussehen lassen kann, als wäre sie noch meilenweit entfernt? hahah! :)

Ricetlin
25.10.2012, 16:38:51
Entweder machst du die Wand in die 3D-Skybox so dass die Wand viel weiter Weg erscheint als sie in der 3D-Skybox tatsächlich ist oder du benutzt eine Kamera (http://wiki.mappingbase.de/w/Source_Engine_Kameras_und_Monitor). (für letzteres muss man vorher die hl2.fgd in den Hammer laden, wenn die Map für CSS sein soll).
Ich empfehle das erste.

Mike
25.10.2012, 19:33:35
Schade das die linked_portal_door -die sogenannten "World Portale" aus Portal 2- nicht in jedem Source Game vorkommen. Damit kann man nicht nur unbemerkt teleportiert werden, sondern man kann dort eben auch wie durch eine Tür hindurch, das Teleporterziel sehen. Damit lassen sich wirklich unglaublich Fantastische Sachen machen. Leider eben nur in Portal 2 :/

Ricetlin
25.10.2012, 19:45:03
Du kannst auch einfach wie auf Seite 1 beschrieben, einen Teleporter machen und von Raum B das Bild auf einen Monitor, mittig des Teleporters, in Raum A übertragen und umgekehrt solange du immer die Kamera deaktivierst die nicht gebraucht wird.
Dürfte dann ziemlich genau das gleiche bei rumkommen, nur das man halt ein paar mehr Entities in CSS braucht als in Portal ;)

Edit:
Hier mal in aufwendigen Artwork dargestellt
In Raum B die Seiten nicht beachten, da soll die Wand komplett Schwarz bleiben.

Und genauso kann man es halt auch ermöglichen das man von Raum B auch wieder zurück in Raum A kommt und auch was von Raum A sieht und damit die Illusion bestehen bleibt der Spieler befindet sich in einem großen Raum obwohl er es in Wirklichkeit zwei kleine sind.

4550

Mike
25.10.2012, 19:56:29
Dürfte dann ziemlich genau das gleiche bei rumkommen...
Leider eben nicht, denn das Kamerabild ist statisch und man würde darauf schauen, wie auf ein Bild. Durch die linked_portal_door Entitys kann man hindurchschauen wie durch ein Fenster. Wenn man sich bewegt, dann bewegt sich auch der Blickwinkel auf das Ziel mit.

Ricetlin
25.10.2012, 19:58:19
Hrmm, damm stimmt das hab ich nicht beachtet.
Naja gut, dann geht es leider natürlich nicht. :)