Jump to content
mar1hu4na

Navmeshing Single Player Maps ( Python )

Recommended Posts

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

EDIT_4: Die einfachste Lösung für dieses Problem ist vermutlich, dass ich einfach ein älteres System brauche. Dieser Erkenntnis folgend werde ich mir wohl für ein paar Euro einen alten Gaming-PC mit Windows XP besorgen und daher vorerst nicht weiter versuchen, das Problem auf Vista selbst zu lösen. Wenn allerdings jemand eine Lösung finden sollte, wäre ich sehr dankbar, wenn er sie hier posten würde, da es stets ein Mehraufwand ist, mehrere Computer benutzen zu müssen ( Maya z.B. muss ich auf meinem "neuen" PC nutzen, da ich nur eine relativ neue Version besitze ). Sollte ich selbst doch über eine Lösung stolpern, werde ich sie nach Möglichkeit hier posten. Gruß!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

Seid gegrüßt.

Ich bin langsam am Verzweifeln. Seit ungefähr zwei Tagen versuche ich mehr Informationen zum Navmeshing zu finden. Zwar konnte ich ein gutes Tutorial zum allgemeinen Gebrauch des Editors und zum Einsatz von Maya und Navmeshing finden ( das Tutorial zu Navmeshes und Maya findet sich hier: http://members.iinet.net.au/~kyron/page4.htm ); darin findet sich aber natürlich nicht zu allen möglichen Problemen eine Lösung.

 

Meine Situation gestaltet sich wie folgt:

Ich bin im Prinzip dem kompletten Tutorial gefolgt ( also nicht nur der verlinkten vierten Seite, sondern den vorigen ebenso ) und habe mit manchen Schwierigkeiten soweit auch tatsächlich alles hinbekommen. Der Editor läuft, ich kann bestehende Levels ohne Probleme bearbeiten und dann im Singleplayer ingame auch spielen. Ich kann natürlich auch eigene Maps erstellen und diese dann über den Multiplayer-Modus ( auf einem selbsterstellten Server ) im Conquest-Modus "ausprobieren" - nur kann ich aufgrund fehlender Meshes natürlich nur ohne Bots spielen ( was im Singleplayer nachvollziebarerweise ein Problem ist xD ). Wenn ich allerdings ( dem Tutorial folgend ) über den Editor die Dateien erstelle, die die "CreateNavmesh.bat" benötigt, um die entsprechenden Meshes zu erstellen und daraufhin versuche, den Vorgang über die besagte Batch-Datei zu starten, kann ich zwar den Mod und das Level eingeben, danach aber schließt sich die Batch sofort und nichts passiert. Natürlich habe ich mehrmals überprüft, ob alle verwendeten Namen richtig geschrieben wurden, ob die Unterverzeichnisse korrekt sind usw.. Das sollte eigentlich nicht das Problem sein.

 

Ich habe so ziemlich alles versucht. Ich benutze Windows Vista Home Premium SP 1 ( ich vermute, dass es damit zusammenhängt, da der Editor und eigentlich alle Komponenten für Windows XP konzipiert wurden ) und habe aus diesem Grund auch so ziemlich alles über den Kompatibilitätsmodus und "als Administrator ausführen" versucht. Ich habe Python installiert ( Version 2.4.2 ) und, nachdem sich weiterhin einfach nur die "GenerateNavmeshLocal.py" in Notepad geöffnet hat, "Öffnen mit..." auf Python eingestellt. Daraufhin hat sich die "GenerateNavmeshLocal.py" auch nicht mehr einfach geöffnet - etwas anderes ist allerdings auch nicht passiert.

 

Also, um zum Ende zu kommen: Ich weiß nicht mehr, wo ich noch suchen soll. Normalerweise finde ich so ziemlich alles, was ich wissen will, dann doch irgendwo - aber zu diesem Thema finde ich GAR NICHTS - nicht auf YouTube, nicht auf Foren, NIRGENDWO. Vielleicht findet sich hier jemand, der mir entweder tatsächlich weiterhelfen kann, der weiß, wo ich noch suchen könnte ( allerdings habe ich schon so ziemlich alle BF2-Seiten durch ) oder der mich an einen "Modder" oder "Mapper" vermitteln kann, der mir da weiterhelfen kann. Mir ist klar, dass dieses Spiel zehn Jahre alt ist und selbst der harte Kern der Community immer kleiner wird; daher mache ich mir auch nicht zu viel Hoffnung. Aber, wie man weiß, stirbt sie ja erst ganz zum Schluss :D

 

Wenn das hier nicht das richtige Unterforum sein sollte, bitte ich um Verschiebung an den richtigen Ort. Vielen Dank fürs Lesen und Bemühen! :cool2:

 

Gruß, ~mar1hu4na

 

EDIT: Wenn es sinnvoll sein sollte, diesen Thread auch auf Englisch zu veröffentlichen, lasst es mich bitte wissen und sagt mir nach Möglichkeit auch, wo ich den Thread dann am besten veröffentliche. Danke!

 

 

EDIT_2: Ich habe gerade ein wenig herumprobiert und habe versucht, die "GenerateNavmeshLocal.py" mit Python über das Terminal auszuführen - was im ersten Moment zu funktionieren scheint, denn ich habe so zum ersten Mal einen Output in der Konsole gesehen, der ungefähr so lautet:

 

------------------------------------------------------------------------------------------

##################

#Generating Navmesh

#

#    mod   = bf2

#    level = Mashtuur_City

#    p4   = False

##################

Error: Failed to find level-directory for Mashtuur_City

------------------------------------------------------------------------------------------

 

Das Verzeichnis ist aber da und ich habe es 1:1 dem Tutorial folgend "vorbereitet". Für mich sieht es so aus, als hätte Python die Argumente der Batch-Datei vorher nicht angenommen, würde sie jetzt ( nach manueller Eingabe ) erkennen - und jetzt das Verzeichnis nicht finden, obwohl es am richtigen Ort ist und ich auch die Namen mehrmals auf Korrektheit überprüft habe. Ich weiß jetzt natürlich nicht, ob dieses Problem nicht einfach nur eine Folge voriger Probleme ist; wie z.B., dass mein Betriebssystem zu neu ist oder ähnliches...

 

 

EDIT_3: Ich bin wieder einen Schritt weiter gekommen. Über CMD habe ich ins Verzeichnis "C:\PROGR~1\EAGAME~1\BATTLE~1\NavMesh" gewechselt und habe von dort aus den Befehl "C:\python24\python GenerateNavmeshLocal.py bf2 Mashtuur_City" ausgeführt. Über diesen Umweg läuft das Programm eine ganze Weile, öffnet in der Zwischenzeit den Editor, schließt in wieder, kopiert ein paar Dateien ( oder was weiß ich ) und bricht dann mit folgender Meldung ab:

 

------------------------------------------------------------------------------------------

Executing: NavMeshControl.py work\Mashtuur_City\GTSData

Error: Incorrect number of arguments

usage: Usage: navmeshControl.py meshDir [options]

 

options:

  -h, --help          show this help message and exit

  --saveStitchSteps=SAVESTITCHSTEPS

 

Done...

 

Error: Failed to generate navmesh...

------------------------------------------------------------------------------------------

 

Wundert euch nicht über die Pfadnamen, die ich verwende. Für die, die das ned kennen sollten: Das sind die alternativen Verzeichnisnamen ( vermutlich aus DOS-Zeiten ), die ich aufgrund von Leerzeichen etc. verwende...

 

Ich habe nur keine Ahnung, wie ich auf die "richtige" Nummer an Argumenten komme, wenn er doch eigentlich alle hat!

post-48291-0-45259600-1438112181_thumb.j

bearbeitet von mar1hu4na

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hi, kennst Du das schon -> "BFSPnavmesh" http://www.battlefieldsingleplayer.com/dnamro/files/tools/BFSPnavmeshFeb2013.zip ?

Thread : http://www.battlefieldsingleplayer.com/forum/index.php?showtopic=17271&pid=194451&mode=threaded&start=#entry194451

Ein entsprechendes Tut. dazu gibst im gleichen Thread bzw. unter http://www.battlefieldsingleplayer.com/tut_dev_forum/viewtopic.php?f=4&t=4

 

Entsprechend angepasst/verändert auf dein System (*.bat, *.cmd, Pfade ect.) sollte das relativ einfach und relativ automatisch funktionieren. Starten tut man es dann per (Admin-)Commandline aus dem BF2 root "Navmesh" Directory.

Geht jedenfalls unter Win7 64 bit bei mir entsprechend angepasst einwandfrei.

 

Auch kannst Du dort im BFSP Forum entsprechende Ansprechpartner dazu finden.

Eventuell solltest Du dir auch mal die Tuts im PR Forum dazu anschauen...

 

Hoffe es hilft weiter.

bearbeitet von web

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Danke! Das hilft mir tatsächlich weiter. Ich werde das mal ausprobieren, sobald ich Zeit dazu habe.

In der Zwischenzeit hatte ich es hinbekommen, mit einem alten Office-PC die Navmeshes zu berechnen. Ich hatte die Minimap dazu erstellt und beim Laden als Einzelspieler zeigte er mir auch die Karte an - inklusive Controlpoints etc. Allerdings war die komplette Map als Non-Combat-Area zu sehen (also rot markiert) und wenn ich eingestiegen bin, hatte ich die bekannten 10 Sekunden. Das Problem habe ich lösen können, indem ich die doppelte Defininierung der Combat Area entfernt habe (alle Koordinaten waren aus irgendeinem Grund zweimal vorhanden).

 

Es bleibt jetzt noch ein Problem: Ich kann zwar joinen und der/die/das Combat Area ist richtig definiert - ich kann also herumlaufen/-fahren etc -, aber die Bots bewegen sich nicht. Woran kann das liegen? An den Navmeshes? Zudem stürzt das Spiel ab (BTD und keine Fehlermeldung im Debug-Modus), sobald ich in Sichtweite der feindlichen Bots gerate. Offenbar wissen die Bots nicht, "was sie zu tun haben", wenn sie mich sehen. Aus der Entfernung kann ich sie aber ohne weiteres beschießen... Hast du eine Idee, woran das liegt? Es ist bestimmt bloß wieder eine Kleinigkeit <_<

Soweit vielen Dank! Die Seiten habe ich zwar auch schon gefunden, aber die Threads habe ich systematisch übersehen :D

bearbeitet von mar1hu4na

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Im BFEditor hast Du aber ne gültige (blaue) CA (Combat Area)  für den "mode/layer" ?

Ist ne gültige und passende SA (StrategicAreas.ai) dazu vorhanden (z.B. server.zip ->GameModes->gpm_coop->16->AI->StrategicAreas.ai) ?

Ist ne entsprechende Map desc (Level->info->*.desc) Datei mit entsprechendem Eintrag vorhanden z.B.:

 <mode type="gpm_coop">
            <maptype ai="1" players="16" type="headon" locid="GAMEMODE_DESCRIPTION_COOP_headon"></maptype>
            <maptype ai="1" players="32" type="doubleassault" locid="GAMEMODE_DESCRIPTION_COOP_doubleassault"></maptype>
            <maptype ai="1" players="64" type="doubleassault" locid="GAMEMODE_DESCRIPTION_COOP_doubleassault"></maptype>
        </mode>

Kann da so jetzt auch nur raten ... poste doch dein Werk oder schick es via PM.

 

 

Noch etwas - du meinst Du hast keine Fehlermeldung beim BTD - schon mal den Window Modi benutzt ?

Geht so :

M:\Battlefield2\BF2.exe +menu 1 +fullscreen 0 +restart +modPath mods/bomsf +szx1280 +szy1024 +wx 0 +wy 0

Den Pfad + Mod entsprechend geändert und schon startet BF2 im Fenster (Größe "szx" + "szy" die Werte auch anpassen) in der linken oberen Ecke deines Monitors. Hat den entscheidenen Vorteil das man BF2 Probs. auch einfach sehen kann...

bearbeitet von web

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hi, habe die gleichen Probleme, so wie sie hier beschrieben wurden.

Komme einfach auch nicht weider !

mar1hu4na ;

könntest Du bitte mal Darlegen, wie Du es nun doch geschafft hast ?

Hoffe doch auf eine Antwort, obwohl sich kaum noch jemand mit dem BF2-Editor beschäftigt

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Geht einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden


  • Wer ist Online   0 Benutzer

    Keine registrierten Benutzer online.

×

Übrigens…

Wir verwenden übrigens auch Cookies. Aber: Wir tracken nichts sondern erleichtern dir damit das Leben. Mehr dazu findest du hier.