Seite 1 von 1
Karten Erstellung in JA2
Verfasst: 29 Jul 2005, 23:19
von Wulfy301
Hallo Leute,
ich möchte einige Sektoren zwei Maps zuweisen (Beispiel: Sektor M9 -> Map M9.dat und M9_a.dat) damit die Karte in JA2 mehr Abwechslung bei einem Neustart bietet, so ähnlich wie im "Night Ops" Mod.
Meine bisherigen Versuche zwei Maps für einen Sektor einzubauen schlugen aber fehl, im Source kann ich nichts darüber finden wie es gemacht wird.
Weiß jemand wie man so was macht?
Mfg...
Verfasst: 21 Aug 2005, 09:32
von Realist
Moin,
schau dir mal die Funktion "void InitNPCs( void )" in Strategic\Game Init.c
und das Ende von "void InitStrategicAI()" in Strategic\Strategic AI.c an.
Evtl. hilfts dir auch, nach "SF_USE_ALTERNATE_MAP" zu suchen.
Verfasst: 21 Aug 2005, 11:36
von Wulfy301
Hallo Realist
Werde ich mir gleich mal ansehen, danke für deine Hilfe!
Mfg..
Verfasst: 21 Aug 2005, 12:43
von Wulfy301
Hallo Leute
Dank Realists Hilfe konnte ich das Problem lösen, im Anhang findet man ein kleines Tut. wies geht.
Ich habe es mal angetestet, es sollten also keine Schwierigkeiten auftauchen, falls doch bitte Bescheid geben.
@ Realist
Bitte sieh es dir mal kurz an, ob ich irgend etwas übersehen habe danke!
Mfg...
Verfasst: 21 Aug 2005, 12:51
von Realist
sieht doch ganz gut aus.
vielleicht sollte man noch dabei schreiben, dass man mit
die wahrscheinlichkeit von 1/3 hat, dass die alternativkarte verwendet wird.
außerdem macht in diesem fall die switch-case abfrage nicht viel sinn, besser wäre
Code: Alles auswählen
if (switch( Random( 2 ) ) == 0 )
{
// use alternate map in this sector
SectorInfo[ SECTOR( 9, MAP_ROW_A ) ].uiFlags |= SF_USE_ALTERNATE_MAP;
}
- aber das ist nur ne kleinigkeit.
edit:
ich hab mir mal erlaubt, das doc dementsprechend zu überarbeiten:
Verfasst: 21 Aug 2005, 13:38
von Wulfy301
Top Teamwork würde ich sagen!
Mfg...
Fehlerkorrektur
Verfasst: 28 Aug 2005, 15:22
von Realist
Ich muss mich entschuldigen und etwas richtig stellen.
Mit
wird natürlich die Wahrscheinlichkeit von 1/2 (= 50%) erzeugt, da Random(2)
natürlich nur 0 oder 1 zurückgeben kann.
Das mit 1/3 oben und in der Datei ist großer Schwachfug.
Rea
AscheaufmeinHauptlist
Verfasst: 28 Aug 2005, 15:43
von Wulfy301
@Realist
Hat aber trotzdem funktioniert und gemerkt hat's auch keiner!
Mfg...
Verfasst: 28 Aug 2005, 15:51
von Wulfy301
// Neu
// switch( Random( x )) für eine Wahrscheinlichkeit von 50%, dass Alternativmap geladen wird
switch( Random( 2 ))
SectorInfo[ SECTOR( 9, MAP_ROW_A ) ].uiFlags |= SF_USE_ALTERNATE_MAP;
switch( Random( 2 ))
SectorInfo[ SECTOR( 13, MAP_ROW_D ) ].uiFlags |= SF_USE_ALTERNATE_MAP;
Ergibt dann eine Wahrscheinlichkeit von 50% das die Alternativmap geladen wird, oder?
Mfg...
Verfasst: 28 Aug 2005, 16:01
von Realist
Ergibt dann eine Wahrscheinlichkeit von 50% das die Alternativmap geladen wird, oder?
jawohl.

Verfasst: 28 Aug 2005, 16:15
von Wulfy301
Hier das überarbeitete Tut.!
Mfg...
Verfasst: 19 Sep 2005, 01:30
von Wulfy301
Hallo Leute!
Ich musste gerade feststellen das es noch immer nicht funktioniert, ohne die
case 0: Anweisung gehts nicht!
Jetzt klappt es, aber wer weiß ob das jetzt die letzte Änderung war!
Mfg...
Verfasst: 19 Sep 2005, 14:42
von Realist
Realist hat geschrieben:Mit
wird natürlich die Wahrscheinlichkeit von 1/2 (= 50%) erzeugt, da Random(2)
natürlich nur 0 oder 1 zurückgeben kann.
da lag der hund begraben.

in der korrektur einen weiteren fehler gemacht - es muss IF heißen
daher war auch kein case da.
aber, hey, es war ziemlich warm an dem tag
edit: hast du zufällig wieder das alte doc angehängt?
Verfasst: 19 Sep 2005, 15:49
von Wulfy301
@Realist
Hab es mir doch gedacht, das noch was kommt!*lol*
So, habs gleich mal getestet und es funktionieren beide Möglichkeiten, aber die
if ( Random ( 2 )) ist die elegantere Lösung.
zu edit-> Nö!:rolleyes:
Mfg...