blob: 8b401b7b45e0c601dd884bd3ff47dd4dab96b1c6 (
plain) (
tree)
|
|
# -*- coding: utf8 -*-
#
# Copyright (C) 2015 Evol Online
# Author: Andrei Karas (4144)
import re
comaSplit = re.compile(",")
equalSplit = re.compile("=")
def extractLuaArray(fileName, arrName):
with open(fileName, "r") as f:
for line in f:
if line.find(arrName) == 0:
line = line[line.find("{") + 1:]
line = line[:line.find("}")]
return line
return ""
def convertJobName():
jobs = dict()
jobNameFile = "rodata/decompiled/jobname.lua"
line = extractLuaArray(jobNameFile, "JobNameTable")
arr = comaSplit.split(line)
for itemStr in arr:
parts = equalSplit.split(itemStr.strip())
if parts[0].find("[jobtbl.") == 0:
key = parts[0].strip()
key = key[8:-1].strip()
val = parts[1].strip()
val = val[1:-1].strip()
jobs[key] = val
return jobs
def convertIdentity(jobs):
idents = dict()
npcIdentityFile = "rodata/decompiled/npcidentity.lua"
line = extractLuaArray(npcIdentityFile, "jobtbl = ")
arr = comaSplit.split(line)
for itemStr in arr:
parts = equalSplit.split(itemStr.strip())
key = parts[0].strip()
val = parts[1].strip()
if key in jobs:
idents[val] = jobs[key].lower()
return idents
def convertLuas():
jobs = convertJobName()
idtofile = convertIdentity(jobs)
return idtofile
|