.| Autor | Beitrag |
|---|---|
|
000 01.12.2000, 15:02 BSE_crid |
Ich hab' folgendes Problem: ich verwende die HL-Engine für ein Projekt an der Uni. Dabei geht es darum, zu mehreren Leuten im Netzwerk gleichzeitig in einer Map die "Architektur" zu verändern. Konkret sieht das momentan so aus, daß mehrere Leute gleichzeitig eine größere Menge "Kisten" in der Gegend rumschiebt. Klingt erstmal recht prinitiv, aber dabei geht's eher um das Prinzip der Interaktivität, als um schicke Optik. Das Problem dabei ist: man kann die Lage der Kisten nie abspeichern. Sobald man die Map neu startet, ist das "Ergebnis" der vorangegangenen Verschiebeaktion verloren. Welcher Coder hier ist so genial, und kann den Multiplayer-Modus so umkrempeln/ergänzen, daß man auch im Multiplayer-Modus abspeichern kann? Die Spielerpositionen sind dabei komplett egal, sie würden bei einem erneuten Start der Map einfach wieder an den respawn-Points erscheinen. Wichtig wäre es, die Lage der Kisten zu speichern. BITTE BITTE seid genial!!!! ;-) --[BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
001 01.12.2000, 15:25 user3427 |
Kann man nicht einfach aus der MP.dll heraus in eine Datei auf der Platte des Servers schreiben? Dann ließe sich ganz einfach beim Neustart alles wieder gelesen werden. -- |
|
Profil || Suche |
|
002 01.12.2000, 16:55 BSE_crid |
....ich muß zugeben, daß ich von der ganzen Sache so gut wie überhaupt keine Ahnung habe...ich müßte mich da so ziemlich komplett auf Euch Cracks verlassen. Deshalb sagt mir Dein Post erstmal nicht wirklich viel...trotzdem vielen Dank. Weitere Meinungen sind natürlich absolut willkommen. --[BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
003 01.12.2000, 17:20 dp Administrator |
da würde ich mal im coding forum von wavelenght fragen, da gibts viele geniale glaub ich. prefect den ich für genial halte aber z.z. nicht da ist will sowas glaube ich auch bei hl repulse einbauen. http://dynamic.gamespy.com/~wavelength/ubb/forumdisplay.cgi?action=topics&forum=Coding&number=3&DaysPrune=&LastLogin=
|
|
Profil || Suche |
|
004 01.12.2000, 19:18 TheTinySteini |
Pühhh. Hmm. Ich denk jetzt einfach mal laut:
Ich guck mal was nach...
TheTinySteini |
|
Profil || Suche |
|
005 02.12.2000, 00:56 user3427 |
Ließe sich die Speicherfunktion nicht dadurch improvisieren, dass man die Position aller Entities (in diesem Fall wohl nur der Kisten) einfach in einer Datei abspeichert (auf dem Server)? Dann müsste man die nachher nur laden und die Kisten wieder an die Position setzen. -- |
|
Profil || Suche |
|
006 02.12.2000, 01:14 Masterstroke |
Öhmm....Also ich denke, es ist schon zu machen, das wäre dann halt ein Mod für Half-Life...
Also, da ich denke, das es ein bestimmtes Entity ist, das du immer nimmst, sollte man einfach zuerst: Alle Entitys dieser Art suchen und deren Koordinaten in einer einfachen Datei, kann ja eine .txt-Datei sein, speichern.
Naja, bei jedem Start einer Map müsse dann die .dll kurz schaun, ob eine Textdatei existiert und diese dann verarbeiten, oder nicht... Naja, die jetzige Idee benutzt zwar noch keine Multi-Speicherfunktion, also mit mehreren Speicherplätzen, kann man aber natürlich noch hinzufügen, bzw. auch einfach die Text-Dateien rückkopieren, umkopieren... Also, ich denke es ist nicht utopisch :) Und meine Idee ist wirklich zu realisieren!
Masterstroke |
|
Profil || Suche |
|
007 02.12.2000, 03:34 BSE_crid |
.....das läßt mich ja alles schon mal etwas hoffen... Gibt's vielleicht auch jemanden, der so was programmieren kann? Wiegesagt: ich hab nicht den blassesten Schimmer vom Coding.... ;-) --[BSE] crid Compile-Errors-Artikel (Version 09-01) http://www.crid.de oder http://www-public.tu-bs.de:8080/~y0009981/ |
|
Profil || Suche |
|
008 02.12.2000, 14:36 apfelkorn |
botman? -- |
|
Profil || Suche |
|
009 06.12.2000, 17:37 Prefect-Eire |
botman?? Also, die normale Speicherfunktion funktioniert so: Auf irgendeine Art und Weise (z.B. das autosave, was Masterstroke erwaehnt hat) wird innerhalb der Engine der Speicheralgorithmus ausgeloest. Die Engine ruft dann der Reihe nach die Save()-Funktion von jeder Entity auf. Filehandling etc. ist komplett innerhalb der Engine. Um ein Multiplayerspeichern einzubauen solltest du entweder deine eigene MPSave/Restore()-Funktionen in alle Entities einbauen, Filehandling etc.. musst du selber machen. Oder du bastelst etwas um die existierenden Save()/Restore()-Funktionen herum, so dass du die schon bestehende Architektur verwenden kannst - die ist naemlich teilweise recht genial. Allerdings waere das ne ziemliche Sauerei, und solange ihr nicht gerade bei OOP, Templates und den sonstigen seltsameren Eigenheiten von C++ zu Hause seid solltet ihr mit der letzteren Option erst gar nicht anfangen. cu,
Hi! I'm a .signature *virus*! Copy me into your ~/.signature to help me spread!
|
|
Profil || Suche |

