добавил Игры, нужно разобраться с передачей команд в игру

This commit is contained in:
PC1\PTyTb
2025-08-18 23:33:38 +03:00
parent fc5a835b1f
commit 318365f63b
16 changed files with 890 additions and 129 deletions
+53
View File
@@ -0,0 +1,53 @@
object fCreateGame: TfCreateGame
Left = 0
Top = 0
Caption = #1057#1086#1079#1076#1072#1085#1080#1077' '#1080#1075#1088#1099
ClientHeight = 99
ClientWidth = 294
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
OnCreate = FormCreate
DesignerMasterStyle = 0
object Button1: TButton
Position.X = 177.000000000000000000
Position.Y = 63.000000000000000000
Size.Width = 100.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Text = #1057#1086#1079#1076#1072#1090#1100' '#1080#1075#1088#1091
TextSettings.Trimming = None
OnClick = Button1Click
end
object Label1: TLabel
Position.X = 8.000000000000000000
Position.Y = 8.000000000000000000
Text = #1048#1075#1088#1072
TabOrder = 1
end
object cbGames: TComboBox
Position.X = 8.000000000000000000
Position.Y = 33.000000000000000000
Size.Width = 161.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 2
end
object Label2: TLabel
Position.X = 177.000000000000000000
Position.Y = 8.000000000000000000
Text = #1055#1086#1088#1090
TabOrder = 3
end
object sbWebServerPort: TSpinBox
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 4
Cursor = crIBeam
Min = 100.000000000000000000
Max = 60000.000000000000000000
Value = 8080.000000000000000000
Position.X = 177.000000000000000000
Position.Y = 33.000000000000000000
end
end
+93
View File
@@ -0,0 +1,93 @@
unit uCreateGame;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Edit,
FMX.EditBox, FMX.SpinBox, FMX.ListBox, FMX.StdCtrls,
FMX.Controls.Presentation,
System.Generics.Collections, IOUtils;
type
TfCreateGame = class(TForm)
Button1: TButton;
Label1: TLabel;
cbGames: TComboBox;
Label2: TLabel;
sbWebServerPort: TSpinBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fCreateGame: TfCreateGame;
implementation
{$R *.fmx}
uses uGeneral;
function GetGameFolders(const ARootDir: string): TArray<string>;
var
gamesPath: string;
folders: TStringDynArray;
i: Integer;
begin
// Ôîðìèðóåì ïîëíûé ïóòü ê ïàïêå ñ èãðàìè
gamesPath := IncludeTrailingPathDelimiter(ARootDir) + 'games';
// Ïðîâåðÿåì ñóùåñòâîâàíèå ïàïêè
if not TDirectory.Exists(gamesPath) then
begin
SetLength(Result, 0);
Exit;
end;
// Ïîëó÷àåì ñïèñîê ïîäïàïîê
folders := TDirectory.GetDirectories(gamesPath);
SetLength(Result, Length(folders));
// Èçâëåêàåì òîëüêî èìåíà ïàïîê (áåç ïîëíîãî ïóòè)
for i := 0 to High(folders) do
Result[i] := ExtractFileName(ExcludeTrailingPathDelimiter(folders[i]));
end;
procedure TfCreateGame.Button1Click(Sender: TObject);
begin
if cbGames.Text = '' then
Exit;
TTW_Bot.frOBS1.addGame(cbGames.Text, round(sbWebServerPort.Value));
close;
end;
procedure TfCreateGame.FormCreate(Sender: TObject);
var
gameFolders: TArray<string>;
folder: string;
begin
// Ïîëó÷àåì ñïèñîê èãðîâûõ ïàïîê
gameFolders := GetGameFolders(ExtractFilePath(ParamStr(0)));
// Óêàæèòå âàø êîðíåâîé ïóòü
// Çàïîëíÿåì ñïèñîê (íàïðèìåð, TComboBox)
cbGames.Items.BeginUpdate;
try
cbGames.Items.Clear;
for folder in gameFolders do
cbGames.Items.Add(folder);
finally
cbGames.Items.EndUpdate;
end;
if cbGames.Items.Count > 0 then
cbGames.ItemIndex := 0;
end;
end.
+79 -71
View File
@@ -3,7 +3,7 @@ object TTW_Bot: TTTW_Bot
Top = 0
Caption = 'TTW_Bot'
ClientHeight = 886
ClientWidth = 1003
ClientWidth = 968
Position = Designed
FormFactor.Width = 320
FormFactor.Height = 480
@@ -15,30 +15,30 @@ object TTW_Bot: TTTW_Bot
object V: TTabControl
Align = Client
Images = ImageList1
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 744.000000000000000000
Size.PlatformDefault = False
TabIndex = 3
TabIndex = 4
TabOrder = 0
TabPosition = PlatformDefault
Sizes = (
1003s
968s
718s
1003s
968s
718s
1003s
968s
718s
1003s
968s
718s
1003s
968s
718s
1003s
968s
718s
1003s
968s
718s
1003s
968s
718s
1003s
968s
718s)
object TabItem1: TTabItem
CustomIcon = <
@@ -57,7 +57,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000
inline frSettings1: TfrSettings
Align = Client
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited GroupBox3: TGroupBox
@@ -115,12 +115,12 @@ object TTW_Bot: TTTW_Bot
inherited btnDAStart: TButton
Images = ImageList1
ImageIndex = 18
TabOrder = 38
TabOrder = 39
OnClick = frSettings1btnDAStartClick
end
inherited btnGetDADef: TButton
Images = ImageList1
TabOrder = 40
TabOrder = 41
end
end
inherited btnOpenRomaning: TButton
@@ -168,7 +168,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000
inline frAI1: TfrAI
Align = Client
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited btnGetAIDef: TButton
@@ -201,12 +201,12 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000
inline frCommands1: TfrCommands
Align = Client
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited sgCommands: TStringGrid
Viewport.Width = 536.000000000000000000
Viewport.Height = 168.000000000000000000
Viewport.Width = 540.000000000000000000
Viewport.Height = 193.000000000000000000
inherited scCommand: TStringColumn
Size.Width = 134.000000000000000000
end
@@ -218,53 +218,53 @@ object TTW_Bot: TTTW_Bot
inherited frContruct1: TfrContruct
inherited mResponse: TMemo
Size.Width = 384.000000000000000000
Viewport.Width = 380.000000000000000000
Viewport.Height = 157.000000000000000000
Viewport.Width = 384.000000000000000000
Viewport.Height = 161.000000000000000000
end
inherited GroupBox7: TGroupBox
inherited btnAddUserName: TButton
Images = ImageList1
ImageIndex = 11
TabOrder = 38
TabOrder = 37
end
inherited btnGetDateFollow: TButton
Images = ImageList1
ImageIndex = 15
TabOrder = 39
TabOrder = 38
end
inherited btnGetAgeAccaunt: TButton
Images = ImageList1
ImageIndex = 15
TabOrder = 40
TabOrder = 39
end
inherited btnCounterAddtoText: TButton
Images = ImageList1
ImageIndex = 23
TabOrder = 41
TabOrder = 40
end
inherited cbCounterName: TComboBox
TabOrder = 42
TabOrder = 41
end
inherited btnGPT: TButton
Images = ImageList1
ImageIndex = 19
TabOrder = 43
TabOrder = 42
end
inherited btnRandomUserName: TButton
Images = ImageList1
ImageIndex = 11
TabOrder = 44
TabOrder = 43
end
inherited btnGetChannelStat: TButton
Images = ImageList1
ImageIndex = 22
Size.Width = 136.000000000000000000
TabOrder = 45
TabOrder = 44
end
inherited btnAIPic: TButton
Images = ImageList1
ImageIndex = 5
TabOrder = 48
TabOrder = 45
end
end
inherited btnAddCommand: TButton
@@ -294,20 +294,20 @@ object TTW_Bot: TTTW_Bot
inherited btnRandomAdd: TButton
Images = ImageList1
ImageIndex = 0
TabOrder = 30
TabOrder = 29
end
inherited btnRandomDel: TButton
Images = ImageList1
ImageIndex = 12
TabOrder = 31
TabOrder = 30
end
inherited btnRmGroup: TButton
Images = ImageList1
ImageIndex = 4
TabOrder = 33
TabOrder = 32
end
inherited Label4: TLabel
TabOrder = 35
TabOrder = 33
end
inherited Label5: TLabel
TabOrder = 43
@@ -326,8 +326,8 @@ object TTW_Bot: TTTW_Bot
end
inherited sgRandomInt: TStringGrid
TabOrder = 35
Viewport.Width = 153.000000000000000000
Viewport.Height = 119.000000000000000000
Viewport.Width = 157.000000000000000000
Viewport.Height = 144.000000000000000000
inherited scRIntName: TStringColumn
Size.Width = 70.000000000000000000
end
@@ -343,8 +343,8 @@ object TTW_Bot: TTTW_Bot
Margins.Top = 200.000000000000000000
inherited frsgSounds: TfrSimpleGrid
inherited sg: TStringGrid
Viewport.Width = 289.000000000000000000
Viewport.Height = 124.000000000000000000
Viewport.Width = 293.000000000000000000
Viewport.Height = 149.000000000000000000
inherited sgR2: TStringColumn
Size.Width = 170.000000000000000000
end
@@ -372,8 +372,8 @@ object TTW_Bot: TTTW_Bot
inherited GroupBox24: TGroupBox
inherited frsgFiles: TfrSimpleGrid
inherited sg: TStringGrid
Viewport.Width = 289.000000000000000000
Viewport.Height = 124.000000000000000000
Viewport.Width = 293.000000000000000000
Viewport.Height = 149.000000000000000000
inherited sgR2: TStringColumn
Size.Width = 170.000000000000000000
end
@@ -406,8 +406,8 @@ object TTW_Bot: TTTW_Bot
TabOrder = 7
inherited frsgNeiro: TfrSimpleGrid
inherited sg: TStringGrid
Viewport.Width = 289.000000000000000000
Viewport.Height = 124.000000000000000000
Viewport.Width = 293.000000000000000000
Viewport.Height = 149.000000000000000000
inherited sgR2: TStringColumn
Size.Width = 170.000000000000000000
end
@@ -434,7 +434,7 @@ object TTW_Bot: TTTW_Bot
item
end>
TextSettings.Trimming = None
IsSelected = True
IsSelected = False
ImageIndex = 20
Size.Width = 79.000000000000000000
Size.Height = 26.000000000000000000
@@ -491,8 +491,8 @@ object TTW_Bot: TTTW_Bot
Size.PlatformDefault = False
inherited sgEvents: TStringGrid
Size.Width = 721.000000000000000000
Viewport.Width = 717.000000000000000000
Viewport.Height = 186.000000000000000000
Viewport.Width = 721.000000000000000000
Viewport.Height = 211.000000000000000000
inherited StringColumn1: TStringColumn
Size.Width = 150.000000000000000000
end
@@ -541,8 +541,8 @@ object TTW_Bot: TTTW_Bot
inherited StringGrid1: TStringGrid
Size.Width = 605.000000000000000000
Size.Height = 153.000000000000000000
Viewport.Width = 585.000000000000000000
Viewport.Height = 128.000000000000000000
Viewport.Width = 605.000000000000000000
Viewport.Height = 153.000000000000000000
inherited StringColumn1: TStringColumn
Size.Width = 241.000000000000000000
end
@@ -550,14 +550,14 @@ object TTW_Bot: TTTW_Bot
Size.Width = 140.000000000000000000
end
end
inherited Label34: TLabel
TabOrder = 2
inherited ceCustomRevardTitle: TComboEdit
TabOrder = 4
end
inherited edtCustomRevardPrompt: TEdit
TabOrder = 7
TabOrder = 6
end
inherited nbCustomRevardCost: TNumberBox
TabOrder = 6
TabOrder = 5
end
inherited Label35: TLabel
TabOrder = 3
@@ -568,12 +568,15 @@ object TTW_Bot: TTTW_Bot
inherited btnAddCustomRewards: TButton
Images = ImageList1
ImageIndex = 0
TabOrder = 13
TabOrder = 12
end
inherited btnDelCustomRewards: TButton
Images = ImageList1
ImageIndex = 12
TabOrder = 16
TabOrder = 13
end
inherited cbUserInput: TCheckBox
TabOrder = 14
end
end
end
@@ -583,7 +586,7 @@ object TTW_Bot: TTTW_Bot
item
end>
TextSettings.Trimming = None
IsSelected = False
IsSelected = True
ImageIndex = 10
Size.Width = 136.000000000000000000
Size.Height = 26.000000000000000000
@@ -595,13 +598,13 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000
inline frOBS1: TfrOBS
Align = Top
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 345.000000000000000000
Size.PlatformDefault = False
inherited sgWebChats: TStringGrid
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 282.000000000000000000
Viewport.Width = 999.000000000000000000
Viewport.Width = 964.000000000000000000
Viewport.Height = 257.000000000000000000
inherited StringColumn2: TStringColumn
Size.Width = 200.000000000000000000
@@ -618,12 +621,12 @@ object TTW_Bot: TTTW_Bot
Anchors = [akTop, akRight]
Images = ImageList1
ImageIndex = 4
Position.X = 915.000000000000000000
Position.X = 880.000000000000000000
TabOrder = 3
OnClick = frOBS1btnDeleteeChatClick
end
inherited Label1: TLabel
TabOrder = 14
TabOrder = 18
end
inherited btnCreateOBSNotify: TButton
Images = ImageList1
@@ -634,7 +637,12 @@ object TTW_Bot: TTTW_Bot
Images = ImageList1
ImageIndex = 5
Position.X = 264.000000000000000000
TabOrder = 13
TabOrder = 17
end
inherited btnCreateOBSGame: TButton
Images = ImageList1
ImageIndex = 20
TabOrder = 5
end
object btnCreateChat: TButton
Images = ImageList1
@@ -683,7 +691,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000
inline frNotify1: TfrNotify
Align = Client
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited btnNotifyOpen: TButton
@@ -765,7 +773,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000
inline frAutoActions1: TfrAutoActions
Align = Client
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited GroupBox20: TGroupBox
@@ -921,20 +929,20 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000
inline frLog1: TfrLog
Align = Client
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited Panel1: TPanel
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
inherited btnClear: TButton
Images = ImageList1
ImageIndex = 4
end
end
inherited sgLog: TStringGrid
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 685.000000000000000000
Viewport.Width = 1003.000000000000000000
Viewport.Width = 968.000000000000000000
Viewport.Height = 685.000000000000000000
inherited StringColumn2: TStringColumn
Size.Width = 170.000000000000000000
@@ -952,7 +960,7 @@ object TTW_Bot: TTTW_Bot
object Panel1: TPanel
Align = Bottom
Position.Y = 744.000000000000000000
Size.Width = 1003.000000000000000000
Size.Width = 968.000000000000000000
Size.Height = 142.000000000000000000
Size.PlatformDefault = False
TabOrder = 10
@@ -1075,7 +1083,7 @@ object TTW_Bot: TTTW_Bot
end
object Label1: TLabel
Anchors = [akTop, akRight]
Position.X = 854.000000000000000000
Position.X = 819.000000000000000000
Position.Y = 8.000000000000000000
Text = #1054#1090#1076#1077#1083#1100#1085#1086#1077' '#1089#1087#1072#1089#1080#1073#1086':'
TabOrder = 12
@@ -1112,7 +1120,7 @@ object TTW_Bot: TTTW_Bot
Anchors = [akTop, akRight]
Images = ImageList1
ImageIndex = 11
Position.X = 854.000000000000000000
Position.X = 819.000000000000000000
Position.Y = 33.000000000000000000
Size.Width = 141.000000000000000000
Size.Height = 22.000000000000000000
@@ -1125,7 +1133,7 @@ object TTW_Bot: TTTW_Bot
Anchors = [akTop, akRight]
Images = ImageList1
ImageIndex = 11
Position.X = 854.000000000000000000
Position.X = 819.000000000000000000
Position.Y = 63.000000000000000000
Size.Width = 141.000000000000000000
Size.Height = 22.000000000000000000
@@ -1138,7 +1146,7 @@ object TTW_Bot: TTTW_Bot
Anchors = [akTop, akRight]
Images = ImageList1
ImageIndex = 11
Position.X = 854.000000000000000000
Position.X = 819.000000000000000000
Position.Y = 93.000000000000000000
Size.Width = 141.000000000000000000
Size.Height = 22.000000000000000000
+71 -27
View File
@@ -27,7 +27,7 @@ uses
System.IOUtils, fCommands, uDataBase, FMX.Edit, FMX.Colors, FMX.SpinBox,
windows, System.Skia, FMX.Skia, uCreateChat, uCreateNotify, fOBS, fTTS,
fPlayerWeb, uWebServerKandinsky, FMX.Memo.Types, FMX.ScrollBox, FMX.Memo,
fRevards;
fRevards, json;
type
TTTW_Bot = class(TForm)
@@ -124,6 +124,7 @@ type
procedure ESStatus(Sender: TObject; const ConnectionEvent: String;
StatusCode: Integer; const Description: String);
procedure ESOnSubOk(s: string);
procedure checkAndSendToGames(aNick: string; aCommand: string);
public
{ Public declarations }
procedure toLog(aModule, aMethod, aMessage: string; aCode: Integer);
@@ -432,6 +433,27 @@ begin
db.WriteSetting('cbTheme', inttostr(cbTheme.ItemIndex));
end;
procedure TTTW_Bot.checkAndSendToGames(aNick: string; aCommand: string);
var
I: Integer;
j: Integer;
begin
for I := 0 to frOBS1.GameWebServers.Count - 1 do
begin
for j := 0 to frOBS1.GameWebServers[I].commands.Count - 1 do
begin
if frOBS1.GameWebServers[I].commands[j] = aCommand then
begin
var
obj := TJSONObject.Create;
obj.AddPair('user', aNick);
obj.AddPair('cmd', aCommand);
frOBS1.GameWebServers[I].WebServerGame.Input(obj);
end;
end;
end;
end;
procedure TTTW_Bot.FormCreate(Sender: TObject);
var
Path: string;
@@ -515,12 +537,13 @@ end;
procedure TTTW_Bot.FormDestroy(Sender: TObject);
begin
FreeAndNil(frOBS1.ChatBadges);
FreeAndNil(frOBS1.ChatBadges);
FreeAndNil(frOBS1.ChatEmotes);
FreeAndNil(frOBS1.ChatWebServers);
FreeAndNil(frOBS1.EventWebServers);
FreeAndNil(frOBS1.KandinskyWebServers);
FreeAndNil(frRevards1.CustomRewards);
FreeAndNil(frOBS1.EventWebServers);
FreeAndNil(frOBS1.KandinskyWebServers);
FreeAndNil(frOBS1.GameWebServers);
FreeAndNil(frRevards1.CustomRewards);
frOBS1.BTTV.Free;
frOBS1.m7tv.Free;
@@ -533,7 +556,7 @@ FreeAndNil(frRevards1.CustomRewards);
FreeAndNil(ttw_API);
if Assigned(Kandinsky) then
Kandinsky.Free;
//frSettings1.Destroy;
// frSettings1.Destroy;
FreeAndNil(db);
FreeAndNil(frAutoActions1.FTimerList);
FreeAndNil(frLog1.FLogList);
@@ -577,14 +600,14 @@ var
frAutoActions1.UpdateGridFromArray;
end;
function StringToArray(const input: string): TArray<string>;
function StringToArray(const Input: string): TArray<string>;
var
Delimiter: char;
Words: TArray<string>;
I: Integer;
begin
Delimiter := ',';
Words := input.Split([Delimiter]);
Words := Input.Split([Delimiter]);
SetLength(Result, Length(Words));
for I := 0 to High(Words) do
Result[I] := Words[I].Trim;
@@ -725,8 +748,9 @@ begin
UpdateWordCounters(processedText);
CheckBannedWords(processedText, aRecord.DisplayName, aRecord.UserId);
if (frCommands1.frContruct1.cbTextToSpeach.IsChecked) and (processedText[1] = '!') and
(processedText[2] = '!') and (processedText[3] = '!') then
if (frCommands1.frContruct1.cbTextToSpeach.IsChecked) and
(processedText[1] = '!') and (processedText[2] = '!') and
(processedText[3] = '!') then
begin
s := StringReplace(processedText, '!!!', '', [rfReplaceAll]);
s := Trim(s);
@@ -734,7 +758,8 @@ begin
exit;
end;
if (frCommands1.frContruct1.cbHelloTTS.IsChecked) and (aRecord.FirstMsg = 1) then
if (frCommands1.frContruct1.cbHelloTTS.IsChecked) and (aRecord.FirstMsg = 1)
then
toSpeech('приветствую, ' + IfThen(aRecord.DisplayName <> '',
aRecord.DisplayName, aRecord.Username));
@@ -752,6 +777,8 @@ begin
end);
PlayNotifySound((aRecord.Moder = 1), (aRecord.Vip = 1),
(aRecord.Subscriber = 1));
processedText := StringReplace(processedText, '!', '', [rfReplaceAll]);
checkAndSendToGames(aRecord.DisplayName, processedText);
end;
procedure TTTW_Bot.PlayNotifySound(aMod, aVip, aSub: Boolean);
@@ -806,30 +833,36 @@ begin
end;
procedure TTTW_Bot.frAutoActions1btnCounterAddClick(Sender: TObject);
var i:integer;
var
I: Integer;
begin
frAutoActions1.btnCounterAddClick(Sender);
frCommands1.frContruct1.cbCounterName.Items.Clear;
for i:=0 to high(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.Items.Add(frAutoActions1.listCounters[i].counterName);
for I := 0 to high(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.Items.Add
(frAutoActions1.listCounters[I].counterName);
end;
procedure TTTW_Bot.frAutoActions1btnCounterDeleteClick(Sender: TObject);
var i:integer;
var
I: Integer;
begin
frAutoActions1.btnCounterDeleteClick(Sender);
frCommands1.frContruct1.cbCounterName.Items.Clear;
for i:=0 to high(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.Items.Add(frAutoActions1.listCounters[i].counterName);
frCommands1.frContruct1.cbCounterName.Items.Clear;
for I := 0 to high(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.Items.Add
(frAutoActions1.listCounters[I].counterName);
end;
procedure TTTW_Bot.frAutoActions1btnCounterEditClick(Sender: TObject);
var i:integer;
var
I: Integer;
begin
frAutoActions1.btnCounterEditClick(Sender);
frCommands1.frContruct1.cbCounterName.Items.Clear;
for i:=0 to high(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.Items.Add(frAutoActions1.listCounters[i].counterName);
frCommands1.frContruct1.cbCounterName.Items.Clear;
for I := 0 to high(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.Items.Add
(frAutoActions1.listCounters[I].counterName);
end;
procedure TTTW_Bot.frCommands1btnRandAddClick(Sender: TObject);
@@ -1094,15 +1127,19 @@ procedure TTTW_Bot.ReadDB;
// Загрузка гридов автоматических действий
procedure LoadAutoActionsGrids;
var i:integer;
var
I: Integer;
begin
db.LoadRecordArray<TListTimer>('listTimer', frAutoActions1.listTimer);
db.LoadRecordArray<TBanWord>('listBanWords', frAutoActions1.listBanWords);
db.LoadRecordArray<TCounter>('listCounters', frAutoActions1.listCounters);
for I := 0 to High(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.items.Add(frAutoActions1.listCounters[i].counterName);
frCommands1.frContruct1.cbTextToSpeach.IsChecked:=db.ReadSetting('cbTextToSpeach', 'False') = 'True';
frCommands1.frContruct1.cbHelloTTS.IsChecked:= db.ReadSetting('cbHelloTTS', 'False') = 'True';
for I := 0 to High(frAutoActions1.listCounters) do
frCommands1.frContruct1.cbCounterName.Items.Add
(frAutoActions1.listCounters[I].counterName);
frCommands1.frContruct1.cbTextToSpeach.IsChecked :=
db.ReadSetting('cbTextToSpeach', 'False') = 'True';
frCommands1.frContruct1.cbHelloTTS.IsChecked :=
db.ReadSetting('cbHelloTTS', 'False') = 'True';
frAutoActions1.initTimers;
frAutoActions1.UpdateGridFromArray;
end;
@@ -1143,6 +1180,13 @@ var i:integer;
end;
db.LoadRecordArray<TOBSGames>('listGames', frOBS1.listGames);
frOBS1.GameWebServers := TList<TGameWebServers>.Create;
for I := 0 to High(frOBS1.listGames) do
begin
frOBS1.CreateWebGame(frOBS1.listGames[I].game, frOBS1.listGames[I].port);
end;
frOBS1.UpdateGridFromArray;
end;