Я сделал.
PHP код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Text.RegularExpressions;
namespace ipleomax
{
class Program
{
public static string iPositionX = "0.000000";
public static string iPositionY = "0.000000";
public static string iLetterX = "0.000000";
public static string iLetterY = "0.000000";
public static string iTextX = "0.000000";
public static string iTextY = "0.000000";
public static string iAlignment = "0";
public static string iColor = "0";
public static string iUsebox = "0";
public static string iBoxcolor = "0";
public static string iShadow = "0";
public static string iOutline = "0";
public static string iBackgroundcolor = "0";
public static string iFont = "0";
public static string iProportion = "0";
public static string iSelectable = "0";
public static string iType = "0";
public static string iText = "0";
static void Main(string[] args)
{
Console.WriteLine("Enter path to file");
string path = Console.ReadLine();
using (StreamReader fRead = new StreamReader(path, Encoding.GetEncoding("windows-1251")))
{
using (StreamWriter fWrite = new StreamWriter(path + ".result", false))
{
string line = string.Empty;
Regex integer = new Regex(@"\b(\d+)|-\b(\d+)");
Regex doubles = new Regex(@"(?:\d{1,6})?(?:\.\d{1,6})|-(?:\d{1,6})?(?:\.\d{1,6})");
Regex quote = new Regex("\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"");
Regex bracket = new Regex(@"\(.+\)");
MatchCollection collection;
bool key = false;
while (!fRead.EndOfStream)
{
line = fRead.ReadLine();
if (line.Length == 0)
{
if (key == false)
continue;
string resultLine = string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|{11}|{12}|{13}|{14}|{15}|{16}|{17}",
iPositionX, iPositionY, iLetterX,
iLetterY, iTextX, iTextY,
iAlignment, iColor, iUsebox,
iBoxcolor, iShadow, iOutline,
iBackgroundcolor, iFont, iProportion,
iSelectable, iType, iText );
fWrite.WriteLine(resultLine);
Console.WriteLine(resultLine);
iPositionX = "0.000000";
iPositionY = "0.000000";
iLetterX = "0.000000";
iLetterY = "0.000000";
iTextX = "0.000000";
iTextY = "0.000000";
iAlignment = "0";
iColor = "0";
iUsebox = "0";
iBoxcolor = "0";
iShadow = "0";
iOutline = "0";
iBackgroundcolor = "0";
iFont = "0";
iProportion = "0";
iSelectable = "0";
iType = "0";
iText = "0";
key = false;
}
if (line.Contains("TextDrawCreate") || line.Contains("CreatePlayerTextDraw"))
{
key = true;
line = bracket.Match(line).Value;
iText = quote.Match(line).Value;
collection = doubles.Matches(line);
iPositionX = collection[0].Value;
iPositionY = collection[1].Value;
iType = ((line.Contains("playerid") ? "1" : "0"));
continue;
}
if (line.Contains("TextDrawLetterSize") || line.Contains("PlayerTextDrawLetterSize"))
{
line = bracket.Match(line).Value;
collection = doubles.Matches(line);
iLetterX = collection[0].Value;
iLetterY = collection[1].Value;
continue;
}
if (line.Contains("TextDrawTextSize") || line.Contains("PlayerTextDrawTextSize"))
{
line = bracket.Match(line).Value;
collection = doubles.Matches(line);
iTextX = collection[0].Value;
iTextY = collection[1].Value;
continue;
}
if (line.Contains("TextDrawAlignment") || line.Contains("PlayerTextDrawAlignment"))
{
line = bracket.Match(line).Value;
iAlignment = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawColor") || line.Contains("PlayerTextDrawColor"))
{
line = bracket.Match(line).Value;
iColor = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawUseBox") || line.Contains("PlayerTextDrawUseBox"))
{
line = bracket.Match(line).Value;
iUsebox = (line.Contains("true") ? "1" : "0");//integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawBoxColor") || line.Contains("PlayerTextDrawBoxColor"))
{
line = bracket.Match(line).Value;
iBoxcolor = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawSetShadow") || line.Contains("PlayerTextDrawSetShadow"))
{
line = bracket.Match(line).Value;
iShadow = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawSetOutline") || line.Contains("PlayerTextDrawSetOutline"))
{
line = bracket.Match(line).Value;
iOutline = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawBackgroundColor") || line.Contains("PlayerTextDrawBackgroundColor"))
{
line = bracket.Match(line).Value;
iBackgroundcolor = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawFont") || line.Contains("PlayerTextDrawFont"))
{
line = bracket.Match(line).Value;
iFont = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawSetProportional") || line.Contains("PlayerTextDrawSetProportional"))
{
line = bracket.Match(line).Value;
iProportion = integer.Match(line).Value;
continue;
}
if (line.Contains("TextDrawSetSelectable") || line.Contains("PlayerTextDrawSetSelectable"))
{
line = bracket.Match(line).Value;
iSelectable = integer.Match(line).Value;
continue;
}
}
}
}
Console.Read();
}
}
}
http://rghost.ru/6hMRyPWqn
P.S. ацтаньте. 2 часа ночи. о коде не особо и думаю.