Beiträge von Lead0b110010100

    Bitte melden Sie sich an, um dieses Bild zu sehen.


    Da hier wirklich alles aus dem Kontext gerissen wurde, lasst mich mal meine Seite der Dinge schildern. Wem ihr am Ende glaubt, ist ja eure Sache.


    Hier das "Konzept" um das es geht, das ich neu hochladen musste, weil er das aktuelle Konzept gelöscht hat (damit ich keinen Zugriff drauf habe wahrscheinlich). Das Problem ist, mein Gedächtnis ist wie MiiMii's Festplatte:

    Bitte melden Sie sich an, um diesen Link zu sehen.


    Nach der ersten Zahlung von 500 € hat er die einfachsten Dinge meiner Konzeptliste zuerst erledigt und ich war bis dahin zufrieden.

    Bis dahin ist alles korrekt, geh ich mit.


    Nach der zweiten Zahlung von 500 € wo im Grunde nur 12 Punkte standen, hat er schlampig gearbeitet und mir fast den gesamten Server gecrasht.

    Interessant. Also bei mir ist dein Server aktuell online. Btw. bevor jetzt irgendjemand kommt mit "Jaja, wieder Marty Files" - Das war bevor es die Regel gab das Developer dies nicht durften also pssht.


    Bitte melden Sie sich an, um dieses Bild zu sehen.


    Bei mir ist dein Server bestehend aus einer DB, einer Auth, 2 Channels je 1 Core und einem Game 99 Core online. Ich kann sogar beweisen, dass ich relativ konsequent am Server gearbeitet habe, außer in meiner Bachelorschreibphase. Dafür stelle ich alle 5 (4) Github Repos online. Ich finde, wer mir so viele böse Dinge anhängt, kann mit einem Backlash rechnen.

    Bitte melden Sie sich an, um diesen Link zu sehen.

    Bitte melden Sie sich an, um diesen Link zu sehen.

    Bitte melden Sie sich an, um diesen Link zu sehen.

    Bitte melden Sie sich an, um diesen Link zu sehen.


    * Metin2BE-Tools werde ich nicht auf öffentlich stellen, da in einer der Konfigurationsdateien die Daten zu seiner Datenbank stehen und ich ihn nicht 'exposen' will oder sonst was.


    Aus den Statistiken auf Github geht zum Beispiel hervor, dass ich nur in den 5 Monaten meiner Bachelorschreibphase (3 Monate schreiben und anschließendes Kolloquium, hat sich auf etwa insgesamt 5 Monate gestreckt) nichts am Server gemacht habe, wie besprochen. Das ich danach weniger gemacht habe, liegt nicht daran das ich weniger Lust hatte oder ihn nicht mochte, es gab schlichtweg weniger auf der TO-DO von mir. Es gab ja nur noch die 12 Punkte die er benennt.


    Bitte melden Sie sich an, um dieses Bild zu sehen.



    Durch die Hilfe von jemand anderem habe ich das noch zum Glück mit den alten Backups noch größtenteils wiederherstellen können.

    Diese 12 Punkte hätte er in einem Monat locker schaffen können, er hat sich aber kaum Zeit für mich genommen.

    Jetzt nach ca. 8 Monaten ist meine Konzeptliste immer noch nicht fertig, die schwierigsten Punkte hat er zum Ende geweigert umzusetzen.

    Seine Ausrede: das Kontingent ist längst überschritten...

    Lass uns diesen Schwachsinn mal auch eben aus der Welt schaffen, findest du nicht?

    Von allen roundabout 150 kleinen / großen Punkten auf seiner Liste wurde nur folgende nicht bearbeitet:


    Bitte melden Sie sich an, um dieses Bild zu sehen.


    Also nein nein, ich hab ihm sein Transfersystem geschrieben, das war nicht das Problem:


    Bitte melden Sie sich an, um dieses Bild zu sehen.


    Er hat im Nachhinein eine weitere Aufgabe notiert. Er wollte, dass das Fenster nicht mit F7 sondern mit einem Button auf dem Interface geöffnet / geschlossen werden kann. Jetzt lest euch den folgenden Satz bitte nochmal durch: Jetzt nach ca. 8 Monaten ist meine Konzeptliste immer noch nicht fertig.


    Nochmal Goku. Ich hab nichts gegen dich. Ich hab meinen Teil der Abmachung wirklich erfüllt, die Extras müsstest du eben kaufen. Du kannst nicht ständig mehr und mehr und mehr pro Punkt fordern und dann so tun, als hätten wir das vorher besprochen. Nein haben wir nicht, für mich dauert es keine 5 Minuten deinen Button da irgendwo hinzuplacen. Ich mach, dass der Button GangnamStyle tanzt oder mit der Gemischtwarenhändlerin flirtet wenn du willst - Aber nur wenns vorher besprochen wurde. Deshalb habe ich dir gesagt "Das Kontingent wurde schon längst überschritten." Das soll für dich heißen, dass du schon vielzuviel gefordert hast für diese 500€, die noch nicht auf dieser 150 Punkte TO-DO stehen. Das Problem ist, dass er für jede Kleinigkeit mich braucht. Ich soll einen Text für ihn ändern, ich soll einen Button um 3 Pixel nach rechts verschieben und so weiter. Weiter betitelt er alles als Bug und komischerweise bin ich immer Schuld. Aktuell gibt es Clientcrashes und diese gibt es, seitdem ich von meiner Bachelorschreibphase zurück bin. Das heißt, dass ich effektiv die einzige Variable in dieser Rechnung bin, die du nicht für deine Clientcrashes veranwortlich machen kannst. Im Gegenteil, ich hab sogar versucht mit dir diese Crashes zu fixxen insgesamt in 3 Sessions.


    Er hat mich anschließend öfter indirekt beleidigt und immer so getan, als ob alle sein Wissen haben müssen, sonst wäre man ja blöd.

    Zudem kommt er nicht mit Leuten klar, die sorgfältig seine Arbeit überprüfen. Er selbst aber erwartet von anderen Höchstleistungen.

    Das ist eher eine schwache Anschuldigung, ohne Beweise, aber soll ja niemand behaupten ich hätte seinen Thread nicht ordentlich gelesen.

    Ich habe dich zu keinem Zeitpunkt direkt oder indirekt beleidigt. Ich habe nur mal offen und ehrlich gesagt, dass ich finde, dass du dich dümmer stellst als du bist. Ja, du bist kein Developer aber wenn du es nicht schaffst, Koordinaten für einen Button zu ändern und mich auch nicht fragst, wie das geht - Dann stellst du dich einfach dumm. Anders kann ich mir das nicht erklären. Genauso sieht es aus mit diesem offenen Punkt, das kannst du auch selbst machen. Es ist keine Raketenwissenschaft und war sowieso nicht abgemacht.


    Wie es sich herausgestellt hat, hat er anscheinend noch nie ganze Konzepte für diese Summen umgesetzt und sich dabei ordentlich verkalkuliert.

    Wie bitte? Hast du die 7 Seiten mit Kunden nicht gesehen, oder wie erklärst du diese Aussage..? Ich habe genügend Konzepte umgesetzt und schon für mehr als (sorry) läppische 500€ für einen Monat. Aber noch nie mit einem so perfektionistischen Menschen wie dir, das ist abartig. Jeder kleine Pixel wird bemängelt, obwohl das überhaupt nicht Teil der Abmachung war. Fürs Transfersystem z.B: habe ich keine einzige Vorlage bekommen, keine mit Paint gezeichnete GUI oder sonst was. Auf Anfrage hab ich dann ein GUI von einem anderen Server von ihm erhalten, davon aber kein Bild - Ich habs mir nur mal ansehen dürfen über AnyDesk kurz (Zumindestens hab ich kein Bild im Chatverlauf gefunden, das ganze ist schon 8 Monate her - Also entschuldigt wenn ich jetzt nicht komplett hochscrollen will).


    Passt bloß bei diesem schmierigen Lügner auf, der ist nur Geldgeil und die Kunden sind nur scheiß Nummern, die er abarbeitet.

    Dank ihm bin ich jetzt über 2000 € los und fast ein Jahr meiner Zeit verschwendet, was viel schlimmer ist.

    Diese Files kann ich ja jetzt vergessen, da ich diesem Lügner nicht traue. Der hat vielleicht noch irgendwelche Backdoors eingebaut.

    Zunächst einmal, waren es insgesamt 1000€ und nicht 'über 2000€'.

    Weiter habe ich keinerlei Backdoors in deinen Files verbaut. Dies können die Developer ja nun selbst prüfen, da das Repo public ist.

    Wer da drinne einen Backdoor und meinen Commit zum Backdooreinbau findet, kriegt einen saftigen 10€ XXL Döner.

    Vor allem, wie soll ich heimlich einen Backdoor einbauen, wenn ich alles was ich tue bei Github pushe und mich quasi damit selbst zerstöre?


    Wieder nur Behauptungen und Anschuldigungen, nichts weiter.


    Da er auch Leuten Files aufsetzt und verkauft die ungewollt von Marty Sama veröffentlicht wurden, was ich leider auch zu spät erfahren habe, ist schon schlimm genug.

    Auch falsch, im ersten Gespräch habe ich ihm gesagt das diese Files released wurden auf m2u und ich diese gerne nutzen würde. Wie gesagt, damals gab es diese Regulierung seitens metin2downloads noch nicht und das Files aufsetzen für Geld war nicht verboten.


    Hier mal etwas Persönliches, hinter dem Typen von Lead:

    Ich wünsche dir weiterhin viel Erfolg mit deinem Server. Ich glaube auch immernoch daran, dass dieser Server gut wird.

    Allerdings benötigst du dafür einen Developer, den du anständig bezahlst und über den du nach der Geschäftsbeziehung keine Unwahrheiten erzählst.

    Ich habe nur einen Unterpunkt eines von 150 Punkten nicht erledigt und das als symbolischer Klickmacher. Damit du merkst, dass du zu viel forderst.

    Hiermit beende ich dann auch jegliche Geschäftsbeziehung zu dir und bin zu keinem persönlichen Gespräch bereit.


    Vielen Dank und viel Erfolg weiterhin.

    ~ Lead

    "0 - 360 Grad"


    Hä soweit ich weiß exestiert nur 0-8

    Du kannst ein 3D-Objekt um 360 Grad drehen, diese Lua-Funktion ermöglicht dir den Spawn eines Mobs(Objekts) in den beliebigen Graden, die Funktion für Ausrichtung der NPCs / Monsters aus der .txt Dateien sind festgelegt und auf die Grenze (0-8) beschränkt. Ich habe mich zwar damit nicht befasst, es wäre aber eine kohärente Erklärung dafür. Die jeweiligen Zahlen von 0 - 8 besitzen feste Graden (z.B 0 -> 10 Grad, 1 -> 25 Grad, 2 -> 50 Grad, etc. )

    Danke fürs teilen!


    Was passiert wenn die Variable "dir" einen größeren Wert als 360 Grad bekommt?

    Habs nicht ausprobiert, aber wenn man in der Regendatei mehr als 8 als direction nutzt, dann fängt Metin so an als hättest du die Zahl modulo 8 gemacht.

    Bei 9 => 1

    Bei 10 => 2


    usw.

    "0 - 360 Grad"


    Hä soweit ich weiß exestiert nur 0-8

    Ja, der Code ist folgendermaßen strukturiert:


    Wenn direction = 0 dann wähle eine random position zwischen 1und 8 MAL 45 Grad. Weil 360 / 45 = 8 und so.

    So setzt man eine spezifische Richtung wie 277, statt nur die 1-8 zu nutzen.


    Die Funktion die du hier nutzen willst ist die d.spawn_mob_dir(vnum, x, y, dir)

    Hallo,


    Erklärung:

    Die Funktion d.spawn_mob_ac_dir(vnum, x, y, dir) spawnt eine Instanz 'vnum' in den lokalen Koordinaten 'x' und 'y' mit der Richtung 'dir'.

    Der Datentyp von 'dir' in der folgenden Funktion ist BYTE => unsigned char => Wertebereich geht von 0 - 255. Möglich für die Variable dir wären 0 - 360 Grad.

    Gibt man nun einen Wert zwischen 255 und 360 (Grad) an, dann wird der Wertebereich des Datentyps 'unsigned char' überschritten (Overflow).


    Beim FIX stelle ich den Datentyp dieser Variable auf DWORD => typedef für 'unsigned int' => Ganz viel größere Werte (0 bis etwa 4.3 Milliarden).

    Für mehr Infos: Bitte melden Sie sich an, um diesen Link zu sehen.


    Tutorial zum Fixxen:


    game/src/questlua_dungeon.cpp:

    Suche folgende Zeile:

    Code
    1. BYTE dir = (int) lua_tonumber(L, 4);


    und ersetze sie mit:

    Code
    1. DWORD dir = (DWORD) lua_tonumber(L, 4);


    in der Funktion:

    Code
    1. ALUA(dungeon_spawn_mob_ac_dir)
    2. {
    3.             [...]
    4. BYTE dir = (int) lua_tonumber(L, 4);
    5.        }


    War mir nur grad aufgefallen, außer mir nutzt die Funktion wahrscheinlich eh keiner. Aber falls doch: Gerngeschehen.


    MfG

    Ich hab nochmals ein System + einen Bugfix in Auftrag gegeben. Ich bin mit den Resultaten wirklich sehr zufrieden, er versucht auf meine perfektionistische Art gut einzugehen.

    Er bekommt viel zu wenig Aufmerksamkeit für die Fachkenntnis die er hier vorzuweisen hat. (Er nimmt mir wirklich MASSIV viel Arbeit ab in letzter Zeit und das zu recht günstigen Preisen).


    Ich empfehle ihn nochmals jedem! <3

    Ich glaube du hast meine Frage nicht ganz verstanden. Öffnest du jedes dieser Muscheln über ein Paket wie oben beschrieben einzeln? Oder gruppierst du sie in einer Art "Bulk Update" (Googeln falls Wort nicht bekannt)?

    Es öffnet sich über die gruppierung, VNUMS Muscheln, Coins, Yang Barren, Über Python ist es einstellbar welches Item benutzt werden darf und welches nicht.

    Schau mal, ich glaub du verstehst das nicht. Lies den Text erneut und diesmal wirklich aufmerksam :)

    Oder schreib mir auf Discord, ich zeige dir was ich meine.

    Hey, es ist eine OnUpdateSelf und CheckBox Funktion. Danke und ja müsste man schauen!

    Ich glaube du hast meine Frage nicht ganz verstanden. Öffnest du jedes dieser Muscheln über ein Paket wie oben beschrieben einzeln? Oder gruppierst du sie in einer Art "Bulk Update" (Googeln falls Wort nicht bekannt)?

    Mich würde interessieren ob du jedes Item einzeln öffnest per:

    Code
    1. net.SendBlaBlaPacket


    Oder sone Art "Massenöffnen" programmiert hast.


    Bei Ersterem wird das System super funktionieren, bei 1, 10 oder 100 Spielern. Bei 1000 wird das aber zum Bottleneck und realem Problem.

    Wenn die Core nur noch damit beschäftigt ist, diese Pakete von 1.000 Spielern zu bearbeiten, kommt es nicht mehr zum Rest. Logisch oder? Laggs / Mögliche Corecrashes wären das Ergebnis. Womöglich sogar Speicherplatzprobleme. Weil jedes Öffnen einen syserr Eintrag erzeugt. Bring deinen Server online und wir testen Mal gemeinsam ob du in der Lage sein wirst die syserr's schneller zu löschen als die 1000 Bots die täglich 1 Millionen dieser Items öffnen.


    Abseits dessen unterstütze ich neue Entwickler herzlichst gerne. Wollte dir nur einen Anreiz geben und dich etwas warnen, Metin2 ist nicht allzu performant - Wir müssen das als DEVs nicht noch schlimmer machen :P

    Lyricz Ich hoffe die Frage ist an der Stelle erlaubt, aber warum bist du so missgünstig und jähzornig?

    Oder um es mal in der Sprache der Metin2 Community zu sagen: "Wer hat dich denn gefickt?".


    Erstmal muss sich hier niemand "zu den Vorwürfen äußern", wo sind wir denn hier. Zumal das nicht Mal Vorwürfe waren, sondern das was du auch hättest machen können. Die Waffen werden nicht neu erstellt, sondern natürlich von anderen Spielen gerippt und auf Metin2 angepasst (Zwecks Griffhöhe, Texturierung und so weiter und so fort). Da ist es jetzt auch kein Wunder, wenn irgendein Waffenset irgendwo mal released worden ist. Ein simples "Hey, das Waffenset wurde da und da released." per Privatchat und das Thema ist vom Tisch.


    Was hätte Savelin denn sonst machen sollen? Alle Threads seit 2012 durchforsten auf das er ja nichts rippt was schon publik ist? Mach du das doch und dann schreib ihm jede einzelne per PN und fertig. Wenn du die Zeit hast, wird dich keiner aufhalten.

    Willst du mein Rechtsanwalt sein? Ich zahle auch, 'ich schwöre digga'.


    Nein im Ernst, sehe das genauso. Jeder muss selbst entscheidem wem er was verkauft. Im echten Leben gibt es Kaufverträge, die btw. auch durch 'Blicke' zustande kommen können z.B. wenn man in der Bar nickt wenn der Barkeaper an eine bestimmte Flasche geht. Aber wir sind hier nunmal im Internet und im Regelfalle gibt es keine Verträge zwischen den Parteien. Ich hatte Zeit meines virtuellen Metin2-Lebens nur einen Vertrag in dieser Szene abgeschlossen, wo es nicht Mal um hohe Summen ging.

    You will hate yourself in some months for writing that down. You probably don't know your customers well enough :D

    Maybe yes but we belive that the customer should always have support when system purchased from us doesn't work. We working together and we have a lot of time for this so I think we can do it :D

    Yeah just keep that emotions alive. I will ask in some months when you're emotinally dead and hate everybody.

    Danke, so eine Erklärung hatte ich gesucht. Hatte mir nur diese Standard Frage gestellt 'Kann ich nun jedes range mit xrange ersetzen??' und dachte mir dann: 'Moment Mal, es wird schon seine Gründe haben das es zwei verschiedene Range-Funktionen gibt'.


    Ich markiere den Thread mal als erledigt.

    Hast du das Problem verstanden? :D

    0 xD

    Edit: xrange ist aber immer performanter falls das die frage ist, deswegen wurde es ja in python3.x ersetzt

    Kannst du das irgendwie belegen? Weil die Theorie ist klar. Die Frage ist, was ist schneller:


    1) 1.000.000 Zahlen bei Abruf erstellen und zurückgeben (Generatoren -> yield)

    2) 1.000.000 Zahlen in Liste speichern und Listenelemente aufrufen (Random Access Iterator -> [])