Jump to content

Tagebuch meiner jüngsten fehlerbehebungen


Danator

Recommended Posts

In dem anderen Beitrag hatte ich erwähnt, dass ich den Orientierungsfehler nicht beheben könnte, weil Parameter unbekannt sind, die ich nicht ermitteln kann. Ich glaube, ich kann zumindest diesen Fehler doch beheben. Der Lösungsweg ist mir heute morgen im Bett eingefallen. Ich werde das ausprobieren und wenn ich das schaffen sollte melde ich mich noch mal und Ihr könnt Euch das ja alles auf meinem Youtubekanal angucken, wenn Ihr wollt. Aber der Lösungsweg von mir müsste eigentlich funktionieren. Also wenn ich das schaffe, gibt es eigentlich nur einen einzigen wirklich störenden Fehler auf MEINEN Privatserver und zwar ist das die Tatsache, dass die Mauszeiger falsch angezeigt werden.

Und zwar müsste die Reihenfolge normalerweise so sein: Zuerst Reparatur, dann Vendor, dann Gossipmenüicon. In der Reihenfolge müsste es eigentlich sein. Und Flugmeister und so haben auch eine höhere Priorität. Dann wird normalerweise das Flugmeistersymbol genommen und nicht das Gossipmenüicon. Aber den FEhler kann ich, glaub ich, nicht beheben. Es sei denn, ich habe irgendeine Stelle im Code noch nicht gesehen oder richtig verstanden und deshalb kann ich das nicht lösen. Aber alle anderen Fehler und da sind immer noch ne Menge Fehler drin, sind nicht so akut. Im Prinzip ist der letzte akute Fehler auf meinem Server dieser Orientierungsfehler, der nervt so ein bisschen. Alles andere kann man verschmerzen, aber den Cooldownfehler zum Beispiel müsste ich theoretisch auch beheben können. Während die Bewegungsfehler der Spieler kann ich vermutlich auch nicht beheben, aber das sind so Fehler, die nicht so störend sind, weil sie nicht permanent in jedem Kampf auftreten können wie der Orientierungsfehler, zumindest wenn man etwas rumzappelt beim Kämpfen so wie ich. Das liegt daran, weil ich PvP-Spieler war und zwar einer der Besten oder der Beste zu einer Zeit als da nicht jedes A. betrogen hat oder ein Superbot war und natürlich die Spielmechanik nicht so extrem schlecht war wie heute. Ich meine Klassik war relativ schlecht ausbalanciert, aber im Vergleich zu dem was seit spätestens MoP abgeliefert wird regelrecht eine Offenbarung. Das heißt meine Bewertung hat eine Bedeutung. Ich war der Beste im PvP als es noch PvP gab in WoW. Das gibt es ja heute gar nicht mehr.

Gut, natürlich funktioniert das Alteractal auch nicht. Das haben die übrigens auf Nostalrius, glaube ich, behoben gehabt. Alles andere war zwar extrem fehlerhaft, deshalb weiß ich das nicht genau, weil ich mit Level 12 oder so aufgehört hatte zu leveln (zu viele Fehler und die Macher waren leider selbst keine Spieler, deshalb hatten die da alles sehr schlecht aufgebaut, was die Ressourcen zum Beispeil angeht). Das waren offensichtlich Profis im Programmieren, weil so ein paar Sachen hatten sie offensichtlich gut gemacht, aber dafür, dass die offenbar ein ganzes Team bestehend aus Programmierprofis hatten, das jahrelang daran gearbeitet hat, war es insgesamt aus meiner Sicht eher schlecht.

Na ja, ist ja egal, ich versuche den Orientierungsfehler heute zu beheben und ich melde mich heute wahrscheinlich noch einmal, um mitzuteilen, ob ich das geschafft habe.

Ne andere Sache, die auch nicht funktioniert ist Ingenieurskunst, weil sich da einige Items wie Minen oder Ablenkattrappen wie Begleiter verhalten. Aber das kann ich auch lösen, aber das ist mit einer Menge Arbeit verbunden, weil ich dann alle diese Items in der Datenbank anpassen muss. Das hatte ich aber schon geschafft und zwar mit den Minen, die die Zwerge in Gnomeregan verwenden, da habe ich solche Datenbankeinstellungen genommen, dass die Minen sich auch wie Minen verhalten haben und nicht wie Begleiter, die da mitrennen und Nahkampfschaden machen. Da musste ich allerdings etliche Änderungen vornehmen und ich habe das auch wieder vergessen, was ich da exakt gemacht habe, aber das kann ich auch lösen, aber wie gesagt im Moment hat das für mich keine Priorität. Heute werde ich erst mal versuchen den Orientierungsfehler zu lösen, was schon extrem sensationell wäre, wenn ein Programmieranfänger wie ich das schaffen würde. Dann verdiene ich offiziell den Titel Supergenie, Genie reicht dann nicht mehr aus.

