Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
06.01.2001, 18:53
Zeeke



Moin Leutz...

Also, ich möchte es so machen, dass man für eine Map eine Datei anlegen kann, die dann z.B. für die Map crossfire, crossfire.txt heisst. In dieser Datei soll dann etwa sowas drin stehen:
team1 123,123,123
team1 234,234,234
team2 345,345,345
team2 456,456,456

Das sollen die Koordinaten für Teamstartplätze sein, die man zur Map hinzufügen kann. Für ein besseres Teamplay, damit man nicht irgendwo startet, aber trotzdem die normalen HLDM Maps spielen kann.
Doch, wie kann ich das jetzt auslesen, das es brauchbar ist? Das die Spieler dort plaziert werden können.
Also, eigentlich interessiert mich nur, wie ich das in eine Map mit "einbinden" kann. Die Teamstartplätze mach ich schon selber. Nur sollen die Dinger aus der txt-Datei als normale Entities wie auch in einer Map anerkannt werden.

Ich danke schon jetzt für eure Hilfe :)

Tschau

--

zum Seitenanfang zum Seitenende Profil || Suche
001
06.01.2001, 19:35
Prefect



Erstmal geh ich davon aus, daß du dich mit den Std-C-Lib-Funktionen zum Dateienlesen auskennst; ansonsten verweise ich dich erstmal an ein C-Buch.

Ansonsten mußt du im Konstruktor der richtigen gamerules einfach einen Code einfügen der

1) das momentane Spielverzeichnis holt (GET_GAME_DIR(szFileName);)
2) den Dateinamen formatiert:
strcat(szFileName, "/maps/");
strcat(szFileName, gpGlobals->mapname);
strcat(szFileName, ".stp"); // oder wie auch immer die Datei heißt
3) fopen() die Datei
4) Lies die Koordinaten in ein Array.

Danach mußt du "nur noch" die Funktion GetPlayerSpawnSpot deiner gamerules entsprechend umschreiben - einfach eine zufällige Koordinate aus der Datei aus dem Array aussuchen und verwenden (gib einfach eine NULL-entity zurück; das ist zwar nicht ganz comme il faut, funktioniert aber *g*).

Du könntest natürlich auch beim Lesen der Daten die info_player_starts per Create() erzeugen, das wäre aber eigentlich eine unnötige Verschwendung von edicts.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
002
06.01.2001, 20:37
Zeeke



Naja, ich werds einfach mal versuchen, wenn ich Probs hab, werde ich mich melden :)

Thx erstama :)

Ciao

--

zum Seitenanfang zum Seitenende Profil || Suche