<?php
$files =
[
"../SkillName-ru.txt",
"../en/SkillName-eu.txt",
"../classic/SkillName_Classic-ru.txt",
"../en/classic/SkillName_Classic-eu.txt",
"../classic/SkillName_ClassicAden-ru.txt",
"../en/classic/SkillName_ClassicAden-eu.txt",
];
function getKV($s)
{
$t = explode("=", $s);
if (strlen($t[1]) > 0)
{
if ($t[1][0] == "[")
$t[1] = substr($t[1], 1, -1);
$t[1] = str_replace("%%", "%", $t[1]);
}
return $t;
}
function formatStr($s, $p)
{
$p = explode(";", $p);
for ($x = count($p); $x > 0; $x--)
$s = str_replace("\$s{$x}", $p[$x - 1], $s);
return $s;
}
foreach ($files as $file)
{
echo "load file [{$file}]...\n";
$temp = explode("\n", file_get_contents($file));
echo "prepare data [pass #1]...\n";
$t0 = [];
foreach ($temp as $t)
{
$t1 = explode("\t", trim($t));
$t3 = [];
for ($x = 1; $x < count($t1) - 1; $x++)
{
$t2 = getKV($t1[$x]);
$t3[$t2[0]] = trim($t2[1]);
}
$t0[$t3["skill_id"]."_".$t3["skill_level"]."_".$t3["skill_sublevel"]] = $t3;
}
$temp = $t0;
unset($t0);
echo "prepare data [pass #2]...\n";
$prev = null;
foreach ($temp as $k => &$v)
{
if ($v["skill_level"] == 1)
{
$prev = $v;
continue;
}
if ($v["desc"] == "")
$v["desc"] = $prev["desc"];
if ($v["enchant_name"] == "")
$v["enchant_name"] = $prev["enchant_name"];
if ($v["enchant_desc"] == "")
$v["enchant_desc"] = $prev["enchant_desc"];
$prev = $v;
}
echo "prepare data [pass #3]...\n";
foreach ($temp as $k => $v)
{
if ($v["desc_param"] != "")
{
$temp[$k]["desc"] = formatStr($v["desc"], $v["desc_param"]);
$temp[$k]["desc_param"] = "";
}
if ($v["enchant_name_param"] != "")
{
$temp[$k]["enchant_name"] = formatStr($v["enchant_name"], $v["enchant_name_param"]);
$temp[$k]["enchant_name_param"] = "";
}
if ($v["enchant_desc_param"] != "")
{
$temp[$k]["enchant_desc"] = formatStr($v["enchant_desc"], $v["enchant_desc_param"]);
$temp[$k]["enchant_desc_param"] = "";
}
}
$_file = "_".basename($file);
echo "save file [{$_file}]...\n";
$fh = fopen($_file, "w+");
$t0 = array();
foreach ($temp as $t)
{
$s = "skill_begin\t";
$s .= "skill_id={$t['skill_id']}\tskill_level={$t['skill_level']}\tskill_sublevel={$t['skill_sublevel']}\t";
$s .= "name=[{$t['name']}]\tdesc=[{$t['desc']}]\tdesc_param=[{$t['desc_param']}]\t";
$s .= "enchant_name=[{$t['enchant_name']}]\tenchant_name_param=[{$t['enchant_name_param']}]\t";
$s .= "enchant_desc=[{$t['enchant_desc']}]\tenchant_desc_param=[{$t['enchant_desc_param']}]\t";
$s .= "skill_end";
$t0[] = $s;
if (count($t0) > 999)
{
fwrite($fh, implode("\n", $t0)."\n");
$t0 = array();
}
}
if (count($t0) > 0)
{
fwrite($fh, implode("\n", $t0));
$t0 = array();
}
fclose($fh);
}
?>