Nachtrag: Ich werde heute nicht mehr dazu kommen, meinen Lösungsansatz zu versuchen. Ich bin auf massive Probleme gestoßen als ich einige meiner verbesserten CreatureEvents auf einen NPC übertragen wollte. Das werde ich zuerst lösen. Hoffe, dass ich das heute noch hinbekomme. Das ist wirklich krass, Mann. Ich hab keine Ahnung was ihr da gemacht habt. Mindestreichweite des Zaubers 5 yards aber Ihr habt es hinbekommen, dass er bei 10 yards glaubt, die Mindestreichweite schon unterschritten zu haben. Wer soll die Scheiße lösen? Mann, Mann; Mann. Und ich hab keine Werte verändert. Na bis auf eine Konstante, aber die hat damit nichts zu tun, denke ich mal. Das hat irgendwas mit der Art zu tun wie ihr combat_reach und den bounding_radius implementiert habt. Ich bekomm ne Krise.

Eure fehlerhafte Mindestreichweiteberechnung wird mich, glaube ich, noch ne Weile beschäftigen. Ich bin mir nicht sicher, was da falsch ist, ob Ihr da irrtümlich irgendwas auf die Mindestreichweite addiert oder sogar falsche Indexwerte nehmt oder weiß der Geier, was da genau falsch ist. Bis jetzt haben sich keine Änderungen im Quellcode von mir praktisch ausgewirkt. Bei der Maxrange scheint im Übrigen alles korrekt zu sein - warum auch immer.

2. Nachtrag: Solange ich das Problem mit dem falschen MinRange nicht gelöst habe, werde ich nicht weiter machen irgendwas anderes zu beheben. Ich habe mir Euren Code jetzt relativ genau angesehen und kann nicht verstehen wieso er offensichtlich ungefähr die ATTACK_DISTANCE (5 yards) zur Minrange hinzuaddiert. Ich find die Stelle nicht. Was auch seltsam ist, wenn ich bei der Funktion GetSpellMinRange, dafür sorge, dass er die Range abzgl. der ATTACK_DISTANCE zurückliefert, dann funktioniert es zwar immer noch nicht, aber immerhin funktioniert die Abfrage bei meinen Zaubern, dann erstaunlicherweise korrekt. Und zwar insofern, dass ein Fernkampfzauber genau dann nicht geht, wenn er als rot markiert wird. Und zwar im Bereich der Mindestreichweite, die allerdings immer noch falsch ist. Ungefähr die ATTACK_DISTANCE zu viel. Also das ist schon erstaunlich. Ein schon fast mystischer Fehler. Ihr scheint zaubern zu können, na ja, ich verstehe Euren Code ja auch nicht richtig, bin ja auch kein Programmierer. Aber es kommen natürlich diverse Dinge in Frage, zum Beispiel nehmt Ihr für den MinRange irgendeinen falschen Indexwert - warum auch immer. Das wäre eine Erklärung, dass Ihr statt den 54er-Index den 74er-Index nehmt, aber nur für den minrange beim maxrange stimmt es ja. Der Maxrange wird offensichtlich richtig berechnet, aber warum nicht der Minrange, warum ist der Minrange fast doppelt so hoch oder plus der ATTACK_DISTANCE??? Ich hoffe, dass ich das irgendwann noch mal herausfinden werde, weil vorher mach ich nicht weiter.

3. Nachtrag: Das Lustige ist ja, dass man bei der Suche nach bestimmten Fehlern, herausfindet wie man andere Fehler beseitigt. Zum Beispiel habe ich jetzt die Stelle gefunden, die dafür sorgt, dass Ihr irrtümlich bei Tod der Kreatur den Schaden auf 0 setzt und absorbiert. Das ist nicht der Fall. Konnte ich jetzt korrigieren. Danke schön. Gerade die großen Zahlen im PvP müssten Euch doch ein Begriff sein oder? Da wurde nichts absorbiert, gerade das ist ein Spaßfaktor, den Ihr aufgrund von Ahnungslosigkeit entfernt hattet. Und jetzt weiß ich auch wie ich es anstellen muss, dass er keine schwächeren Zauber auf stärkere Zauber zaubern kann. Die Stelle hab ich auch schon gefunden, freundlicherweise gleich mit einem Musterbeispiel von Euch wie das geht. Aber jetzt muss ich mich wieder diesem komischen Mindestreichweitefehler widmen, den ich zumindest teilweise jetzt gelöst habe. Er addiert allerdings immer noch ungefähr (oder exakt?) 5 yards (Attack_Distance???) zur Mindestrange. FAlls das Absicht von Euch gewesen sein sollte, nee das ist falsch.

