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

Metin2 drop-instellingen: common_drop en mob_drop

Op een Metin2-server bepaalt niets de economie en de gameplay-loop méér dan correct geconfigureerde Metin2 drop-instellingen. Welk item van welke mob valt, op welk level en met welke kans, wordt opgeslagen in twee tekstbestanden: common_drop_item.txt en mob_drop_item.txt. In deze gids loop ik door de structuur van die bestanden, wat de kolommen betekenen, hoe je de kansen berekent en vooral hoe je je wijzigingen veilig test voordat je ze live zet.

Waar de drop-bestanden staan en wat ze doen

Drop-tabellen zijn platte tekstbestanden die de game-core bij het opstarten inleest. Ze staan meestal onder share/locale/<taal>/ of in de map waar de core draait. Er zijn vier aanvullende bestanden:

  • common_drop_item.txt — Een generieke drop-tabel op basis van levelbereik en mob-rang. Ze is niet aan een specifieke mob gekoppeld; ze stelt de regel "alle monsters rond dit level kunnen dit item met deze kans laten vallen".
  • mob_drop_item.txtMob-specifieke drops. Werkt met groepen en laat je meerdere regels voor dezelfde mob definiëren via types als kill en drop.
  • etc_drop_item.txt — Eenvoudige, mob-onafhankelijke kans-invoer voor losse items (bijvoorbeeld een zeldzaam materiaal).
  • drop_item_group.txt — Groepsgebaseerde content-drops zoals graven, vissen en kisten.

Veel beginners proberen alles te balanceren via alleen mob_drop_item.txt, terwijl het beheren van de algemene materiaal- en geldstroom via common_drop_item.txt een veel schoner ontwerp is.

common_drop_item.txt: generieke drops op level en rang

In dit bestand is elke regel één item-regel. Een typische regel bevat: beginlevel, eindlevel, itemnaam, item-vnum, aantal, en kanskolommen per mob-rang (meestal Pawn, S_Pawn, Boss, King in die volgorde, als percentage). Voorbeeld:

# Lev_min  Lev_max  ItemName        Vnum   Count  Pawn   S_Pawn  Boss   King
1         15       Yang_Coin       1       1      30.0   40.0    60.0   100.0
20        35       Healing_Potion  27002   1      2.5    3.0     5.0    10.0
30        50       Stone_Fragment  30019   1      0.5    0.8     1.5    4.0

De logica is helder: hetzelfde item valt vaker bij hoger gerangschikte mobs naarmate het level stijgt. Omdat het aantal en de volgorde van kolommen per core-versie kan verschillen, controleer de indeling aan de hand van de header en bestaande voorbeeldregels van je eigen bestand; een verzonnen kolom toevoegen laat de hele regel stilzwijgend negeren. Gebruik underscores in plaats van spaties in itemnamen en koppel de vnum exact aan item_proto.

mob_drop_item.txt: groepen, kill- en drop-types

Dit bestand bestaat uit groepen tussen accolades. Elke groep is gekoppeld aan een of meer mobs en een Type bepaalt het gedrag. De twee meest gebruikte types zijn drop en kill.

Bij het drop-type heeft elk item een onafhankelijke kans; als de mob sterft gooit elke regel apart de dobbelsteen, dus meerdere items kunnen uit dezelfde groep vallen:

Group  Wolfman_Drop
{
	Mob	2090
	Type	drop
	1	72723	1	30
	2	27993	1	5
	3	30019	1	1
}

Bij het kill-type is de laatste kolom een gewicht; de core schaalt die gewichten tegen hun totaal en kiest één item per dood (of geen). Ideaal om boss-items op een "één per kill"-basis uit te delen:

Group  Boss_Kill
{
	Mob	1093
	Type	kill
	1	19	1	1000
	2	20	1	500
	3	25	1	100
}

De schaal van de kanskolom verschilt per core: in sommige bestanden betekent 30 direct 30%, in andere wordt een fijnere schaal gebruikt. Ga er niet vanuit; verifieer de schaal zelf door de kans van een bekend item in hetzelfde bestand als referentie te nemen.

De drop-kans berekenen en balanceren

