Full System Features + Requirements (for integration)
System Information
System Name: METIN2 Target Info System 2026
Original Developer: AZO.ONE
Type: Target Information System (Monster / Metin) + Drop List + 3D Preview
Compatibility: Metin2 Source (Client + Server) — manual integration with build
Languages: Arabic and/or English interface via locale_game.txt
Copyright: © AZO.ONE — Do not claim original authorship without permission
Main Features (Player Side)
1) Target Info Button (?)
- Displayed on the target bar when selecting a monster or Metin (level > 0).
- Does not work on players or targets without level.
- Icons: q_mark_01.tga / q_mark_02.tga.
2) Target Information Window
- Displays target name and race/type.
- Organized layout: drop list + 3D preview + statistics.
- Window size is adjustable via targetinfo_settings.py (default 740×540).
3) Drop List
- Shows all possible loot from the server (not client prediction).
- Each item includes: icon + name + quantity + drop rate %.
- Scrollbar for long lists.
- Sorted by rarity/probability (rarest or most important displayed clearly).
4) Rarity System (Based on Drop Rate)
- > 80% = Guaranteed = Light Green
- 35% – 80% = Common = White
- 15% – 35% = Uncommon = Green
- 5% – 15% = Rare = Blue
- 2% – 5% = Epic = Purple
- 0.5% – 2% = Unique = Orange
- < 0.5% = Legendary = Gold
Correct logic: lower rate = rarer (e.g., 100% = guaranteed, 0.2% = legendary).
5) Mob / Metin Statistics
- HP (Maximum)
- Damage (Min – Max)
- Defense
- EXP
- Yang (Min – Max)
- Regeneration (rate + cycle in seconds)
- Weapon resistances: Sword, Two-Hand, Dagger, Bell, Fan, Bow
6) 3D Target Preview (Render Target)
- Displays a live model of the monster/Metin (not a static image).
- Background: model_view_bg.sub.
- Camera height adjustment via SetTargetHeight for large bosses/Metins to prevent clipping.
- Custom Render Target index: 2 (tooltip usually uses 1).
7) Arabic / English Interface
- All text is handled via locale_game.txt (TARGET_INFO_* keys).
- No embedded Unicode strings in Python 2 (prevents encoding errors).
- Ready files:
- Arabic: locale_game_TARGET_INFO_ae.txt
- English: locale_game_TARGET_INFO_en.txt
Stability & Fixes
- Fixed UnicodeDecodeError when opening window with Arabic names
- Fixed LookupError: cp1256 (no manual encoding)
- Fixed RuntimeWarning: tp_compare in ui.py / ThinBoard.SetSize
- Center-aligned “Drop List” title inside window
Technical Features (Developer Side)
Network Packets
- Client → Server (CG): 62 = HEADER_CG_TARGET_INFO_LOAD
- Server → Client (GC): 139 = HEADER_GC_TARGET_INFO
Server
- Reads drops from:
- MobItemGroup (kill — cumulative weights)
- LevelItemGroup (dwPct = percentage × 10000)
- DropItemGroup (dwPct = percentage × 10000)
- Sends mob stats from mob proto table.
- Filters players (IsPC) — does not send player data.
Client
- Uses:
- net.SendTargetInfoLoadPacket(VID) when opening the window.
- Receives GC and calls:
- BINARY_TargetInfo_SetStats
- BINARY_TargetInfo_AddDrop
- BINARY_TargetInfo_Refresh
Required Defines
Client — Locale_inc.h
#define ENABLE_RENDER_TARGET
#define ENABLE_TARGET_INFO_SYSTEM
#define ENABLE_TARGET_INFO_RENDER_TARGET
Server — service.h / CommonDefines.h
#define ENABLE_TARGET_INFO_SYSTEM
Requirements Before Installation
Mandatory
- 1) Editable Metin2 Client + Server source (buildable)
- 2) Visual Studio (or standard Metin2 build environment)
- 3) Pack tool (root + locale)
- 4) Knowledge of Python integration (uitarget.py, game.py)
- 5) Packet IDs 62 and 139 must be free or changed on both sides
For 3D Preview (Recommended)
- 1) #define ENABLE_RENDER_TARGET enabled in client
- 2) Render Target Index 2 unused by other systems
- 3) model_view_bg.sub exists in client pack
- 4) Rebuild client after modifying CRenderTarget (optional: SetTargetHeight)
Client Assets
d:/ymir work/ui/pattern/q_mark_01.tga
d:/ymir work/ui/pattern/q_mark_02.tga
d:/ymir work/ui/game/myshop_deco/model_view_bg.sub
No Need For
-
-
-
Pack Files (Client)
- uitargetinfo.py = Main window + drop list + rarity + 3D
- targetinfo_settings.py = Size, RT index, colors, display settings
- uitarget.py = “?” button + handler
- game.py = BINARY_TargetInfo_* functions
- ui.py (optional) = ThinBoard.SetSize fix
- locale_game.txt = TARGET_INFO_* strings
Source Files (Summary)
Client
- Locale_inc.h, Packet.h
- PythonNetworkStream.h/.cpp
- PythonNetworkStreamPhaseGame.cpp
- PythonNetworkStreamModule.cpp
- PythonApplicationModule.cpp
- CRenderTarget.h/.cpp (improved)
- CPythonRenderTargetModule.cpp
Server
- service.h / CommonDefines.h
- packet.h, packet_info.cpp
- input.h, input_main.cpp
- item_manager.h
Installation Steps (Summary)
- Enable Defines (Client + Server)
- Add Packet IDs 62/139 + matching structs
- Client: Send/Receive + GC register + Python net
- Server: Implement TargetInfoLoad + getters
- Add uitargetinfo.py + targetinfo_settings.py
- Merge uitarget.py + game.py
- Add locale files (Arabic or English)
- Build game + build client
- Repack root + locale
- Test: mobs + Metin + bosses + clean syserr
Works / Does Not Work
Works
- Monsters (level > 0)
- Metin stones
- Bosses (with camera adjustment)
- UI stats without 3D if RT disabled
Does NOT Work
- Players (PC)
- NPC without level
- Drops without mob/proto data
- 3D without ENABLE_RENDER_TARGET
Performance
- Lightweight system — data loads only when window is opened (on "?").
- No continuous background requests.
Included Package
- Root = Arabic guide + AZO.ONE rights
- EN\ = Full English version
Includes
- Step-by-step integration (Client + Server)
- Ready-to-copy files
- OPEN_GUIDE.bat
Short Advertisement (Forum / Discord)
[System] METIN2 Target Info 2026 — AZO.ONE
✦ "?" button on target bar (Monsters / Metin)
✦ Info window: Drops + % rate + colored rarity (Guaranteed → Legendary)
✦ Stats: HP, Damage, Defense, EXP, Yang, Regen, Resistances
✦ 3D Mob Preview (Render Target)
✦ Arabic / English interface
✦ Packet 62/139 — Full Client + Server source
Requirements:
• ENABLE_RENDER_TARGET (3D preview)
• Build game + metin2client
• Repack root + locale
• Merge uitarget.py + game.py
Original Developer: AZO.ONE
Tutorial included (AR + EN)
Disclaimer
- Installation is at the installer’s responsibility — always backup your source.
- Packet ID or Render Target conflicts must be adjusted locally.
- When publishing or selling, credit AZO.ONE as the original developer.
- © AZO.ONE — Target Info 2026 — All rights reserved to AZO.ONE
This system was developed using artificial intelligence, with some custom modifications and manual adjustments to improve performance and produce a properly refined final result. The focus is not on debating how it was created, but rather on the quality of its functionality and stability.
VirusTotal Download

la acest mesaj și conținutul se va afișa automat.