4. Nachtrag: Das Problem mit der fehlerhaften Mindestreichweite wurde von mir behoben. Es hatte vorhin bereits geklappt, aber offensichtlich hat er noch irgendwelche cache-werte verwendet? Keine Ahnung, aber jetzt geht es. Ha, ha, ha. Ähm, ja gut, also werde ich mir morgen den Orientierungsfehler vornehmen. Eine gute Sache der Fehlersuche war es auch, dass ich jetzt kapiert habe, dass wenn ich eine bestimmte Funktion haben will einfach eine bestimmte h-Datei inkludieren muss. Weil einer meiner falschen Lösungsansätze brachte diese Erkenntis. Damit dürfte der Orientierungsfehler noch einfacher zu beheben sein. Das wusste ich vorher nicht. Aber wie gesagt das mach ich erst morgen.

5. Nachtrag: Der Grund warum mein vorheriger Lösungsweg nicht unmittelbar funktionierte lag offensichtlich auch daran, dass in der Datenbank die CreatureScripts von mir nicht 100%ig richtig gemacht worden sind. Das hat aber nichts damit zu tun, dass der Reichweitencheck für die Mindestreichweite erst nach meiner Änderung im Quellcode funktioniert. Weil da habt Ihr offensichtlich etwas falsch gemacht und ich hab das an der richtigen Stelle korrigiert. Und wieder habe ich mangoszero besser gemacht und wieder bekomme ich dafür keinen Nobelpreis oder zumindest die Weltherrschaft übertragen. Letzteres würde ich immerhin verdienen. Ihr müsst immer bedenken, ich habe von C++ ungefähr so viel Ahnung wie Robert Kotick von World of Warcraft. Dafür bin ich allerdings intelligenter als Kotick.

Link to comment
Share on other sites

Okay nachdem ich den Beitrag jetzt umbenannt habe, machen wir doch ein echtes Tagebuch daraus. Bin sowieso der Einzige, der hier irgendwas schreibt :-).

24.10.2016 Heutige Aufgabenstellung "Beheben des Orientierungsfehlers"

Fehlerbeschreibung: NSCs haben unter bestimmten Voraussetzungen sehr häufig eine falsche Orientierung, wenn sie:

a.) das Zeitliche segnen

b.) im CC stecken

Das liegt an einer unvollständigen Orientierungsaktualisierung.

Ich hoffe, dass ich den Fehler beheben kann. Das wäre wirklich genial. Wie weit ich damit heute komme, werde ich hier beschreiben. Ich hab den Eindruck, dass mir das sogar beim Denken hilft, wenn ich hier meine Gedanken sortiere.

So wir haben jetzt 17:23 Uhr. Ich muss gestehen ich habe heute nicht viel gemacht, hatte andere Probleme, allerdings waren meine bisherigen Versuche große Reinfälle. Aber noch bin ich mit meinem Latein nicht am Ende. Ich habe noch ein paar Ideen und die grundsätzliche Idee ist ja auch richtig. Bis jetzt weiß ich nur noch nicht wie ich dem Programm das übergeben kann. Im Moment sagt er ständig, er könne hierauf und dadrauf nicht zugreifen. Mal sehen, ob ich es dennoch schaffe. Wäre sicherlich einer der Kardinalfehler in Mangos.

Ich hatte auch nur 30 Minuten oder so vorhin probiert. Dann schau ich jetzt noch mal etwas rein.

 

Nachtrag: Tja, scheine ich nicht zu schaffen, dafür habe ich einen anderen Fehler behoben. Und zwar war nicht nur Eure Mindestreichweitechecks fehlerhaft, sondern euer Maxreichweitecheck ist leider ebenfalls fehlerhaft. Und zwar war es so, er zeight an, ja du kannst zaubern, du bist in Reichweite, aber in Wirklichkeit bin ich nicht in Reichweite. Da war ein Unterschied. Er hat zwei verschiedene Werte genommen, einen theoretischen und einen praktischen. Und der praktische war offensichtlich niedriger als der theoretische. Das hab ich jetzt auch korrigiert. Sprich wenns rot angezeigt wird auf der Leiste, dann kann man auch nicht zaubern, wenns weiß angezeigt wird, dann kann man jetzt zaubern. Das stimmt jetzt exakt. Und zwar hattet ihr in einer Funktion vergessen die Combat-reaches von Caster und Target hinzuzuaddieren, deswegen hat das nicht funktioniert. Jetzt funktioniert es wie gesagt exakt.

