Wie genau meinst du das?
- StiviK
Wie genau meinst du das?
- StiviK
Ja kann man, du kannst deinen eigene Graphen hinzufügen! Im Repo ist aktuell nur die SA Straßen.
Einfach Mal die json anschauen wie der Graph aufgebaut werden muss.
https://github.com/eXo-MTA/ml_pat…t/sa_nodes.json
- StiviK
Es gibt nun btw. Windows 64Bit builds:
https://github.com/eXo-MTA/ml_pathfind/releases/tag/v1.0.2
- StiviK
Mit welchen Argumenten wird es denn aufgerufen?
Ich nenne das GUIChanger, bzw. Changer.
- StiviK
- StiviK
Warum lädst du den Source-Code nicht auf GitHub hoch?
Wäre fast schöner um das ganze anzuschauen.
- StiviK
Hallo,
Wir, das eXo-Reallife Team, möchten heute ein Modul releasen, dass auch auf unserem Server Verwendung findet.
Es handelt sich hierbei um ein Pathfinding Modul, dass von Jusonex und StiviK entwickelt wurde.
Das Modul nutzt das A* verfahren. (https://de.wikipedia.org/wiki/A*-Algorithmus)
Wir nutzen dieses z.B. für unser GPS:
Das ist ja alles schön und gut, aber warum haben wir dafür ein Modul entwickelt und nicht einfach ein Script geschrieben?
Dies hat einen ganz einfachen Grund. Durch das Modul werden die Routen in eigenen Threads berechnet, was erstens den Vorteil hat, dass es viel schneller als ein Script ist, und zweitens können praktisch unendliche viele Routen nebeneinander berechnet werden. Das ganze verursacht auch keine Laggs o.ä. auf dem Server!
Welche Features hat das Modul?
Was sind die wichtigsten Funktionen?
Diese Funktion lädt euch den Graphen von der angegeben Datei und gibt eine GraphId zurück die ihr für alle weiteren Funktionen benötigt. Falls etwas nicht funktioniert hat wird false zurückgegeben.
bool findShortestPathBetween(int graphId, float startX, float startY, float startZ, float endX, float endY, float endZ, function callback)
Diese Funktion sucht euch die kürzeste Route zwischen den angegebenen Punkten. (Leider können keine Vektoren übergeben werden!)
Die callback-Function wird aufgerufen, wenn die Berechnung fertig ist. Als Argument wird entweder eine table zurückgegeben die alle Nodes enthält oder false falls keine Route gefunden wurde.
Diese Funktion könnt ihr nutzen, wenn ihr den Graphen nicht mehr braucht und entladen möchtet, es wird true zurückgegeben, wenn alles gepasst hat, false falls ein Fehler aufgetreten ist.
Alle anderen Funktionen die das Modul enthält findet ihr in unserer Dokumentation.
Warum releast das eXo-Team den ganzen Spaß?
Nunja, das hat den einfachen Grund, wir wollen unsere Arbeit auch mit anderen teilen und das nicht einfach für uns behalten! Wir hoffen wir können euch damit bereichern und vlt. sogar helfen!
Wo kann man dann das Modul runterladen?
Das ganze Modul ist Open-Source und kann in unsere GitHub-Organisation eingesehen werden.
Released haben wir das ganze unter der MIT License diese kann, hier, eingesehen werden.
GitHub-Organisation: https://github.com/eXo-MTA
Repository: https://github.com/eXo-MTA/ml_pathfind
Download des Modules (Windows/Linux): https://github.com/eXo-MTA/ml_pathfind/releases
Nodes aller Straßen in SA: https://github.com/eXo-MTA/ml_pat…t/sa_nodes.json
Falls ihr Fehler findet oder Vorschläge habt, könnt ihr einfach einen neuen Issue erstellen und wir werden uns das ganze ansehen!
So nun das wars auch, viel Spaß mit dem Modul!
- StiviK und das eXo-Reallife Team
@FFrozen busted, out of range!
- StiviK
Wir werden eine entsprechende Regeländerung bzw. Einführung besprechen, sowas geht auch in meinen Augen nicht.
- StiviK
Unsere Probleme nun wieder behoben! Der Server läuft wieder!
- StiviK
Kurze Info, da ich es nicht in unseren Forum schreiben kann, wir haben aktuell große Probleme mit dem Server ausgelöst durch Ddos Angriffe auf unsere Server.
Wir arbeiten dran.
- StiviK
Den Problem sind wir uns bereits bewusst und suchen eifrig nach einer Lösung bzw. erstmal nach der Ursache.
- StiviK
Ich finde es echt erstaunlich wie ihr hier es besser wisst es läuft und was wir intern regeln. Zu der Performance Sache, aktuell läuft es sehr gut und auch flüssig mit paar Ausnahmen aber an denen sind wir drann. Zu den Serverrestarts, nein wir haben nicht ständig welche. Zum Start will ich sagen er ist besser verlaufen als wir Anfangs dachten, wir hatten am Anfang paar memory Probleme diese wurden aber auch schnell behoben.
Unser Team ist nach meiner Einschätzung nicht überfordert wir koordinieren das ganze Recht und lassen uns nicht wirklich aus der Ruhe bringen.
- StiviK
Mein Beispiel ist bisschen unvollständig bezogen auf outputChatBox und OOP, aber ich wollte auf String Formatierung hinaus, was sehr mächtig ist.
- StiviK
dennis is rip. #nonanofordennis
https://twitter.com/dennismitzwein/status/819482252350550016
- StiviK
Wir hatten leider nicht die Kapazitäten das Script so stark zu testen, aber freuen uns umso mehr dass unsere Beta-Tester fleißig Bugs melden, diese können wir nun in den nächsten Tagen "ausmergen". Damit eXo in der Release Phase dann tadelos funktionieren kann.
Ich möchten unseren Beta-Testern jetzt schon mal vorab danken.
- StiviK
Ich mache auch mal mit.
- StiviK
Falls Interesse besteht, kann ich den Code ja noch ein wenig aufräumen und zum Download bereitstellen, glaube aber nicht dass man sowas braucht.
Ich finde das sehr interessant und fände es auch cool wenn du es online stellen würdest, da ich das in meinem Fall schon hinundwieder mal brauchen könnte. Aber bin selbst zu faul mir sowas zu bauen
- StiviK