You are not logged in.

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

1

Wednesday, December 7th 2011, 1:48pm

Nav Generator

Wird Zeit dass ich hier auch mal etwas rumscripte :)
Vielleicht kennen ja einige das Script von DeadEye, ich dachte mir dass es vielleicht praktisch wäre das über ein Plugin zu machen.
Weil mal ehrlich, wie viele der Gameserverbetreiber haben einen Shellzugriff?

Ich hatte dann mal angefangen zu schreiben, und die Basis dafür ist im Prinzip schon fertig.
Allerdings fällt mir gerade nicht ein wie ich stabil erkennen kann wenn der Server die Map wechselt nachdem die Nav generiert wurde.
Da ich noch nicht fertig bin sieht der Code natürlich dementsprechend aus, und den will ich momentan keinem zumuten. (Wer ihn dennoch sehen will kann mir eine PM zukommen lassen.)
Ich wollte nur mal wissen was ihr davon haltet, es für euch von Nutzen wäre.

Im Prinzip läuft das ganze so ab:
  • Erstmal werden alle Maps und Navs im Maps-Ordner gezählt und die extension entfernt (Ztmp's und Ordner werden excluded)
  • Danach wird für jede Map geprüft ob eine der "Nav-Namen" identisch ist
  • Falls nein wird diese Map in ein Attay geschrieben, und ein Zähler erhöht
  • Danach Wird von 1 im Array begonnen die Maps ohne Navs zu starten und Bots zuzufügen
  • Das Array erhöht sich für jeden Durchlauf


MfG
Impact

This post has been edited 2 times, last edit by "Impact" (Dec 7th 2011, 2:44pm)


2

Wednesday, December 7th 2011, 2:04pm

Hm, also ich würde einfach mal sagen:
Abfrage aktuelle Map == Map 1. Eintrag im Array, wenn nicht, dann kommt Eintrag 2 im Array an die Reihe.

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

3

Wednesday, December 7th 2011, 2:10pm

Das Problem daran ist dass anscheinend neuerdings keine random Map mehr kommt nachdem die Nav generiert wurde, sondern die auf der die Nav generiert wurde.
Timer sind auch blöd :{

MfG
Impact

4

Wednesday, December 7th 2011, 3:21pm

Also ich habe vorgestern noch eien nav generiert. Und da kam dann eine andere Map.

Aber wenn dem so sein sollte, kannst du doch immer nach ner Sekunde abfragen ob eine nav Datei existiert und wenn diese von der Größe nicht mehr wächst kann man ja davon ausgehen, dass die nav fertig ist.

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

5

Wednesday, December 7th 2011, 4:18pm

maps/ einfach bei jedem onmapstart() überprüfen. wenn momentane map = hat eine nav -> wähle nächste map ohne .nav & führe ein sm_ map <map ohne nav> aus

falls man den nav erstellungsprozess überprüfen möchte bin ich mir sehr sicher das sich da was via SDKhooks finden lässt.

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

6

Thursday, December 8th 2011, 11:15am

Ich habe es jetzt anders gemacht.
Ich lass mir nun die Navs nicht mehr direkt in ein Array schreiben, sondern das wird im zweiten durchlauf geschrieben wo ich für jede Map checke ob eine Nav Datei vorhanden ist.
Wenn nein dann schreibe ich den Namen der Map in ein 2d Array.
Mein Fehler im alten Script war dass ich mal wieder Strings mit dem Rest verwechselt habe :/
Dann starte ich einen repeated timer der alle 5 Sekunden checkt ob eine nav zu der aktuellen oder der Map im Array existiert. (Navs werden erst erstellt wenn sie 100% fertig sind).
Wenn ja dann gehe ich zur nächsten Map im Array über.
Ich bin zwar noch nicht ganz fertig, aber ich habe alle Dateien mal als Anhang zugefügt damit dass mal jemand testen kann, ich würde mich freuen :)
Momentan gehen damit nur 128 Maps am Stück.

Kritik ist gerne gesehen, wie ich im ersten Posting schon sagte ist der Code jedoch momentan nicht das gelbe vom Ei, ich denke aber jeder coded so :)
Command ist sm_generate.

MfG
Impact
Impact has attached the following files:

This post has been edited 1 times, last edit by "Impact" (Dec 8th 2011, 6:18pm)


Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

7

Thursday, December 8th 2011, 5:54pm

Ich habe das Plugin nun mal auf einem Testserver probiert(Linux), und es funktioniert auch wunderbar.
Allerdings kommt es auf manchen Maps zufällig zu crashes, sofern das Plugin aktiv ist bzw wenn das Plugin das generieren anfordert.
Bisher ist dieses Problem nur auf Linux aufgetreten, ich denke es hat etwas mit i/o zu tun.

Edit: Das Problem ließ sich durch einen kleinen Timer teilweise lösen, wieso das passiert weiß ich noch nicht.
Pluginfile geupdatet.

MfG
Impact

This post has been edited 4 times, last edit by "Impact" (Dec 8th 2011, 10:55pm)


Similar threads