Вход:Stranger22 писал(а):А если сервер не на 1000 человек, а на 10-20 ? Можно и целиком позаписывать файл.
Не набросаешь кодик? в VB я ноль.
Думаю многим нужна такая функция.
И нет ли другого способа реализовать это?
Код: Выделить всё
CCPE:1||||||||0||||||0||
CCPA:21||file = cp.CommDataDir & "PluginsData\userslist.txt":;Set fso = CreateObject("Scripting.FileSystemObject"):;pos = 0:;data = "":;If fso.FileExists(file) Then:; Set f = fso.OpenTextFile(file, 1, False, -1):; data = f.ReadAll:; pos = InStr(1, data, cp.EventUserName & " : ", 1):; If pos <> 0 Then:; pos2 = InStr(pos, data, vbNewLine, 1):; If pos2 <> 0 Then:; data = Left(data, pos-1) & cp.EventUserName & " : сейчас в чате" & vbNewLine & Right(data, Len(data)-pos2-1):; End If:; End If:;End If:;If pos = 0 Or pos2 = 0 Then:; data = data & cp.EventUserName & " : сейчас в чате" & vbNewLine:;End If:;Set f = fso.OpenTextFile(file, 2, True, -1):;f.Write data
Код: Выделить всё
CCPE:2||||||||0||||||0||
CCPA:21||file = cp.CommDataDir & "PluginsData\userslist.txt":;Set fso = CreateObject("Scripting.FileSystemObject"):;pos = 0:;If fso.FileExists(file) Then:; Set f = fso.OpenTextFile(file, 1, False, -1):; data = f.ReadAll:; pos = InStr(1, data, cp.EventUserName & " : ", 1):; If pos <> 0 Then:; pos2 = InStr(pos, data, vbNewLine, 1):; If pos2 <> 0 Then:; data = Left(data, pos-1) & cp.EventUserName & " : вышел из чата " & FormatDateTime(Now, 0) & vbNewLine & Right(data, Len(data)-pos2-1):; End If:; End If:;End If:;If pos = 0 Or pos2 = 0 Then:; data = data & cp.EventUserName & " : вышел из чата " & FormatDateTime(Now, 0) & vbNewLine:;End If:;Set f = fso.OpenTextFile(file, 2, True, -1):;f.Write data
Код: Выделить всё
CCPE:8||||||||0||||4||||0||0||!seen
CCPA:21||If Left(cp.EventText, 6) = "!seen " Then:; user = Right(cp.EventText, Len(cp.EventText)-6):; file = cp.CommDataDir & "PluginsData\userslist.txt":; Set fso = CreateObject("Scripting.FileSystemObject"):; pos = 0:; If fso.FileExists(file) Then:; Set f = fso.OpenTextFile(file, 1, False, -1):; data = f.ReadAll:; pos = InStr(1, data, user & " : ", 1):; If pos <> 0 Then:; pos2 = InStr(pos, data, vbNewLine, 1):; If pos2 <> 0 Then:; data = Mid(data, pos, pos2-pos):; cp.SendUserMsg cp.EventUserName, data, False:; End If:; End If:; End If:;End If