Aber diesen Orientierungsfehler, ich glaub da geb ich auf. Ich weiß was ich ändern muss, aber ich weiß nicht wie ich das tun soll. Der Lösungsansatz ist wie gesagt, dass er als finalen Winkel den Winkel zwischen seiner aktuellen Position und der Position seines Zieles ändert bevor die Kreatur stoppt. Und zusätzlich wenn sie ein target hat. So weit die Theorie. Das müsste theoretisch funktionieren, aber ich hab keine Ahnung wie ich das machen soll. Weil in bestimmten Abschnitten sind bestimmte Variablen, stehen nicht zur Verfügung, auch wenn ich die h-Dateien einfüge, dann geht das immer noch nicht. Ich weiß wie ich das lösen kann, aber ich weiß nicht wie ich das praktisch tun soll. Vielleicht gehts ja noch einfacher wenn man das besser verstehen würde. Es gäbe sicherlich auch noch andere Möglichkeiten und zwar wenn ich die Pfadberechnung irgendwie anders gestalten könnte, so dass der letzte Punkt immer so gewählt wird,dass er mit dem Gesicht zum Target blickt. Wie das geht weiß ich auch nicht. Und wenn ich es nicht weiß, kann ich es, glaub ich, auch nicht lösen. Bis jetzt schaffe ich es nicht. Und vielleicht gebe ich auf, was ich nur ungern tue, aber bis jetzt funktioniert das alles nicht wie ich mir das vorstelle.

Link to comment
Share on other sites

Heute ist der 25.10.2016

Je mehr ich mich mit der Datenbank usw. beschäftige desto besser verstehe ich alles, sogar was nur äußerst rudimentär von den Seiten erklärt wird, wird nach und nach einleuchtend bzw. kann ich mir selbst zusammenreimen.

Den Orientierungsfehler zu beseitigen lege ich auf Eis, hat glaub ich keinen Sinn. Allerdings dürfte der bei mir auch nur noch sehr selten vorkommen, es sei denn man drückt permanent seine Gegner nach vorne, weil meine NSCs bemühen sich von sich aus immer einen gleichen Abstand einzuhalten. Dadurch ist der Orientierungsfehler praktisch vermutlich eher selten. Außer vielleicht für den Schurken, aber den macht das sicherlich nichts aus, wenn sich der NSC gleich freiwillig richtig für sein Meucheln hindreht.

Würde ich ihn beseitigen können, würde ich es tun, aber im Moment sehe ich das so, dass es zu viel Zeit kostet und es auch nicht so sehr stört. Viel wichtiger ist meine Änderung eines schönen Abstandes zwischen NSC und Spieler im Nahkampf. Das ist gleich ein ganz anderes Spielgefühl.

Ich habe heute drei kleinere Fehler behoben:

1.) Bei den Schlotternächten konnte man sich aus dem Fledermauskostüm nicht mit Mausrechtsklick wieder zurückverwandeln. Übler Fehler, weil das wurde als Debuff angezeigt, den man nicht beenden konnte. Ne Stunde nichts tun zu können ist wirklich ein übler Fehler. Jetzt geht es einwandfrei.

2.) Der Menüpunkt Süßes oder Saures hat dafür gesorgt, dass das Menü nicht mehr ansprechbar war, weil es sich nicht dabei geschlossen hatte - automatisch. Dieser Fehler ist ebenfalls behoben.

3.) Bei einer Quest zu Beginn im Elwynn-Wald braut ein NSC einen Unsichtbarkeitstrank für mich, während er das macht, sollte es nicht möglich sein, dass ich die Folgequest annehmen kann. Das ist jetzt auch so. Das habe ich über die DB-Scripts gemacht. Wirklich genial von mir muss ich schon sagen.

Also heute hab ich nicht viel gemacht und kann sein, dass ich mich jetzt auch nicht mehr so häufig melde.

Noch einmal zusammenfassend, ich habe seit ungefähr 6 Monaten einen Privatserver und arbeite mich seit dieser Zeit in die Thematik ein. Dabei bin ich ein Anfänger, der von Programmierung allenfalls ein paar schlechte Basic-Kenntnisse besaß aus DOS-Zeiten bzw. noch von meinem plus4-commodore. Ich bin aber intelligent und motiviert und ich habe auch die Zeit, das führt dazu, dass ich sehr gute Ergebnisse einfahre. Mein Server ist aktuell mit Sicherheit der beste Server auf dem Planeten, zumindest was die Levelphase bis 60 angeht, das ist sicher.

