Sieht gut aus! Viel Glück
Beiträge von Steap
-
-
Und am besten noch die Funktion in "ToggleAtlas" umbenennen (zur Klarheit) und den Fix für alle Fenster anwenden, die ihr habt. Es muss sicherlich nervig für Spieler sein, wenn nur die Hälfte "so" und die Hälfte "so" funktioniert.
-
EDIT: was komisch ist, ich finde auch nicht wo die Sachen aufgerufen, bzw wodurch sie benötigt werden.
MSM Dateien (Race Data)
Wenn du ein neues Monster oder einen NPC in der npclist einträgst, wird der eingetragene Name für die Suche nach dem passenden Ordner und nach der .msm Datei gesucht. Du kannst auch separat einen Ordnernamen und .msm Namen wählen, indem du es separat mit einem "0er Vnum"-Eintrag angibst. Schau dir dafür die ersten Einträge der npclist's an und such nach z.B dem Eintrag für pony. Also dort einmal alle Einträge überprüfen.
MDATR Dateien (Object Collision)
Metin2 lädt erst eine .gr2 Datei aus dem Zone Ordner und eine gleichnamige .mdatr Datei. Das passiert automatisch und muss nirgendwo angegeben werden. Wenn keine .mdatr Datei gefunden wird, bekommt das Objekt meines Wissens eine normale Block-Kollision die nicht präzise ist. Meines Wissens kannst du diesen Fehler ignorieren, wenn das Objekt im Spiel eine Kollision hat die in Ordnung ist. Ich würde sagen, dass das in 90% der Fälle passt.
CANNOT_FIND_PACK_FILE [d:/max work/monster2/ent_hu/aaa.tga]
Das ist einfach nur ein fehlerhafter Texturen-Eintrag aus DE. Den musst du manuell fixen, indem du den Pfad zur Textur oder das Objekt in 3DS Max anpasst. Das fehlerhafte Monster liegt anscheinend in monster2/ent_hu.
CANNOT_FIND_PACK_FILE [d:/ymir work/monster/orc_lord/32_1.gr2]
Das Problem kannst du beheben, indem du die .msa Datei suchst, welche die 32_1.gr2 haben möchte und diese .msa aus der motlist.txt austrägst oder die .msa mit der richtigen .gr2 anpasst. Wenn die Animationen vom Oberork (ich glaube, dass war orc_lord) im Spiel alle passen, kannst du die .msa und den motlist.txt Eintrag einfach löschen.
CANNOT_FIND_PACK_FILE [d:/ymir work/ui/atlas/metin2_map_spiderdungeon/atlas.sub]
Die atlas.sub wird, soweit ich weiß, automatisch für jede Map gesucht. Es gibt, wenn ich mich nicht irre, eine Blacklist in der uiminimap.py. Dort kannst du Maps eintragen, bei denen nicht nach der atlas.sub gesucht werden soll. Aber, wie bereits gesagt, könnte ich mich irren.
-
Das scheint mir nichts mit dem Shining-System zutun zu haben, sondern mit dem Shining selbst. Emission Count erhöhen und Lifetime etwas niedriger machen. Wenn du willst, dass das Shining am Spieler heftet, einfach in der .mse nach "attach" suchen und alles auf 1 stellen.
-
Jetzt habe ich dir sogar die Chance gegeben die Wahrheit zu sagen und du lügst einfach weiter. Was hast du davon? Du benutzt in deinem Fix die exakt selben Änderungen, die exakt selben Parameternamen, die exakt selben Variablennamen, sogar die exakt selbe Methode für den Fix. Menschen die keine Ahnung von Programmierung haben, denken, dass es nur diesen einen Weg gibt und es deshalb oft vorkommt, dass man Code schreibt, den es bereits gab, aber so ist das einfach nicht. Wenn du 100 Programmierer fragst, eine Lösung für dieses Problem zu finden, werden keine zwei Lösungen exakt gleich sein. Alleine wegen der Wahl für die Variablennamen.
Habe doch nicht behauptet das ich das war ich hab den Code halt aus fliege v3 aber nur nachdem ich durch debug wusste wonach man suchen muss. Ja ich lerne noch c++ aber blleleidigt mich als Lügner oder was auch immer.
Du hast gelogen. Du hast mehrmals impliziert (sogar mit einem Screenshot), dass du die Lösung für den Fehler selbst gefunden hast. Ich sagte nie, dass du immer lügst. Der Kern meiner Aussage war sowieso, dass du den Leuten nicht etwas glauben lassen sollst, was nicht stimmt und potentiell gefährlich sein könnte.
-
Bitte melden Sie sich an, um diesen Link zu sehen.
Sag den Leuten doch einfach wie es ist. Wir hätten deinen Beitrag alle mehr wert geschätzt, wenn du es einfach dabei belassen hättest, vergrabene Lösungen wieder an die Oberfläche zu bringen, aber du trittst einfach ins nächste Fettnäpfchen. Und hör bitte auf den Leuten weiß zu machen, dass etwas "nicht anzuzweifeln ist". Du kennst dich doch gar nicht mit der Materie aus, du schadest den Leuten doch nur.
Ob dadurch das Fenster-Problem gefixt wird, weiß ich nicht, aber der Code sieht komplett in Ordnung aus. Es wird einfach die Size von Images ermittelt, ich denke um nicht in falsche Speicherbereiche zu tappen.
nein das der code auf dev ist wusste ich nicht, hab das wirklich gedebugt :o
Bitte melden Sie sich an, um dieses Bild zu sehen.
Jetzt habe ich dir sogar die Chance gegeben die Wahrheit zu sagen und du lügst einfach weiter. Was hast du davon? Du benutzt in deinem Fix die exakt selben Änderungen, die exakt selben Parameternamen, die exakt selben Variablennamen, sogar die exakt selbe Methode für den Fix. Menschen die keine Ahnung von Programmierung haben, denken, dass es nur diesen einen Weg gibt und es deshalb oft vorkommt, dass man Code schreibt, den es bereits gab, aber so ist das einfach nicht. Wenn du 100 Programmierer fragst, eine Lösung für dieses Problem zu finden, werden keine zwei Lösungen exakt gleich sein. Alleine wegen der Wahl für die Variablennamen.
-
Von allem was diese Person postet würde ich die Finger lassen
Hatte doch gesagt, das war nur ein Puffer Fix davor. Das hier ist der Fix mit Hilfe vom Debug. Der ist top und man muss nix anzweifeln.
Bitte melden Sie sich an, um diesen Link zu sehen.
Sag den Leuten doch einfach wie es ist. Wir hätten deinen Beitrag alle mehr wert geschätzt, wenn du es einfach dabei belassen hättest, vergrabene Lösungen wieder an die Oberfläche zu bringen, aber du trittst einfach ins nächste Fettnäpfchen. Und hör bitte auf den Leuten weiß zu machen, dass etwas "nicht anzuzweifeln ist". Du kennst dich doch gar nicht mit der Materie aus, du schadest den Leuten doch nur.
Ob dadurch das Fenster-Problem gefixt wird, weiß ich nicht, aber der Code sieht komplett in Ordnung aus. Es wird einfach die Size von Images ermittelt, ich denke um nicht in falsche Speicherbereiche zu tappen.
-
Du. Löschst. Ohne. Nachzudenken.
Wenn ich das richtig verstanden habe, werden in m_ReserveDeleteWindowList alle destroyed Window -Instanzen eingefügt, welche beim nächsten Window Update zerstört werden. del löscht die Objekte auf die der Pointer zeigt, .clear() dann die Pointer selbst. Bei dir werden aber nur die Pointer gelöscht und die Objekte bleiben bestehen, was zu einem Memory Leak führt. Das ist also so oder so erstmal ein sehr unüberlegter "Fix".
Der Client crasht wahrscheinlich, weil er mit del versucht einen ungültigen Pointer zu löschen. Vielleicht sind auch mehrere gleiche Pointer in dem Vektor. Raupy meinte wahrscheinlich, dass du nach den Windows oder den Code suchen sollst, der diesen ungültigen Pointer erzeugt, statt einfach gar keinen (auch gültige Pointer) zu löschen.
Ich glaube, so dürfte das richtig sein:
CodeHier überprüfe ich, ob der Pointer ein gültiger Pointer ist, bevor ich ihn lösche. Wenn dein Problem durch diesen Code kam, ist es wahrscheinlich hiermit gefixt. Ich bin aber kein C++ Experte, vielleicht sollte da jemand das Ok geben.
Das erklärt aber trotzdem nicht, warum du ungültige Pointer in deinem Vektor hast.
Ungültiger Pointer trifft es gut, ich denke das irgendein window im vektor ein dangling pointer ist der auf junk zeigt, und wenn delete den Destruktor von diesem window aufrufen will er dann crasht. Dein Code wird das aber nicht erkennen, er weiß ja nicht ob der pointer auf junk zeigt, für ihn ist so alles was im vektor steht ein window pointer der destroyed werden muss.
In der Situation hilft dann nur debugen, sonst ist es die Nadel im Heuhaufen (milde gesagt). Solche Pointer sind mit die aufwendigsten Fehler die man haben kann.
Übrigens für einen nullptr check mit anschließendem nullptr setzen bei delete gibt es is der source auch ein Macro das man nutzen kann, dann entstehen schonmal keine neuen dangling pointer, weil man das nullptr setzen vielleicht mal vergisst.
Bitte melden Sie sich an, um diesen Anhang zu sehen.
Aber vor dangling pointern die schon entstanden sind schützt das natürlich nicht, da muss man dann debugen, da kommt man nicht drum rum.
Danke für die Klarstellung, ich bin leider nicht so begabt in C++ wie manch andere hier haha
-
wieso fühlst du dich so angegriffen, als hätte jemand deine Eltern ermordet? Raupy hat gute Argumente geliefert wieso man es nicht machen soll und du bist direkt beleidigt wie ein kleines Mädchen.
Wo sind das gute Argumente? Wenn man nicht mal liest was ich schreibe. Es kann an keinem Windows liegen was crasht. Es haben ja nicht alle.
Du. Löschst. Ohne. Nachzudenken.
Wenn ich das richtig verstanden habe, werden in m_ReserveDeleteWindowList alle destroyed Window -Instanzen eingefügt, welche beim nächsten Window Update zerstört werden. del löscht die Objekte auf die der Pointer zeigt, .clear() dann die Pointer selbst. Bei dir werden aber nur die Pointer gelöscht und die Objekte bleiben bestehen, was zu einem Memory Leak führt. Das ist also so oder so erstmal ein sehr unüberlegter "Fix".
Der Client crasht wahrscheinlich, weil er mit del versucht einen ungültigen Pointer zu löschen. Vielleicht sind auch mehrere gleiche Pointer in dem Vektor. Raupy meinte wahrscheinlich, dass du nach den Windows oder den Code suchen sollst, der diesen ungültigen Pointer erzeugt, statt einfach gar keinen (auch gültige Pointer) zu löschen.
Ich glaube, so dürfte das richtig sein:
CodeHier überprüfe ich, ob der Pointer ein gültiger Pointer ist, bevor ich ihn lösche. Wenn dein Problem durch diesen Code kam, ist es wahrscheinlich hiermit gefixt. Ich bin aber kein C++ Experte, vielleicht sollte da jemand das Ok geben.
Das erklärt aber trotzdem nicht, warum du ungültige Pointer in deinem Vektor hast.
-
20.05.2023: Cloud number changes and incoming folder structure changes
[German]: Die Bilder in meiner Cloud haben jetzt neue Nummern! Wenn ihr alte Nummern gespeichert habt, könnt ihr diese immer noch bei mir zum Kauf verwenden, jedoch werden sie in der Cloud nicht mehr verfügbar sein. Ich bitte alle Kunden ab dem 01.06.2023 nur noch das neue Nummernsystem zu verwenden (selber Cloud Link)! Diese Änderung dient der Modularität. Wenn ich die Bilder von einem Spiel erneuern möchte, kann ich dies jetzt machen ohne den Rest der Cloud zu erneuern. Zudem habe ich nun ein neues, internes Filtersystem um eure Aufträge deutlich schneller vorzubereiten (doppelt so schnell). Fehlende Animationen oder defekte Modelle gehören jetzt zu 98% der Vergangenheit an!
Des Weiteren wird bereits in naher Zukunft eine Änderung der Ordnerstruktur stattfinden. Dadurch werden erneut alle Nummern einmalig erneuert, jedoch müsst ihr euch darum keine Gedanken machen. Auch wird eine neue Ordnerstruktur und deutlich bessere Bild-Perspektiven in Kürze folgen.
Die letzte Änderung die in kürze folgt ist ein kompletter Umzug der Cloud. MEGA benötigt leider unendlich lange um die Bilder zu entschlüsseln, weshalb es bei manchen fast eine Minute dauert um den Link zu öffnen. Bis meine Webseite nicht fertig ist, wird das die beste Alternative sein.
[English]: The images in my cloud now have new numbers! If you have saved old numbers, you can still use them to buy from me, but they will no longer be available in the cloud. I ask all customers from 01.06.2023 to use only the new numbering system (same cloud link)! This change is for modularity. If I want to renew the images of a game, I can now do this without renewing the rest of the cloud. Also, I now have a new internal filter system to prepare your orders much faster (twice as fast). Missing animations or broken models are now 98% a thing of the past!
Furthermore, a change in the folder structure will take place in the near future. This means that all numbers will be renewed once again, but you don't have to worry about that. A new folder structure and significantly better picture perspectives will also follow shortly.
The last change that will follow shortly is a complete relocation of the cloud. Unfortunately, MEGA takes an infinitely long time to decode the images, which is why it takes almost a minute to open the link for some of them. Until my website is ready, this will be the best alternative.
-
Wenn du dir die gemischt aus verschiedenen Clienten holst, wirst du sehr schnell an der Kontinuität scheitern. Es ist ein SEHR großer Unterschied, ob ein Alphakanal über Bildbearbeitung oder Highlight Selektion / manuelles Zeichnen erstellt wurde. Alphakanäle die mit Bildbearbeitung generiert wurden sehen oft miserabel aus, aber das ist wohl Geschmackssache. Leider sind diese Alphakanäle je nach Client ziemlich verschieden und dann sieht die eine Rüstung mal super gut aus und die andere ist dann überbelichtet und hat an Stellen Alpha, an denen es nicht gut aussieht.
Was für dich wahrscheinlich am besten wäre:
Du suchst dir so viele Texturen wie möglich aus dem Internet und sortierst aus, welche am schlechtesten sind. Diese lässt du dann einfach von jemanden neu machen. Ich kann mich an den Stil der bereits bestehenden Texturen problemlos anpassen. Bei mir kosten Texturen meistens 2 - 5€, je nach Komplexität. Wenn du also Interessen oder Fragen hast, kannst du dich gerne melden.
Viel Glück auf deiner Suche!
-
Du benutzt die Funktionen falsch.
Du versuchst:
Hast aber:
und das selbe bei:
und
Du versuchst irgendwo die alten Funktionsparameter zu verwenden anscheinend und hast sie nicht richtig angepasst. Geh nochmal alle Parts im Tutorial durch, wo P2PSetMemberLevel und CHangerMemberData verwendet werden.
-
Bitte melden Sie sich an, um diesen Anhang zu sehen.
hab 2 sekunden photoshop geöffnet
pflaster benutzt
feddich
Das ist aber ein wirklich unattraktives Pflaster..xD
-
Existiert die Übersetzung? Hast du eine Syserr im Clienten?
-
Das macht den Pull-Ninjas das Leben schwer
Wer benutzt den heut zu tage noch Pull-Ninjas ? xD
NORMALE MENSCHEN :<
-
Zitat von Unbekannt
Naja wenn man nen fick auf die Veröffentlichung von Dbs gibt nicht, true
Zitat von SteapEs geht um einen komplett anderen Server. Du weißt doch gar nichts über interne Protokolle und Verläufe. Woher willst du wissen, dass die Leute über sowas nicht informiert werden?
Da ich geschrieben habe, dass ich weiß, wie viel Mühe die Personen in dem Team sich geben und nichts falsch laufen kann, gehst du ja mit deiner Antwort offensichtlich (soweit ich das verstanden habe) davon aus, dass die Gefahr besteht, dass die Datenbank erneut veröffentlicht wird oder verstehe ich das falsch? Wenn ich das falsch verstehe, kannst du es gerne nochmal erklären. Und im Falle, dass du das genau so gemeint hast, habe ich gesagt, dass du doch gar nichts über die internen Maßnahmen bescheid weißt.
-
So far the posts in this thread really helped me understand, but there is one thing i don't really understand. For a HDD, a IOPS of 0.5 - 2.0 is typical or isn't it? I know it's normal for SSDs to have a absurd large amount but HDDs work different as far as i know.
You seem to understand the values, would you say that i should change it? The HDD in my screenshot is this one:
Bitte melden Sie sich an, um diesen Link zu sehen.idk what model your hdd is but it seems not normal. your hdds 4 KB write speed is very low.
> 50 IOPS are normal for a hdd (because there is a mechanical disc inside them). (also your IOPS is not 1.71, you have not selected IOPS mode from CDM)
The hdd in the link you threw is only good if you use it for storage purposes. its slower than a typical HDD (5400 RPM vs 7200 RPM) --> higher RPM == more speed
Thank you!
-
Viel Glück! Wie viel Mühe ihr euch macht weiß ich inzwischen, da kann man wohl nichts falsch machen C:
Naja wenn man nen fick auf die Veröffentlichung von Dbs gibt nicht, true
- Erwachsenes Verhalten - Du solltest dich nicht von jedem kleinkram angegriffen fühlen und mit jeglichen Situationen erwachsen umgehen können.
Bist du nicht selber jemand der sich super schnell angegriffen fühlt?
Es geht um einen komplett anderen Server. Du weißt doch gar nichts über interne Protokolle und Verläufe. Woher willst du wissen, dass die Leute über sowas nicht informiert werden?
-
Everything up there is IOPS (Input/Output per Second > 1/2/1/2)
Steap
Deine Zahlen sind sehr gering falls nur das deine Frage ist.no its not. writing and reading large files is always fast, but the important thing is that they read and write 4 kilobytes randomly. IOPS refers to the total input and output the device can do in one second, not just input and output.
e.g benchmark (u can see IOPS);
Bitte melden Sie sich an, um diesen Link zu sehen.
(980 pro nmve ssd)
So far the posts in this thread really helped me understand, but there is one thing i don't really understand. For a HDD, a IOPS of 0.5 - 2.0 is typical or isn't it? I know it's normal for SSDs to have a absurd large amount but HDDs work different as far as i know.
You seem to understand the values, would you say that i should change it? The HDD in my screenshot is this one:
Bitte melden Sie sich an, um diesen Link zu sehen. -
Viel Glück! Wie viel Mühe ihr euch macht weiß ich inzwischen, da kann man wohl nichts falsch machen C: