Python Library For Metin 2 -
def get_item_name(self, vnum: int) -> Optional[str]: """Get localized name from item proto (assumes 'name' field).""" entry = self.proto.get(vnum) return entry.get("name") if entry else None
def list_items_by_type(self, item_type: str) -> List[int]: """List all vnums with a given type.""" result = [] for vnum, entry in self.proto.entries.items(): if entry.get("type") == item_type: result.append(vnum) return result Example usage if name == " main ": # Load item proto item_proto = ProtoFile("item_proto.txt") python library for metin 2
def remove(self, vnum: int) -> None: """Remove entry by vnum.""" self.entries.pop(vnum, None) vnum: int) ->
def to_line(self) -> str: """Convert back to proto file line.""" parts = [f"vnum=self.vnum"] + [f"f.name=f.value" for f in self.fields] return "\t" + "\t".join(parts) item_type: str) ->
def get_block(self, state: str) -> Optional[str]: """Get a specific state block.""" return self.blocks.get(f"state state")