Auf meiner Youtubeseite habe ich auch nur einen Bruchteil der Fehlerbehebungen gezeigt, die ich tatsächlich durchgeführt habe. Außerdem habe ich einige Dinge zusätzlich implementiert, die fehlten, wie beispielsweise, dass man den Einen Ring angeln kann usw. Und das habe ich in nur 6 Monaten geschafft. Und davon hab ich 3 Monate gar nichts gemacht.

Link to comment
Share on other sites

Gestern am 1.11.2016 hatte ich nur einige kleinere Lokalisierungsfehler behoben, außerdem habe ich ein kleines Problem mit meiner Orientierungsfehlerbehebung. In bestimmten Fällen fangen die NSCs an zu zappeln, aber ich denke ich weiß woran das liegt und wie ich das ebenfalls abstellen kann. Leider geht es mir gesundheitlich nicht so besonders, deshalb kann ich nicht so lange daran arbeiten.

Außerdem musste ich leider feststellen, dass ich mehr ändern muss als ich mir wünschen würde, weil viele eurer AI-Scripts verwenden bestimmte Events von mir, die ich abgeändert habe, so dass es häufig zu Fehlfunktionen kommt. Jedenfalls häufiger als ich das gedacht hatte, weil ihr leider auch gerade das Event, das eigentlich nur für Fernkämpfer verwendet werden sollte Nahkämpfern gegeben habt, nämlich das Range-Event. Warum Ihr das gemacht habt, weiß ich nicht. Und leider müssen diese Änderungen manuell geschehen, weil leider die AI-Scripts zu unterschiedlich sind. Das wird ne Weile dauern.

Im Moment mache ich meinen zweiten Testdurchlauf auf Allianzseite, wenn der abgeschlossen ist, werde ich zwei Testläufe auf Hordenseite durchführen und mir alle Startgebiete ansehen. Danach sollten so gut wie alle Fehler behoben sein - zumindest was die Questphase bis LEvel 60 angeht. Etliche Spielmechanikfehler werde ich auch beheben. Dass beispielsweise ein Dämonenbegleiter des HExenmeisters kein Zeppelin betreten kann, darf ja nicht wahr sein oder? Die auf Nostalrius hatten zwar den fehlerhaftesten Server, den ich jemals gesehen habe, aber das und vieles andere hatten sie offensichtlich korrigiert.

Und wenn ich das alles auch geschafft habe, dann ist das Alteractal an der Reihe, Ingenieurskunst muss auch noch repariert werden, außerdem gefällt mir nicht wie sich die Rehe bewegen, ein Formationsalgorithmus muss auch noch her und zu guter Letzt sind viele Eurer Bewegungen fehlerhaft. Da muss noch ne Menge getan werden, aber in ca. einem Jahr dürfte der Prozess abgeschlossen sein.

Link to comment
Share on other sites

Heute ist der 2.11.2016: Habe die restlichen kleinen Makel beim Orientierungsfehler behoben. Das PRoblem war, dass er bei Fernkämpfern, die Combat_Movement deaktiviert hatten nicht die Orientierung gesetzt hat. Dieser Fehler wurde jetzt ebenfalls restlos beseitigt. Der Orientierungsfehler ist damit komplett gelöst.

Ich muss sagen so langsam macht mir Euer Server selbst Spaß, nachdem ich all diese Fehler beseitigt habe, aber es ist noch viel zu tun und irgendwie mag ich es Probleme zu lösen. Gut, würde lieber die realen PRobleme auf dieser Welt lösen, aber leider habt Ihr dafür gesorgt, dass ich nur ein Verlierer bin.

Link to comment
Share on other sites

3.11.2016: Habe ein Video erstellt, wo ich zeige, dass ich sämtliche Reichweitecheckfehler in Mangos behoben habe. Die hatte ich zwar schon fast alle behoben, aber Nahkampfzauberreichweiten wurden immer noch falsch berechnet. Jetzt nicht mehr. Das heißt alle Reichweiten werden jetzt ordnungsgemäß berechnet. Was vorher leider nicht der Fall war, außer für reine Fernkampfzauber (ohne Mindestreichweite) und für die Autoattacken. Die waren richtig. Obwohl eigentlich wurden nur die Autoattacken richtig angezeigt und berechnet, alles andere war falsch.

Link to comment
Share on other sites

