aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Metin2

Metin2 Effect Toevoegen: .mse, Particles en EffectEditor

Metin2 effect toevoegen is de basis om een wapen een gloed te geven, een skill een uitbarsting van particles, of een NPC een continu loopende aura. Het belangrijkste inzicht is dat een effect eigenlijk een aparte asset is: een bestand met de extensie .mse dat particle-, mesh- en light-componenten bevat. Je bouwt dit bestand eerst met EffectEditor, plaatst het daarna in het clientpack en bindt het ten slotte aan een wapen, een skill of een personage. In deze gids bouwen we een effect helemaal vanaf nul op, stap voor stap, van planning tot test.

Hoe werkt het effectsysteem in Metin2?

De Metin2-client leest effecten uit .mse-bestanden (Metin2 Special Effect). Een .mse is geen enkele visuele gebeurtenis; het kan meerdere componenten bevatten:

  • Particle — particle-systemen zoals vonken, rook of lichtstipjes; de meest gebruikte component.
  • Mesh — een klein op .gr2 gebaseerd model zoals een draaiende ring, vleugels of een schild.
  • Light — een gekleurde lichtbron die de scène kort verlicht.
  • Texture animation — een gevoel van stromende energie, gemaakt door schuivende UV's over een textuur.

Al deze componenten steunen op texturen (.dds of .tga). Een effect toevoegen betekent dus eigenlijk drie delen combineren: textuur + .mse-definitie + aanhechtingspunt (wapen, skill of personage). Als één van de drie ontbreekt, speelt het effect simpelweg nooit af.

Een nieuw effect maken met EffectEditor

In plaats van effecten met de hand als ruwe tekst te schrijven, is de veiligste weg het gebruik van EffectEditor, dat met de officiële toolchain meekomt, omdat je talloze parameters (spreidingshoek, levensduur, snelheid, kleurverloop) visueel kunt aanpassen en meteen kunt previewen. Een typische flow ziet er zo uit:

  • Open EffectEditor en maak een nieuw effect aan.
  • Voeg een particle-component toe; stel het aantal emissies, de life time van de particles, de begin-/eindgrootte en de kleurcurve in.
  • Voeg indien nodig een mesh- of light-component toe en stapel ze.
  • Bepaal de totale duur en of het effect een loop heeft — een wapengloed is meestal in loop, een skill-treffer is eenmalig.
  • Sla het op als .mse onder het virtuele pad d:/ymir work/effect/....

Alle Metin2-clientbestanden worden gerefereerd vanuit de virtuele root d:/ymir work/; je effect in een nette map volgens deze logica plaatsen (bijvoorbeeld effect/weapon/ of effect/skill/) maakt het later schrijven van de bindingspaden veel makkelijker.

Particle- en textuurinstellingen

Of een effect er "goedkoop" of "verzorgd" uitziet, wordt grotendeels bepaald door de particle-instellingen. Een paar praktische regels:

  • Blendmodus: gebruik additive blend voor vonk-, energie- en lichteffecten; daardoor gaan overlappende particles gloeien. Normale alpha blend is juister voor rook en stof.
  • Textuurgrootte: houd particle-texturen klein en vierkant (bijv. 64×64 of 128×128) en gebruik power-of-two afmetingen; dit telt zowel voor prestaties als voor mipmap-kwaliteit.
  • Kleur- en alpha-curve: laat de alpha van de particle richting het einde van de levensduur naar nul gaan; particles die abrupt verdwijnen vallen lelijk op.
  • Aantal emissies: ook al is dit geen mobiel spel, een overdreven aantal particles laat de FPS dalen in drukke gevechten. Probeer het effect te bereiken met textuur en beweging in plaats van met louter aantal particles.

Texturen in het .dds-formaat voorbereiden (DXT5, met alphakanaal) verkleint zowel de bestandsgrootte als de laadtijd op de GPU. Houd bij particle-texturen met transparantie het alphakanaal altijd schoon; een vuil alpha laat een doosvormige rand achter aan de rand van de particle.

Het effect aan het pack toevoegen en bij de client registreren

