Вход: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

 
 