11.11.2016: In den letzten Tagen habe ich mich auf das Beheben von Lokalisierungsfehlern beschränkt sowie dafür gesorgt, dass mein neues Rangeevent, das ich im Quellcode geändert hatte bei den NSCs, die mir begegnet sind auch funktioniert. Leider muss man das manuell machen.

Wie gesagt führe ich im Moment meinen zweiten Testdurchlauf auf Allianzseite durch. Beim ersten Mal hatte ich während des Hochlevelns noch sehr viel über Mangoszero der Datenbank und den Quellcode gelernt. Das weiß ich natürlich beim zweiten Testdurchlauf von Beginn an. Dadurch wird es mir möglich sein noch einige Fehler zu beheben oder Skripte so anzufertigen, damit die Quests etwas mehr Leben bekommen. Das Quest in der Burg in Sturmwind (Folgequest Todesminen) ist beispielsweise bereits perfekt geskriptet und in die deutsche Sprache übersetzt worden. Allerdings hatte Mangoszero Version 20 die Quest schon fast perfekt geskriptet. Der einzige kleine Fehler war, dass die Frau in die sich der Roboter transformiert hatte nur eine Miniversion war und die Texte auf Englisch waren.

Wenn ich mit diesem Testdurchlauf fertig bin, werde ich wie gesagt noch zwei Testdurchläufe auf Hordenseite durchführen. Danach werde ich mir zumindest alle Startgebiete noch mal ansehen und wenn das erledigt ist, werde ich mir noch mal alle Klassen ansehen. Danach widme ich mich dem Alteractal und versuche zumindest dafür zu sorgen, dass es nicht mehr abstürzt. Wenn das erledigt ist werde ich versuchen noch die ganzen kleineren Fehler so gut wie es geht zu beheben. Zum Beispiel die fehlerhaften Bewegungen der Spieler.

Danach sollte mein Server mit weitem, weitem Abstand der beste Server sein, im Vergleich zu allem was offiziell angeboten wird und dem Original schon ziemlich nahe kommen.

Link to comment
Share on other sites

14.11.2016: Ich beschränke mich im Moment vor allem auf die Behebung von Lokalisierungsfehlern und der Anpassung der AI-Skripts in der DAtenbank, damit es mit meinen Range-Event auch funktioniert bzw. ich korrigiere auch vorhandene Fehler, wodurch sich die NPCs nicht richtig verhalten. Nur um ein Beispiel zu nennen Frostnova sollte natürlich nur dann gezaubert werden, wenn das Ziel der Kreatur auch in Reichweite ist und nicht 100 yards weg ist. Des Weiteren habe ich leider noch ein Problem mit den Z-Werten gehabt und tatsächlich gelöst, relativ schnell sogar. Und zwar war immer noch ein Fehler für den Fall, dass die Kreatur sich in Wasser befindet, aber nicht unter Wasser ist, sondern quasi immer noch laufen kann. Da gab es Fehlerberechnungen. Das habe ich tatsächlich provisorisch behoben. DAs heißt ich berechne es nicht konkret und dadurch funktioniert es auch nicht in 100% der Fälle, aber ich sorge dafür, dass er in bestimmten Situationen immerhin keine falschen Werte verwendet, was dazu führt, dass es immerhin besser funktioniert als vorher. Es kommt allerdings leider vor, dass in bestimmten Ausnahmefällen die NSCs ein komisches Verhalten an den Tag legen, zum Beispiel weil sie anfangen zu zappeln. Das liegt einfach daran, weil der Z-Wert nicht 100%ig korrekt ist. Allerdings ist es schon ein Fortschritt, wenn einer der drei NSCs in der Höhle in Loch MOdan möglicherweise etwas zappelt, als wenn ein Nahkämpfer die Quest überhaupt nicht machen kann, weil die NSCs ständig denken der Spieler ist außer Sicht und deshalb ständig eine Sekunde im Kampf sind und dann den Kampf wieder verlassen, wodurch sie sich natürlich wieder vollheilen und erst mal keinen Schaden mehr nehmen. Sprich immerhin funktioniert die Quest jetzt für Nahkämpfer und mit etwas Glück zappelt auch keiner vond denen, aber wie gesagt, kann es vorkommen, dass die NSCs zappeln in ganz wenigen Fällen, weil die Z-Koordinate von mir leider nur geschätzt werden kann - mehr oder weniger. Aber immerhin es funktioniert jetzt besser als vorher. Und das ist ja auch etwas. Zum Beispiel, dass irgendwelche Viecher plötzlich unter der Erde verschwinden, das passiert jetzt allerdings nicht mehr und die zappeln auch nicht. Die Schätzung ist in dem Falle so gut, dass es in Ordnung ist.

