CS status
Hej Eksperten.Jeg er støt ind i et problem, som jeg håber vi i fællesskab kan løse.
Det drejer sig om et status script fra en CS server. Det output jeg får, vil jeg lave om via en REGEX, således jeg sender det data der er brug for videre.
Lige nu får jeg dette output:
1 "GoldenEye | Elisabeth ^CCL" 80 STEAM_0:0:34801024 1 26:42 6 0 80.63.20.96:27005 2 "nYx" 84 STEAM_0:1:28364009 3 24:14 38 0 83.89.20.6:27005
3 "SMART | Mr_S.W.A.G!!" 99 STEAM_0:1:15644967 0 02:23 23 0 93.90.4.15:27005
5 "Hebo^ Musthave?" 82 STEAM_0:0:13622139 12 24:15 29 0 62.198.61.169:54431
6 "[Old_Dogs] isa" 87 STEAM_0:1:2215342 8 17:06 21 0 188.178.63.58:27005
# 7 "TargeT On My Ass^" 93 STEAM_0:1:4279347 1 13:17 16 0 178.157.227.140:27005
# 8 "ShaDoW LoVe Goa^Gab" 74 STEAM_0:0:10712147 10 1:30:47 15 0 188.114.188.134:27005
# 9 "^=BioN=^ .Von Pzyko*RealDeal*" 97 STEAM_0:1:10815490 4 08:14 19 0 188.176.3.88:27005
#10 "ghostbuster" 98 STEAM_0:0:2089076 4 04:51 48 0 95.166.45.53:27005
Min REGEX ser sådan ud:
const string REGEX = @"(?<id>\d+)?\s+""(?<name>[^""]+)""\s+(?<userid>\d+)?\s+(?<steamid>STEAM_[0-5]:[01]:\d+)?\s+(?<kills>\d+)?\s+(?<time>(([0-9])|([0-1][0-9])|([2][0-3])):(([0-9])|([0-5][0-9])))?\s+(?<ping>\d+)?\s+(?<loss>\d+)?\s+(?<ip>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5})";
Match m = Regex.Match(currLine, REGEX);
Jeg får dette udfra REGEX:
[#99] SMART | Mr_S.W.A.G!! (STEAM_0:1:15644967) - IP: 93.90.4.15:27005
[#87] [Old_Dogs] isa (STEAM_0:1:2215342) - IP: 188.178.63.58:27005
[#93] TargeT On My Ass^ (STEAM_0:1:4279347) - IP: 178.157.227.140:27005
[#97] ^=BioN=^ .Von Pzyko*RealDeal* (STEAM_0:1:10815490) - IP: 188.176.3.88:27005
[#98] ghostbuster (STEAM_0:0:2089076) - IP: 95.166.45.53:27005
Det vil sige, der er 9 online på serveren, som også er i output. Jeg får kun fat i 5 spillere, så jeg må gøre noget galt.
Tror min REGEX trænger til en kærlig hånd.
God aften.