Tijdens de ontwikkeling worden clientbestanden gecomprimeerd in packs (.epk/.eix-paren). Je nieuwe .mse-bestand en de texturen die het gebruikt moeten in het pack staan dat het spel daadwerkelijk leest. Er zijn twee gangbare methoden:

  • Uitpakken en opnieuw inpakken: met een packtool zoals EterNexus open je het betreffende effect-pack, voeg je je bestanden met het juiste mappad toe en pak je het weer in.
  • Uitgepakt lezen voor het testen: veel clients kunnen rechtstreeks vanuit een schijfmap lezen in plaats van een pack (afhankelijk van de index-instelling). Tijdens de ontwikkeling is bestanden direct in de map zetten en testen sneller dan elke keer opnieuw inpakken.

Het meest kritieke punt hier is padconsistentie: het pad dat je de textuur in de .mse geeft, moet exact overeenkomen met het echte pad van de textuur in het pack. Eén verschillende mapnaam maakt het effect onzichtbaar, en dat is meestal stil — het spel crasht niet, er speelt alleen niets af.

Het wapen- en skill-effect binden

Zelfs als het effectbestand klaar is en in het pack staat, ziet de speler het niet zolang het niet ergens gebonden is. Het aanhechtingspunt hangt af van het type effect:

  • Wapengloed: toegevoegd aan de visuele definitie van het wapen. Op de meeste servers wordt de koppeling wapenmodel-naar-effect bijgehouden in de wapen-/effect-definitiebestanden aan clientzijde; daar bind je het gloedeffect aan de betreffende wapen-vnum.
  • Skill-effect: zoals in de vorige gids uitgelegd, bepaalt de betreffende kolom in skilltable.txt welke .mse afspeelt wanneer de skill wordt gebruikt. Daar schrijf je het pad van je nieuwe effect.
  • Personage-/NPC-effect: continu loopende aura's worden meestal getriggerd vanuit de motion/effect-bindingstabel van het personage of via een affect aan de questzijde.

Voor de eerste test is het slim om een bekend werkend referentiepunt te gebruiken in plaats van je eigen effect meteen te binden: bind het effect aan een bestaand wapen en controleer of het wordt weergegeven, en verplaats het dan naar het doelwapen/de doelskill. Zo weet je snel of het probleem in het effect of in de binding zit.

Testen en veelvoorkomende fouten

Start na het toevoegen van het effect de client en trigger het. Als er niets verschijnt, controleer dan in deze volgorde:

  • Het effect speelt helemaal niet af → het .mse-bestand of de textuur ervan ontbreekt in het pack, of het pad is verkeerd geschreven.
  • Het effect speelt af maar ziet er textuurloos/paars uit → het textuurpad is gebroken; vergelijk de referentie in de .mse met de echte locatie van de textuur.
  • Het effect is te groot/klein → de particle-scale of mesh-scale is verkeerd; pas die aan in EffectEditor en sla op.
  • De FPS daalt → het aantal emissies of de textuurresolutie is hoger dan nodig.

Veel visuele fouten van Metin2 zijn stil, dus houd het bestand syserr.txt in de clientmap open. Problemen zoals een ontbrekend bestand, een onleesbaar pack of een kapotte .mse worden hier meestal geschreven, en je ziet in het spel geen waarschuwing.

Veelgestelde vragen

Moet ik de source compileren om een effect toe te voegen?

Nee. Visuele effecten zijn volledig clientzijde-assets; de .mse, texturen en bindingsbestanden zijn genoeg. Een source- (server-)compilatie is alleen nodig wanneer je een nieuwe mechaniek toevoegt die het effect triggert (bijvoorbeeld een gloednieuw affect-type), niet voor het effect zelf.

Het effect speelt af maar ziet er paars/zwart uit, waarom?

Dit is bijna altijd een textuurpad-probleem: de in de .mse opgegeven textuur is niet te vinden op dat pad in het pack. Controleer het padverschil en of de textuur daadwerkelijk aan het pack is toegevoegd; zorg er ook voor dat het .dds-formaat en het alphakanaal correct zijn.

Kan ik een bestaand effect kopiëren en bewerken?

Ja, dat is de snelste manier om te leren. Je kunt een bestaande .mse in EffectEditor openen en je eigen variatie maken door de particle-, kleur- en duurwaarden te veranderen; vergeet alleen niet om de textuur ook aan het pack toe te voegen als je een nieuwe gebruikt.

Wil je aangepaste wapengloeden of skill-effecten voor je server? Als je hulp nodig hebt met Metin2-effectwerk — van particle-design tot .mse-productie en clientintegratie — neem contact met me op.

Bu kategorideki tüm yazılar →

Devamı için