Ich mache im Moment allerdings nicht so viel, weil ich meine Zeit jetzt nicht 100%ig darauf fokussieren möchte. Ich betrachte das als ein kleines Hobby, das ich ab und zu betreibe. Nur damit hier auch mal jemand was schreibt. Macht ja sonst keiner und wenn dann immer dieselben schwachsinnigen Fragen wie schaffe ich es den Server zum Laufen zu bringen. Das wird nach 5 Jahren irgendwann n bisschen langweilig. Insofern hoffe ich, dass Euch das nicht stört, wenn ein Einziger auf dem gesamten Planeten auch etwas anderes in dem Forum beiträgt.

Link to comment
Share on other sites

Heute ist der 22.11.2016: Aus aktuellem Anlass, MadMax fragte etwas über die LoadAllGrids in der mangos.conf präsentiere ich mit Stolz meine neueste Fehlerbehebung. Folgendes Problem: Mangos aktiviert NSC-Skripte nur dann, wenn sich ein Spieler in der Nähe des NSCs aufhält. Um das zu vermeiden bietet Mangoszero zwei MÖglichkeiten an:

1.) Eine Einstellung in der mangos.conf LoadAllGRids. Nachteil dieser Methode ist, dass es zu ressourcenfressend ist und den Server sehr verlangsamt.

2.) Man kann einen Schalter umlegen lassen, der im Quellcode durch eine binäre Operation ausgewertet wird, also einen spezifischen Wert für diese Kreatur in der Datenbank eintragen, durch die die Skripte dieser Kreatur bei Serverstart geladen werden.

Nachteil der 2. Methode sie funktioniert schlicht und ergreifend nicht, also habe ich mir den Quellcode angesehen warum sie nicht funktioniert. Ja, ich hab den Fehler gefunden und korrigiert. Das heißt ich bin jetzt in der Lage einzelne NSCs zu akivieren bei Serverstart ohne dass dadurch die Serverleistung in Mitleidenschaft gezogen wird. Das ist sicherlich eine schöne Fehlerbehebung, weil dadurch wird es möglich werden die Welt wesentlich lebendiger und abwechslungsreicher zu gestalten.

Link to comment
Share on other sites

@Danator You mention that you have made some localisation changes and updates, do you have anything you can post back to mangos to help others ?

--== Google Translate ==--

@Danator Sie erwähnen, dass Sie einige Änderungen der Lokalisierung und Updates vorgenommen haben, haben Sie alles, was Sie können zurück zu Mangos, um anderen zu helfen?

Link to comment
Share on other sites

Of course I help everybody as good as I can but everybody should keep some secrets ;-). But as I said I am no programmer I bet I did it not well what I changed but for me it does not matter because it works now. For me only this is important. But I mean if can do it. Okay if I can do it. I am no programmer I am no IT-specialist or whatever the word is. My C++-knowledge is close to zero. Then you and your team should easily find the solution. I mean you programmed this right? For me this means you must be much much better in Informatics and in Mathematics than me. In comparison I am an idiot. I mean I am very intelligent but I have almost no knowledge. It is not hard to find the solution. All what you have to do is to watch your own sourcecode right?

And for example if there is a if-condition in your code which prevent that the 4096 extra flag ever can happen then this your problem not mine. You should easily find such mistakes. And I wanna create the perfect privatserver. That means of course may be only may be I wanna publish some day an own privatserver for the public audience. Then of course I dont want that anybody have my corrections okay. But I gave you a hint and now you can solve the problem by yourself if you want.

I mean I did it in 5 minutes. You are a professional programmer obviously. You should need less time to correct this for example.

Link to comment
Share on other sites

Dear Danator,

Let me start rough: you are not smart, neither are you intelligent. This is why.

First of all, MaNGOS is a community project, open-source, to which a lot of people contributed on a voluntary basis to allow you to have some pleasure playing on it. These people are not paid, they are not always IT-programmers, sometimes they are only self-learner people and eager to grow up. These people may have a family life, other duties, they are not full-time on this and still they are putting their passion in it to make you get some pleasure out of it. Missing respect for their work and their labour is being an idiot.

Second point,  MaNGOS source-code is published under the GPL license v2.0 which means that any update you do on the code or in the data should be replicated back to the original source-code. Not doing it is missing some of the basics in terms of social behavior and respect of regulations. Again, you are an idiot if you are thinking you can get the best out of it by yourself.

Third point, World of Warcraft is an awesome game but like all the large projects, this is a patchwork of functionnalities not well structured and so goes the server-side source-code. If you can figure out that for a given case like yours, hack-fixing an if-else does the trick properly and does not impact other features, capabilities or performances. You 're again an idiot.

