Sie sind nicht angemeldet.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

1

Mittwoch, 7. Dezember 2011, 13:48

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

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Impact« (7. Dezember 2011, 14:44)


2

Mittwoch, 7. Dezember 2011, 14:04

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« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

3

Mittwoch, 7. Dezember 2011, 14:10

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

Mittwoch, 7. Dezember 2011, 15:21

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

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

5

Mittwoch, 7. Dezember 2011, 16:18

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« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

6

Donnerstag, 8. Dezember 2011, 11:15

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« hat folgende Dateien angehängt:
  • include.zip (808 Byte - 72 mal heruntergeladen - zuletzt: 4. März 2024, 08:26)
  • mapswithoutnavs2.sp (4,63 kB - 74 mal heruntergeladen - zuletzt: 9. März 2024, 01:36)
  • mapswithoutnavs2.smx (4,86 kB - 63 mal heruntergeladen - zuletzt: 28. März 2024, 13:09)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Impact« (8. Dezember 2011, 18:18)


Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

7

Donnerstag, 8. Dezember 2011, 17:54

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

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Impact« (8. Dezember 2011, 22:55)


Ähnliche Themen