Beiträge von Steap

    Promotion ist Promotion und alleine die Spieler die man damit erreicht die Metin2 aus ihrer Kindheit kennen, aber noch nie einen privaten Server gespielt haben (weil sie davon vielleicht nicht wussten), sind eine sehr gute Spielerquelle. YouTube und Twitch Streamer werden ständig gesperrt und streamen einfach mit neuen Accounts weiter. Auch auf TikTok sieht man ständig die selben Streamer mit neuen Accounts. Diese Art von Promotion macht nur Sinn, weil sie auf einer Plattform sind, auf der potentiell Millionen Nutzer sich die Videos ansehen können und ein kleiner Prozentteil von so vielen Nutzern reicht schon aus um einen Server mit einer Handvoll neuen Spielern zu versorgen.


    Ich würde keinen Streaming Service mehr starten. Ich glaube, niemand oder selten jemand denkt sich: "Oh, ich hätte jetzt Lust auf einen Metin2 Stream", sonst hätten Metin2 Streamer deutlich mehrere Views und Follower / Abonnenten. Deshalb würde eine Plattform, spezifisch für Metin2 (noch schlimmer, wenn unspezifisch) wahrscheinlich keinen Sinn machen.

    Ich habe damals angefangen ohne die Theorie zu lernen und ich habe so viel Zeit mit Kopfschmerzen verschwendet, dass ich mir heute wünschte, dass ich mich früher an einen Kurs gesetzt hätte, welcher mir alles einmal beibringt. Du wirst deutlich schneller lernen, wenn du dir Modellieren mit online Ressourcen beibringst und als Projekt zum Lernen deine Wunschmodelle erstellst (damit du die Erfahrung direkt anwenden kannst und dich nicht langweilst).


    Wenn du dich privat meldest, kann ich dir eine Liste zusammenstellen mit Themen die du lernen solltest. Animieren ist nochmal ein separates Thema und ich habe mich nicht allzu viel damit beschäftigt.

    Ein Jail virtualisiert kein Betriebssystem, sondern nutzt das aktuelle Betriebssystem (und dessen Kernel) und isoliert eine eigene Umgebung. Ein Jail kommt mir auch etwas Overkill vor, nur um Libraries auf 32-Bit zu compilen.

    Wenn du weiterhin keine InstanceBase überprüfen lassen willst, ist es eigentlich sauber genug, der Klasse die du überprüfen lassen willst, eine eigene IsInSafe Methode zu geben. Du musst dir da keine Gedanken um die Sauberkeit machen. Code-Einkapslung trägt auch zur Sauberkeit bei :)

    Die Methode funktioniert nur auf einer InstanceBase Instance.

    Beautiful! I love it :) These „small“ (doesn‘t really depend on line of codes) releases are really powerful

    Isn't that basically the same thing as if you would add them manually?


    I still like the idea. Even cooler, if the effects hide at day and show at night time :)

    Hier findest du ein Tutorial von ToXiC (Punkt 2 ist Server aufsetzen):
    Bitte melden Sie sich an, um diesen Link zu sehen.


    Da lernst du und deine Freunde genug um anfangen zu können. Nachdem ihr euch alles durchgelesen habt, könnt ihr euch für passende Serverfiles entscheiden. Wenn ihr komplett bei null anfängt und keiner von euch wenigstens die Basics der Programmierung versteht, werdet ihr einen Entwickler brauchen.


    Baut lieber etwas kleines und dafür funktionales und dann baut darauf auf und nutzt es als Basis für etwas größeres. Wenn ihr sofort mit großen Plänen startet, wird euch keiner ernst nehmen und ein Team zu finden wird nicht einfach. Zudem sind große Projekte zum scheitern verurteilt (besonders mit keiner Erfahrung).


    Viel Glück auf dem Weg! :)

    Wenn du es genau so machst:


    Code
    1. self.input_id_icon.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowToolTipInfo)
    2. self.input_id_icon.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideToolTipInfo)
    3. self.input_re_icon.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowToolTipInfo)
    4. self.input_re_icon.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideToolTipInfo)


    Was erhältst du für einen Fehler in der Syserr?

    Code
    1. self.input_id_icon.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowToolTipInfo, 0)
    2. self.input_id_icon.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideToolTipInfo, 0)
    3. self.input_re_icon.SAFE_SetStringEvent("MOUSE_OVER_IN", self.__ShowToolTipInfo, 1)
    4. self.input_re_icon.SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideToolTipInfo, 1)

    Das letzte Argument wird wohl nicht in jeder Codebasis unterstützt. Entferne mal das letzte Argument von den vier Zeilen Code und versuche es erneut. Ansonsten, lad auch deine ui.py hoch, damit wir uns SAFE_SetStringEvent anschauen können.

    Ich glaube, das Problem ist, dass es sich um Texturen handelt. Die werden wahrscheinlich runterskaliert, aber ich bin mir nicht sicher. Wenn die Textur zu klein ist, wird eine so schon kleine Zahl noch kleiner und deshalb unlesbar / schlecht lesbar. Vielleicht mal in diese Richtung schauen.

    Ich denke, ich würde es so machen (nur STRG + A):

    Natürlich wäre es schöner mit Events und generell, die Implementation im Stil von Metin2 zu machen, aber das wäre ein Ansatz den man gehen könnte. Das ist nur Pseudo Code. Vielleicht klappt es, vielleicht nicht.


    Wenn du es auf die Maus erweitern möchtest, sollte das auch nicht so viel Aufwand sein. Dann würde ich aber direkt in der GrpTextInstance -> __DrawCharacter() Funktion arbeiten und auch dort die Rect Größe für das Highlighting ermitteln. Dann kannst du auch direkt errechnen, wie der Index des ersten und letzten characters ist, der von der Maus selektiert wurde (mit der TextLine und Mouse Global Position).

    Vielleicht sowas?

    Code
    1. m_ItemshopCategories.insert(std::make_pair<int, std::string>(table->index, table->info));

    Ich vermute mal, dass table->info ein string ist. Falls nicht, einfach mit dem passenden Datentypen austauschen. Eigentlich hat std::pair einen passenden Konstruktor zum erstellen von Key-Value Pairs, aber vielleicht ist das auch Versionsabhängig.


    Edit:

    Alternativ kannst du es auch so machen, wie Metin2 es sonst im gesamten Source macht (jedenfalls bei mir):

    Code
    1. m_ItemshopCategories.insert(std::make_pair(table->index, table->info));

    Thank you for the information. That's great. :)

    That's a very cool idea. Do you mind, showing us a full capture of the client, while in combat against monsters?

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

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

    That is really impressive. However, I suspect that the system probably won't change much in the P-Server scene. It will certainly be a really cool system for customization, but I can't for the life of me imagine anyone wanting to go through this balancing hell. By separating the individual pieces of equipment, you have to split the bonuses for the armors. Do you already have a solution for this?


    I'm especially worried about new armor and who is supposed to prepare it for the system in case of an emergency. Mixing the old and new systems wouldn't make much sense unless you really use it completely cosmetically.


    Still, a wonderful system and really interesting to see in Metin2. Hope you keep working on it and hopefully we'll see more of it in the future!


    Edit: I have just thought about it again. If you replace the old equipment (chains, bracelet, etc), then the stuff could be really easy to balance. The players would look chaotic if there is no transmog system, but it is definitely possible.