Fourth point, coming back to MaNGOS community writting down the post above, for so long, using all your arrogance isn't smart at all.

Conclusion: You're not smart and you're punishing the whole emu-scene community.

 

PS: Free-world doesn't exist, all the customer-free-behavior you are adopting today will cost you one day or another.

Link to comment
Share on other sites

Well you are not smart and not intelligent. That is right. Instead accepting my point of view you begin to insult me. I dont insult you. This is a sign of retardation from you and actually a sign of psychological disorder which makes your incompetence plausible. Obviously a retard propably from the world mafia spend you a professional education. But this makes you not intelligent. I accept that you know more than me. It is logically I am no programmer I dont do this to learn something of programming I was a player and I wanna create a privatserver (may be).  But in the meantime I like to solve problems and I like programming. And it would be stupid and retarded if I give you my solutions. First you do almost nothing on this site to help me. So why should I help you. Your site where you explain the Database is a joke. If I have a question your answers prove that you have no idea of your own code or that you dont wanna help anybody. If I did not find the cmangos site I would never correct mistakes. Because your site is bullshit. You want an exclusive club but you are not exclusive I am obviously more intelligent than you because me as non programmer as no it-specialist can correct mistakes in a few months alone which you cant correct as a whole team of experts in a few years. And you wanna tell me something. You wanna teach me something? You are not in the position boy to teach me anything neither human wise nor anything else wise. Because you are not on my level and you dont wanna teach me anything. Thats the problem of all of you guys. Cmangos their site they wanted to teach me something. And them I would give may be some of my solutions but not now. Because I wanna create a privatserver by my own. This has something to do with logic. Nothing else only logic. And I dont want that assholes like the scum people who make privatservers at the moment profit of my work. Because I dont like these assholes. Because they "ban" the intelligent players from their servers only because they played classic and know and see where mistakes are. But they are idiots. And I am no idiot. And I dont know you. But you prove that it was a very wise decision (yes I am wiser than you) that I dont tell you my solutions. Because you proved that you are an asshole.

Instead of saying boy great work dude how did you do this in the motherfucking world. You come like an idiot to me as if I was the idiot but you are the idiot. Okay. Nothing else and it does not matter how less I know and how much you know you stay the idiot and I stay the genius. Thats a fact boy. And if you have a problem with me than just close my account. I dont need some retarded guys who wanna insult me. I wanna present my project thats all and if you dont like that then close my account. But dont start insulting me only because you are too stupid to check your own code.

 

Link to comment
Share on other sites

Dear Danator,

I do understand why you get banned from other locations. You are insulting the whole MaNGOS community just because people do not want to work for you for free. This is not fair and, if you would be smart, you would know it.

I don't want to speak for MaNGOS but my statement is that I don't need people like you here if it is your mindset. You cannot deny any of my statement.

Now, get out.

Link to comment
Share on other sites

I will add one final comment to this:

MaNGOS is an educational open source project which has at its heart the ideal of sharing and helping each other.

The user above stated that they had made some changes to fix certain areas of MaNGOS but were unprepared to share any of them as they wanted to keep them for themselves.
- This is an incredibly selfish ideal when working with an open source project where we rely on people sharing their work for the good of the community.

Several other projects over the years have chosen the closed source approach this user employs, on every occasion the open source community suffers as these fixes are never given back to the source project to be incorporated and also when that project inevitably closes the code is lost.

As for the CMangos project being better and supporting this user more. It does beg the question as to why they are here and not on their forum.
- They made their choice to go in their direction and we wish them luck, just a shame that they have gone out of their way to hide the fact that MaNGOS here was their source - but that's a discussion for another topic.

In the four years I have been custodian of MaNGOS, I have only had to ban 2 users in that time because of their behaviour - With this user being the third !!

This user has now lost all forum access and will continue to have an automatic ban should they reregister with a different username. Their IP address, Email address, GitHub address and Forum names are now banned from most areas of MaNGOS.

This is not a decision we take lightly, but after reviewing not just this post but also a majority of this users other posts - we decided that it was the right thing to do.

Before I took over at MaNGOS, many of the established users felt like they had the right to abuse and berate the team and other users just because they felt like it.

I WILL NOT TOLERATE IT !!

MaNGOS is a friendly and helpful place where we work together to make it the best project there is, those that try and poison and deter us are not welcome.
- If you ever receive a reply to a post and feel that it's an unpleasant reply, please always bring it to the attention of myself Antz (@antz) or Mark (@madmax)

 

Antz (on behalf of the getMaNGOS.eu team)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use