Je schat ruwweg hoeveel van een item per uur valt als: effectieve kans × gedode mobs per uur × globale drop-vermenigvuldiger. De meeste serverbestanden hebben een algemene drop-rate-vermenigvuldiger (in de core-configuratie of CONFIG). Reken die vermenigvuldiger altijd mee bij het afstellen van tabelwaarden; anders verwoest een "klein" ogend getal live de markt.

  • Koppel zeldzame items aan de betreffende boss met het kill-type in plaats van aan common_drop_item.txt, zodat je de farmbaarheid onder controle houdt.
  • Schaal de geld- en basismateriaalstroom via common_drop_item.txt; dat is duurzamer dan mobs één voor één bewerken.
  • Als je hetzelfde item in meerdere bestanden definieert, worden de kansen opgeteld; zorg dat je niet per ongeluk een invoer dupliceert.

Je wijzigingen laden en testen

Drop-tabellen worden bij het opstarten van de core in het geheugen geladen, dus om een wijziging te laten werken moet je meestal de game-core herstarten (het in-game commando /reload herlaadt quests, op de meeste cores niet de drop-bestanden). Een veilige testflow ziet er zo uit:

  • Maak de wijziging eerst op een testserver, nooit live. Bewerk het bestand, herstart game.
  • Spawn de doel-mob massaal met een GM-account (commando's in de stijl van /m <vnum>) en dood hem tientallen keren om statistisch te observeren. Eén kill bewijst niets.
  • Bevestig dat de vnum echt bestaat door het item aan jezelf te geven met /i <vnum>; een verkeerde vnum wordt stilzwijgend genegeerd.
  • Houd het syslog-bestand van de core in de gaten; als een drop-bestand een parse-fout heeft, zie je bij het opstarten een waarschuwingsregel.

Zet tijdens het testen de kans tijdelijk op een hoge waarde (bijvoorbeeld 100%) om te bevestigen dat de mechaniek werkt, en zet hem daarna terug op de echte gebalanceerde waarde. Zo bepaal je of "het item valt nooit" een kwestie van de kans is of een configuratiefout.

Veelgemaakte fouten

  • Verkeerd scheidingsteken: Kolommen in deze bestanden worden gescheiden door TAB; spaties gebruiken breekt de regel. Stel je editor in om tabs te tonen.
  • Ongeldige vnum: Een vnum die ontbreekt in item_proto geeft geen fout, hij valt simpelweg nooit. Verifieer de vnum eerst.
  • Herstart vergeten: Het bestand opslaan en zeggen "het werkt niet" is de meest voorkomende fout; de core gebruikt nog de oude tabel.
  • De vermenigvuldiger vergeten: Als de globale drop-vermenigvuldiger 5x is, is 2% in de tabel in werkelijkheid 10%.

Veelgestelde vragen

Wat is het verschil tussen common_drop en mob_drop?

common_drop_item.txt is een generieke tabel op basis van level en rang; niet gekoppeld aan een specifieke mob. mob_drop_item.txt definieert drops voor individuele mobs of mob-groepen en biedt fijnere controle via de kill- en drop-types.

Ik heb de drop-kans aangepast maar er valt niets, waarom?

De drie meest waarschijnlijke oorzaken: je hebt de core niet herstart, je hebt kolommen met spaties in plaats van TAB gescheiden, of je hebt een niet-bestaande vnum ingevoerd. Controleer syslog en verifieer de vnum door het item met /i te spawnen.

Hoe test ik of de kansen kloppen?

Dood dezelfde mob vele keren met een GM-account en tel de gevallen items. Een eenmalige test is misleidend; je hebt minstens een paar honderd kills nodig voor een statistisch resultaat. Zet de kans eerst op 100% om de mechaniek te verifiëren, valideer daarna de balans met de echte waarde.

Wil je de drop-balans van je server vanaf nul opbouwen of bestaande tabellen opschonen? Heb je hulp nodig bij Metin2-serverinstallatie, quests en systeemaanpassingen, neem dan contact met me op — we kunnen de drop-tabellen samen plannen passend bij jouw economie.

Bu kategorideki tüm yazılar →

Devamı için