-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAFKTools.lua
More file actions
6327 lines (5724 loc) · 291 KB
/
AFKTools.lua
File metadata and controls
6327 lines (5724 loc) · 291 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
script_name('AFK Tools') -- ÿ åáàë â ðîò ðàçðàáîâ àðç
script_author("Bakhusse & Mamashin")
script_version('3.5.3')
script_properties('work-in-pause')
local dlstatus = require("moonloader").download_status
local afkstyle = require("AFKStyles")
local imgui = require('imgui')
local encoding = require("encoding")
local sampev = require("samp.events")
local memory = require("memory")
local effil = require("effil")
local inicfg = require("inicfg")
local ffi = require("ffi")
local fa = require 'faIcons'
local fa5 = require 'fAwesome5'
local requests = require("requests")
local acef = require("arizona-events")
encoding.default = 'CP1251'
u8 = encoding.UTF8
cefSatiety = nil
cefEatLock = false
local lastEatSatiety = nil
local fa_font = nil
local fa_glyph_ranges = imgui.ImGlyphRanges({ fa.min_range, fa.max_range })
-- Ïåðåìåííàÿ äëÿ õðàíåíèÿ ïðàâèë ÷àòà ñ ñåðâåðà
local remoteRulesText = u8"Çàãðóçêà ïðàâèë..."
if not doesDirectoryExist('moonloader/config/AFKTools') then
createDirectory('moonloader/config/AFKTools')
end
if not doesDirectoryExist('moonloader/resource/AFKTools/fonts') then
createDirectory('moonloader/resource/AFKTools/fonts')
end
local path = getWorkingDirectory() .. "\\config\\AFKTools"
local function closeDialog()
sampSetDialogClientside(true)
sampCloseCurrentDialogWithButton(0)
sampSetDialogClientside(false)
end
local fix = false
local use = false
local updateid
local npc, infnpc = {}, {}
local mainIni = inicfg.load({
autologin = {
state = false
},
infobar = {
style = 0,
custom = "[AFK Tools | {nick}[{id}] | {server}]",
custom_pos = 0
},
arec ={
state = false,
statebanned = false,
wait = 50,
mode = 0,
r_min = 0,
r_max = 0
},
roulette = {
standart = false,
donate = false,
platina = false,
mask = false,
tainik = false,
tainikvc = false,
wait = 1000
},
vknotf = {
token = '',
user_id = '',
group_id = '',
state = false,
isinitgame = false,
ishungry = false,
iscloseconnect = false,
isadm = false,
iscode = false,
isdemorgan = false,
islowhp = false,
ispayday = false,
iscrashscript = false,
issellitem = false,
issmscall = false,
bank = false,
mentions = false,
taxes = false,
record = false,
ismeat = false,
dienable = false
},
tgnotf = {
token = '',
user_id = '',
state = false,
isinitgame = false,
ishungry = false,
iscloseconnect = false,
isadm = false,
iscode = false,
isdemorgan = false,
islowhp = false,
ispayday = false,
iscrashscript = false,
issellitem = false,
issmscall = false,
bank = false,
mentions = false,
taxes = false,
record = false,
ismeat = false,
dienable = false,
proxy_type = 0,
custom_proxy = ''
},
autologinfix = {
state = false,
nick = '',
pass = ''
},
find = {
vkfind = false,
vkfindtext = false,
vkfindtext2 = false,
vkfindtext3 = false,
vkfindtext4 = false,
vkfindtext5 = false,
vkfindtext6 = false,
vkfindtext7 = false,
vkfindtext8 = false,
vkfindtext9 = false,
vkfindtext10 = false,
inputfindvk = '',
inputfindvk2 = '',
inputfindvk3 = '',
inputfindvk4 = '',
inputfindvk5 = '',
inputfindvk6 = '',
inputfindvk7 = '',
inputfindvk8 = '',
inputfindvk9 = '',
inputfindvk10 = '',
},
piar = {
piar1 = '',
piar2 = '',
piar3 = '',
piarwait = 50,
piarwait2 = 50,
piarwait3 = 50,
auto_piar = false,
auto_piar_kd = 300,
last_time = os.time(),
},
eat = {
checkmethod = 0,
eat2met = 30,
cycwait = 30,
setmetod = 0,
eatmetod = 0,
healstate = false,
hplvl = 30,
hpmetod = 0,
arztextdrawid = 648,
arztextdrawidheal = 646,
drugsquen = 1,
ameatbag = false
},
tax = {
state = false,
setmode = 0,
exact = 60,
rand_min = 60,
rand_max = 120,
--runtime
last_ts = 0,
next_ts = 0,
running = false,
worker = nil,
active = false,
step = 0
},
aoc = {
wait = 0,
auto_aoc = false,
mode = 0,
r_max = 120,
r_min = 60,
active = false,
worker = nil,
next_time = 0
},
config = {
banscreen = false,
autoupdate = true,
autoreload = false,
separate = false,
autoad = false,
autoo = false,
atext = '',
aphone = 0,
autoadbiz = false,
chat_login = '',
chat_pass = ''
},
delplayer = {
state = false,
cd = 5,
worker = nil,
running = false
},
delcar = {
state = false,
cd = 5,
worker = nil,
running = false
},
buttons = {
binfo = true
},
theme = {
style = 0
}
},'AFKTools/AFKTools.ini')
ffi.cdef[[
typedef unsigned long DWORD;
struct d3ddeviceVTBL {
void *QueryInterface;
void *AddRef;
void *Release;
void *TestCooperativeLevel;
void *GetAvailableTextureMem;
void *EvictManagedResources;
void *GetDirect3D;
void *GetDeviceCaps;
void *GetDisplayMode;
void *GetCreationParameters;
void *SetCursorProperties;
void *SetCursorPosition;
void *ShowCursor;
void *CreateAdditionalSwapChain;
void *GetSwapChain;
void *GetNumberOfSwapChains;
void *Reset;
void *Present;
void *GetBackBuffer;
void *GetRasterStatus;
void *SetDialogBoxMode;
void *SetGammaRamp;
void *GetGammaRamp;
void *CreateTexture;
void *CreateVolumeTexture;
void *CreateCubeTexture;
void *CreateVertexBuffer;
void *CreateIndexBuffer;
void *CreateRenderTarget;
void *CreateDepthStencilSurface;
void *UpdateSurface;
void *UpdateTexture;
void *GetRenderTargetData;
void *GetFrontBufferData;
void *StretchRect;
void *ColorFill;
void *CreateOffscreenPlainSurface;
void *SetRenderTarget;
void *GetRenderTarget;
void *SetDepthStencilSurface;
void *GetDepthStencilSurface;
void *BeginScene;
void *EndScene;
void *Clear;
void *SetTransform;
void *GetTransform;
void *MultiplyTransform;
void *SetViewport;
void *GetViewport;
void *SetMaterial;
void *GetMaterial;
void *SetLight;
void *GetLight;
void *LightEnable;
void *GetLightEnable;
void *SetClipPlane;
void *GetClipPlane;
void *SetRenderState;
void *GetRenderState;
void *CreateStateBlock;
void *BeginStateBlock;
void *EndStateBlock;
void *SetClipStatus;
void *GetClipStatus;
void *GetTexture;
void *SetTexture;
void *GetTextureStageState;
void *SetTextureStageState;
void *GetSamplerState;
void *SetSamplerState;
void *ValidateDevice;
void *SetPaletteEntries;
void *GetPaletteEntries;
void *SetCurrentTexturePalette;
void *GetCurrentTexturePalette;
void *SetScissorRect;
void *GetScissorRect;
void *SetSoftwareVertexProcessing;
void *GetSoftwareVertexProcessing;
void *SetNPatchMode;
void *GetNPatchMode;
void *DrawPrimitive;
void* DrawIndexedPrimitive;
void *DrawPrimitiveUP;
void *DrawIndexedPrimitiveUP;
void *ProcessVertices;
void *CreateVertexDeclaration;
void *SetVertexDeclaration;
void *GetVertexDeclaration;
void *SetFVF;
void *GetFVF;
void *CreateVertexShader;
void *SetVertexShader;
void *GetVertexShader;
void *SetVertexShaderConstantF;
void *GetVertexShaderConstantF;
void *SetVertexShaderConstantI;
void *GetVertexShaderConstantI;
void *SetVertexShaderConstantB;
void *GetVertexShaderConstantB;
void *SetStreamSource;
void *GetStreamSource;
void *SetStreamSourceFreq;
void *GetStreamSourceFreq;
void *SetIndices;
void *GetIndices;
void *CreatePixelShader;
void *SetPixelShader;
void *GetPixelShader;
void *SetPixelShaderConstantF;
void *GetPixelShaderConstantF;
void *SetPixelShaderConstantI;
void *GetPixelShaderConstantI;
void *SetPixelShaderConstantB;
void *GetPixelShaderConstantB;
void *DrawRectPatch;
void *DrawTriPatch;
void *DeletePatch;
};
struct d3ddevice {
struct d3ddeviceVTBL** vtbl;
};
struct RECT {
long left;
long top;
long right;
long bottom;
};
struct POINT {
long x;
long y;
};
int __stdcall GetSystemMetrics(
int nIndex
);
int __stdcall GetClientRect(
int hWnd,
struct RECT* lpRect
);
int __stdcall ClientToScreen(
int hWnd,
struct POINT* lpPoint
);
int __stdcall D3DXSaveSurfaceToFileA(
const char* pDestFile,
int DestFormat,
void* pSrcSurface,
void* pSrcPalette,
struct RECT *pSrcRect
);
short GetKeyState(int nVirtKey);
bool GetKeyboardLayoutNameA(char* pwszKLID);
int GetLocaleInfoA(int Locale, int LCType, char* lpLCData, int cchData);
void* __stdcall ShellExecuteA(void* hwnd, const char* op, const char* file, const char* params, const char* dir, int show_cmd);
uint32_t __stdcall CoInitializeEx(void*, uint32_t);
int __stdcall GetVolumeInformationA(
const char* lpRootPathName,
char* lpVolumeNameBuffer,
uint32_t nVolumeNameSize,
uint32_t* lpVolumeSerialNumber,
uint32_t* lpMaximumComponentLength,
uint32_t* lpFileSystemFlags,
char* lpFileSystemNameBuffer,
uint32_t nFileSystemNameSize
);
]]
if not doesFileExist('moonloader/config/AFKTools/AFKTools.ini') then
inicfg.save(mainIni,'AFKTools/AFKTools.ini')
end
changelog1 = [[
v1.0
Ðåëèç
v1.1
Äîáàâèë àâòîîáíîâëåíèå
Äîáàâèë íîâûå ñîáûòèÿ äëÿ óâåäîìëåíèé
Èçìåíèë àâòîëîãèí, òåïåðü ýòî àâòîçàïîëíåíèå
v1.2
Óïðàâëåíèå èãðîé ÷åðåç êîìàíäû: !getplstats, !getplinfo, !send(à òàê æå êíîïêè)
Íîâîå ñîáûòèå äëÿ îòïðàâêè óâåäîìëåíèÿ: ïðè âûõîäå èç äåìîðãàíà
Äîáàâèë ôëóäåð íà 3 ñòðîêè(åñëè 2 èëè 3 ñòðîêà íå íóæíà îñòàâüòå å¸ ïóñòîé)
v1.25 - Hotfix
Èñïðàâèë êðàø ïðè îòïðàâêå óâåäîìëåíèÿ î òîì ÷òî ïåðñ ãîëîäåí
v1.3
Äîáàâèë îòêðûòèå äîíàò ñóíäóêà (âíèìàòåëüíî ÷èòàéòå êàê ñäåëàòü ÷òîá ðàáîòàëî)
Äëÿ óêðàèíöåâ: äîáàâèë âîçìîæíîñòü âûðóáèòü VK Notifications è ñïîêîéíî èñïîëüçîâàòü ñêðèïò
v1.4
Ïîôèêñèë àâòîîòêðûòèå åñëè èãðà ñâåðíóòà
v1.5
Ïåðåïèñàë ôóíêöèþ ïðèíÿòèÿ óâåäîìëåíèé
Òåïåðü àâòîõèëë íå ôëóäèò
v1.6
Ðåëèç íà BlastHack
Ê êàæäîé ñòðîêå ôëóäåðà äîáàâëåíà ñâîÿ çàäåðæêà
Òåïåðü, åñëè âàñ óáèë èãðîê è âêëþ÷åíî óâåäîìëåíèå î ñìåðòè, â óâåäîìëåíèè íàïèøåò êòî âàñ óáèë
Ïðèáðàëñÿ â êîäå
v1.6.1
Ôèêñ VK Notifications
v1.7
 VK Notifications äîáàâëåíà êíîïêà "Ãîëîä" è êîìàíäà !getplhun
Äîáàâëåíà âîçìîæíîñòü âûêëþ÷èòü àâòîîáíîâëåíèå
Èñïðàâëåíû ëîæíûå óâåäîìëåíèÿ íà ñîîáùåíèÿ îò àäìèíèñòðàòîðà\
v1.8
Îáíîâèë ñïîñîá àíòèàôê, âðîäå òåïåðü ó âñåõ ðàáîòàåò
Ïîôèêñèë åñëè ïåðñ óìðåò
v1.8-fix
Ôèêñ êðàøà ïðè ðåêîííåêòå
v1.9
Íîâûé äèçàéí
Äîáàâëåí ÀâòîÏèàð
Äîáàâëåíà ïðîâåðêà íà /pm îò àäìèíîâ(äèàëîã + ÷àò, 2 âèäà)
Ôèêñ AutoBanScreen - òåïåðü, ñêðèíèò ïðè ïîÿâëåíèè äèàëîãà î áàíå
v1.9.1
Ôèêñ õàâêè èç äîìà
v1.9.1.1
Ôèêñ ñîõðàíåíèÿ çàäåðæêè äëÿ àâòîîòêðûòèÿ
v2.0.0
Ïîôèêøåíû êðàøè(âðîäå âñå) ïðè ðåêîííåêòå, èñïîëüçîâàíèè áîòà VK
Ñìåíåí äèçàéí íà áîëåå ïðèÿòíûé
 àâòîçàïîëíåíèå äîáàâëåíà êíîïêà "Äîáàâèòü àêêàóíò"
Äîáàâëåíû êîìàíäû /afkrec(ðåêîí ñ ñåêóíäàìè), /afksrec(ñòîïàåò àâòîðåêîí è ðåêîí îáû÷íûé)
]]
changelog2 = [[ v2.0.1
Ôèêñ àâòîîòêðûòèÿ
v2.0.2
Àâòîåäà - Äîáàâëåí âûáîð ïðîâåðêè êîãäà ìîæíî ïîõàâàòü(ïîëîñêà ãîëîäà ñ íàñòðîéêîé)
Ôèêñ êðàøåé èç-çà ïèàðà è äð.
Äîáàâëåí Fastconnect
v2.0.3
Ôèêñû áàãîâ
v2.0.4
Îòêëþ÷åíèå àâòîîáíîâëåíèé
 VK Notifications äîáàâëåíà êíîïêà "SMS è Çâîíîê"
v2.0.5
 VK Notifications äîáàâëåíà êíîïêà "ÊÄ ìåøêà/ðóëåòîê", à òàêæå "Êîä ñ ïî÷òû/ÂÊ"
Äîáàâëåíû êîìàíäû !sendcode !sendvk äëÿ îòïðàâêè êîäîâ ïîäòâåðæäåíèé èç ÂÊ â èãðó.
v2.0.6
Äîáàâëåí Àâòîîòâåò÷èê, êîòîðûé ñàì âîçüìåò òðóáêó è ïîïðîñèò àáîíåíòà íàïèñàòü â ÂÊ.
Äîáàâëåíà çàïèñü çâîíêîâ, òàêæå ìîæíî ðàçãîâàðèâàòü ïî òåëåôîíó èç ÂÊ.
 ÂÊ äîáàâëåíû êîìàíäû !p (ïðèíÿòü çâîíîê) è !h (ñáðîñèòü çâîíîê). Îáùàòüñÿ ìîæíî ÷åðåç !send [òåêñò].
v2.0.7
Åñëè â àâòîïèàðå èñïîëüçóåòå /ad, òî äëÿ ýòîãî äîáàâëåí Àâòîñêèï /ad (äëÿ îáû÷íûõ è ìàðêåòîëîãîâ).
Ïîôèêñèë ôëóä â ÂÊ "The server didn't respond".
Âîññòàíîâëåíèå íà ÁÕ.
v2.0.8
Äîáàâèë ïðîâåðêó ïðè èñïîëüçîâàíèè êîìàíäû !p, !h (ðàíüøå ñêðèïò îòïðàâëÿë ñîîáùåíèÿ äàæå íå âçàèìîäåéñòâóÿ)
Òåïåðü ñêðèïò íå ðåñòàðòèò ïðè çàïðîñå êîäà ñ ïî÷òû/ÂÊ.
Ïåðåïèñàí àâòîîòâåò÷èê, à òàêæå çàïèñü çâîíêîâ.
Òåïåðü åñòü 2 âåðñèè ñêðèïòà:
- Ñ óæå ïîäêëþ÷åííûì ïàáëèêîì (äëÿ òåõ êòî íå óìååò)
- Áåç ïîäêëþ÷åííîãî ïàáëèêà, ïîäêëþ÷àòü ñàìîìó (äëÿ òåõ êòî õî÷åò áûòü êðóòûì)
Äîáàâëåíà êîìàíäà !gauth äëÿ îòïðàâêè êîäà èç GAuthenticator
Åñëè ïåðñîíàæ çàñïàíèòñÿ ïîñëå ëîãèíà, òî ïðèäåò óâåäîìëåíèå
]]
changelog3 = [[
v2.0.9
Òåïåðü íà àâòîîòâåò÷èê ìîæíî ïèñàòü ñâîé òåêñò.
 ÂÊ äîáàâëåíà êíîïêà "Ïîñëåäíèå 10 ñòðîê ñ ÷àòà"
Äîáàâëåíà ôóíêöèÿ ïåðåîòïðàâêè ñîîáùåíèÿ â /vr èç-çà ÊÄ.
Òåïåðü ñêðèïò ïîääåðæèâàåò àâòîîáíîâëåíèå.
v2.0.9.1
Íåáîëüøîé áàãîôèêñ.
Ïåðåïèñàí ñêèï /ad.
v2.0.9.2
Ïåðåïèñàí ïîëíîñòüþ àâòîîòâåò÷èê è îòâåò íà çâîíêè ñ ÂÊ.
Èñïðàâëåíû áàãè.
v2.1.0
Èñïðàâëåíà ðàáîòà Àâòîñêèïà äèàëîãà /vr.
Òåïåðü ìîæíî âêëþ÷àòü îòïðàâêó âñåõ äèàëîãîâ â ÂÊ.
Äîáàâëåíî âçàèìîäåéñòâèå ñ äèàëîãàìè â èãðå ÷åðåç !d [ïóíêò èëè òåêñò] è !dc (çàêðûâàåò äèàëîã).
Òåïåðü îòïðàâëÿòü êîìàíäû â èãðó ìîæíî áåç !send, íî îòïðàâëÿòü òåêñò â ÷àò ÷åðåç íåãî âñå æå íóæíî.
Ïðèïîäíÿë êíîïêè â ãëàâíîì ìåíþ äëÿ êðàñîòû.
Ïðèáðàëñÿ â îñíîâíûõ íàñòðîéêàõ.
Ïîôèêñèë àâòîîòêðûòèå, äîáàâèë äîï. ñóíäóêè.
v2.2
Òåïåðü ñêðèíøîò èç èãðû ìîæíî ïîëó÷àòü â ÂÊ.
Äîáàâèë íåñêîëüêî êíîïîê äëÿ ñêà÷èâàíèÿ áèáëèîòåê/äðóãèõ ñêðèïòîâ:
Àâòîîòêðûòèå îò bakhusse
AntiAFK by AIR
Áèáëèîòåêè äëÿ ðàáîòû !screen
Óìåíüøèë ðàçìåðû îêîí "Êàê íàñòðîèòü" è "Êàê èñïðàâèòü !screen" â VK Notifications.
Èñïðàâèë àâòîîáíîâëåíèå â âåðñèè ñ ïàáëèêîì.
Äîáàâëåíû êíîïêè:
OK è Cancel äëÿ äèàëîãîâûõ îêîí
ALT
ESC äëÿ çàêðûòèÿ TextDraw
Äîáàâèë óâåäîìëåíèå îò ïîëó÷åíèÿ èëè îòïðàâëåíèÿ áàíêîâñêîãî ïåðåâîäà.
 êíîïêó "Ïîääåðæêà" áûëè äîáàâëåíû íîâûå êîìàíäû.
Ïåðåïèñàí òåêñò â "Êàê íàñòðîèòü" â VK Notifications.
Òåïåðü ïðè âêëþ÷åííîé ôóíêöèè "Îòïðàâêà âñåõ äèàëîãîâ" ñîîáùåíèÿ íå îòïðàâëÿþòñÿ ïî 2 ðàçà.
Äîáàâëåí ïîêàçàòåëü îíëàéíà íà ñåðâåðå â "Èíôîðìàöèÿ"
]]
changelog4 = [[
v2.3
Òåïåðü êíîïêè óïðàâëåíèÿ èãðîé îòäåëüíû îò îñíîâíîé êëàâèàòóðû.
Èñïðàâèë êðàø èãðû îò êíîïêè ALT èç ÂÊ.
Çàìåíèë êíîïêè Ïåðåîòïðàâêà /vr è Ñêèï /vr íà êíîïêó ñêà÷èâàíèÿ ñêðèïòà îò Cosmo.
Äîáàâëåíà îòïðàâêà íàéäåííîãî òåêñòà â ÂÊ.
Äîáàâèë ññûëêè íà ãðóïïó ÂÊ, ÂÊ Ðàçðàáîò÷èêà, Telegram-êàíàë.
Ïðè îòïðàâêå äèàëîãîâûõ îêîí êíîïêè áóäóò â ñîîáùåíèè
(äëÿ òåõ äèàëîãîâ áåç âûáîðà ñòðîêè è ââîäà òåêñòà).
Òåïåðü ÷åðåç ÂÊ ìîæíî âûêëþ÷èòü èãðó è êîìïüþòåð(ñ òàéìåðîì íà 30 ñåê.)
Âûðåçàíà ôóíêöèÿ ñêèï äèàëîãà /ad íà äîðàáîòêó.
Äîáàâèë ôóíêöèþ "Óáðàòü ëþäåé â ðàäèóñå".
Äîáàâèë äîï. ñîâåò äëÿ èñïîëüçîâàíèÿ !screen.
v2.4
Òåïåðü äèàëîã îá îòïðàâêå ñîîáùåíèÿ â /vr íå áóäåò îòïðàâëÿòüñÿ â ÂÊ.
Äîáàâëåíû êíîïêè Ïðèíÿòü/Îòêëîíèòü çâîíîê ïðè âõîäÿùåì âûçîâå â ÂÊ.
Èñïðàâëåí àâòîîòâåò÷èê, ðàíåå íå íàæèìàë Y è íå áðàë òðóáêó.
Äîáàâëåíà êíîïêà Ñêðèíøîò â äèàëîãå â ÂÊ.
Äîáàâëåíà êíîïêà äëÿ ñêà÷èâàíèÿ ñêðèïòà ñ ïàáëèêîì èëè áåç.
v2.5
Èñïðàâèë àâòîåäó â ôàì ÊÂ.
 ÀâòîÕèë äîáàâëåíû ñèãàðåòû
v2.5.1 HOTFIX
 îñíîâíûå íàñòðîéêè äîáàâëåí àâòîëîãèí äëÿ íîâûõ èíòåðôåéñîâ.
]]
changelog5 = [[
v3.0 Beta
· Äîáàâëåíî Telegam Notifications [Beta]
· Äîáàâëåí ðàçäåë êàñòîìèçàöèè [Beta]
· Ãëîáàëüíûå èçìåíåíèÿ âèçóàëüíîãî èíòåðôåéñà ñêðèïòà
· ×àñòè÷íî ïåðåïèñàíû íåêîòîðûå ðàçäåëû
· Äîáàâëåí faIcons.lua êàê çàâèñèìîñòü
· Äîáàâëåíû FreeStyle ImGui òåìû
· Äîáàâëåíà ñâåòëàÿ AFKTools òåìà [Beta]
· Ðåàëèçîâàí AFKStyles.lua êàê çàâèñèìîñòü(?) [Beta]
· Ïîèñê â ÷àòå äëÿ VK + Telegram
· Îáíîâë¸í ëîãîòèï â øàïêå ñêðèïòà
· Äîáàâëåí ëîãîòèï â AFKMessage
· Ïîëíîñòüþ ïåðåïèñàí ðàçäåë Èíôîðìàöèÿ è F.A.Q
· ×àñòè÷íî ïåðåïèñàí ðàçäåë îñíîâíûõ ôóíêöèé â áîëåå ïðèåìëåìûé âèä
· Â ðàçäåë èíôîðìàöèè äîáàâëåí script_banner.png
· Config ïðåîáðàçîâàí â AFKTools.ini
· Ðàáî÷àÿ äèðåêòîðèÿ êîíôèãà - /moonloader/config/AFKTools/...
· Çàäåéñòâîâàíà ïàïêà resource
· Config ÷àñòè÷íî ïî÷èùåí îò ëèøíèõ ïåðåìåííûõ
· Óäàëåíû ëèøíèå êíîïêè
· Óäàë¸í óñòàðåâøèé ãàéä ïî íàñòðîéêå API ÂÊîíòàêòå
· Óäàëåíà âåðñèÿ ñ ïàáëèêîì
· Óäàë¸í àâòîîòâåò÷èê
]]
changelog6 = [[
v3.1.0
· Èñïðàâëåíû íåáîëüøèå è áîëüøèå áàãè
· Óøëè â äîëãèé çàïîé (íà 2-3 ãîäà...)
v3.2.0
· Èñïðàâëåíî óâåäëîìëåíèå î PayDay
· Äîáàâëåí íîâûé ñïîñîá ïðîâåðêè ãîëîäà - CEF
· Äîáàâëåí íîâûé ïóíêò óâåäîìåíèé - Óïîìèíàíèÿ
· Äîáàâëåíà êîìàíäà äëÿ âêëþ÷åíèÿ àâòîîòêðûòèÿ ðóëåòîê - /autorul
· Äîáàâëåíà àâòîîïëàòà íàëîãîâ ñ âûáîðîì ÊÄ: òî÷íîå èëè ðàíäîì
· Äîáàâëåíà âîçìîæíîñòü âûáèðàòü çàäåðæêó àâòîðåêîííåêòà: òî÷íàÿ èëè ðàíäîì
· Óáðàí àâòîëîãèí, íà çàìåíó íåìó ïðèøåë àâòîëîãèí ARZ
· Äîðàáîòàíà ôóíêöèÿ Óäàëÿòü èãðîêîâ â ðàäèóñå, òåïåðü ìîæíî óêàçàòü ÊÄ çà êîòîðîå èãðîêè â ðàäèóñå áóäóò ïðîïàäàòü
· Äîáàâëåíî Óäàëåíèå ìàøèí â ðàäèóñå
]]
changelog7 = [[
v3.3.0
· Äîáàâëåí íîâûé ìåòîä îòêðûòèÿ ñóíäóêîâ è òàéíèêîâ, è àêòèâíîãî àêññåñóàðà "Îáðåç" - CEF
· Òåïåðü êîìàíäà /autorul âûïîëíÿåò òîò ìåòîä îòêðûòèÿ, êîòîðûé áûë âûáðàí â ñêðèïòå
· Äîáàâëåíî óâåäîìëåíèå îá îïëàòå íàëîãîâ
· Òåïåðü òåëåôîí óáèðàåòñÿ ïîñëå îïëàòû íàëîãîâ
· Äîáàâëåíà èíñòðóöèÿ ïî èñïðàâëåíèþ ÒÃ
· Èñïðàâëåí áàã, êîãäà ïðè àâòîðèçàöèè ñêðèïò ïûòàëñÿ ïîêóøàòü ïðè ñïîñîáå ïðîâåðêè ãîëîäà - CEF
· Òåïåðü â ÷åðåç àâòîïèàð ìîæíî îòïðàâëÿòü êîìàíäû äðóãèõ ñêðèïòîâ (íàïðèìåð /vra ÷åðåç VIP-Resend îò Cosmo)
· Ïðè ïðîïóùåííîì âûçîâå òåëåôîí áóäåò óáèðàòüñÿ àâòîìàòè÷åñêè, ÷òîáû íå ìåøàòü ðàáîòå àâòîîïëàòû íàëîãîâ è àâòîîòêðûòèÿ ðóëåòîê
· Èçìåíåíà ðàáîòà óâåäîìëåíèÿ "Êðàø ñêðèïòà", ïåðåäåëàíà â "Êðàø/çàïóñê ñêðèïòà", áóäóò ïîñòóïàòü òàêæå óâåäîìëåíèÿ î çàïóñêå
·  ðàçäåë Îñíîâíîå äîáàâëåíà êíîïêà íà ñêà÷èâàíèå AFKTools reloader, êîòîðàÿ ïåðåçàïóñòèò ñêðèïò ïî êîìàíäå !afkreload èç VK/TG
· Â ðàçäåëå Êàñòîìèçàöèÿ îáàâëåíà âîçìîæíîñòü ðåäàêòèðîâàòü èíôîáàð â óâåäîìëåíèÿõ, à òàêæå êàñòîìèçèðîâàòü åãî!
v3.3.1
· Èñïðàâëåíà ïðîáëåìà ñ ÒÃ ïðè ïåðâîì çàïóñêå ñêðèïòà
· Èñïðàâëåí îáðåç â àâòîîòêðûòèè
]]
changelog8 = [[
v3.4.0
· Óáðàí ÷åêáîêñ AntiAFK â îñíîâíûõ íàñòðîéêàõ, íà çàìåíó íåìó åñòü àëüòåðíàòèâà - AntiAFK by AIR
· Äîáàâëåíà êîìàíäà /autotax äëÿ çàïóñêà àâòîîïëàòû íàëîãîâ
· Äîáàâëåíà êîìàíäà /paytax äëÿ åäèíîâðåìåííîé îïëàòû íàëîãîâ. Äëÿ ýòîãî òàêæå äîáàâëåíû êíîïêè â VK/TG
· Èñïðàâëåíû êíîïêè àâòîîòêðûòèÿ â VK/TG, òåïåðü îíè çàïóñêàþò òîò ðåæèì, ÷òî âûáðàí
· Òåïåðü ñòàòóñ Àâòîîòêðûòèÿ CEF ïîêàçûâàåòñÿ â îñíîâíûõ íàñòðîéêàõ
· Íåìíîãî èçìåíåí âèä ðåæèîâ çàäåðæêè/ðàáîòû íåêîòîðûõ ôóíêöèé ñêðèïòà
· Äîáàâëåíà âîçìîæíîñòü àâòî-âêëþ÷åíèÿ àâòîîòêðûòèÿ ðóëåòîê
· Ïðè âûáîðå ìåòîäà åäû ìåøîê ìîæíî âêëþ÷èòü àâòîìàòè÷åñêîå íàäåâàíèå
v3.4.1 HOTFIX
·  ñâÿçè ñ áëîêèðîâêîé Telegam íà òåððèòîðèè ÐÔ, äîáàâëåíà âîçìîæíîñòü ïîäêëþ÷èòü ïðîêñè äëÿ êîððåêòíîé ðàáîòû óâåäîìëåíèé
Ïðèìå÷àíèå:  ñëó÷àå åñëè ó âàñ íåò ïðîêñè, âû ìîæåòå èñïîëüçîâàòü âñòðîåííûå ïðîêñè ñêðèïòà
· Áûëà óâåëè÷åíà çàäåðæêà ïåðåä çàêðûòèåì èíâåíòàðÿ âî âðåìÿ ðàáîòû àâòîîòêðûòèÿ, â ñëó÷àå åñëè ó âàñ ìíîãî òàéíèêîâ
· Áûëè äîáàâëåíû Òàéíèêè Ëè÷à, Âåäüìû, Ìåäâåäÿ, Ñåðäþ÷êè
]]
changelog9 = [[
v3.5.0
· Óäàëåíî ñòàðîå àâòîîòêðûòèå ñóíäóêîâ ñ ðóëåòêàìè
· Äîáàâëåí âûáîð ðåæèìà ðàáîòû àâòîîòêðûòèÿ ñóíäóêîâ è òàéíèêîâ (òî÷íîå èëè ðàíäîìíîå ÊÄ)
· Äîáàâëåíà âîçìîæíîñòü ïîëó÷èòü êîíôèã ñêðèïòà â ÂÊ èëè Òà (ïîêà ÷òî òåêñòîì, â äîðàáîòêå)
· Áûëà èñïðàâëåíà ðàáîòà AFKTools reloader, òåïåðü òàì òàêæå ïîääåðæèâàþòñÿ ïðîêñè
· [beta] Áûë ñäåëàí ÷àò âíóòðè ñêðèïòà ìåæäó ïîëüçîâàòåëÿìè ñêðèïòà
· Áûë ðåàëèçîâàí ñ÷åò÷èê îíëàéíà ïîëüçîâàòåëåé ñêðèïòà
· Èñïðàâëåíà ïåðåìåííàÿ lvl â íàñòðîéêàõ êàñòîìíîãî èíôîáàðà
· Óäàëåí Fastconnect
· Ðàçäåë Àâòîçàïîëíåíèå çàìåíåí íà ðàçäåë Ñòàòèñòèêà, áóäåò äîðàáîòàíà â ñëåäóþùèõ îáíîâëåíèÿõ
v3.5.1
· Äîáàâëåíà êíîïêà ñêðûòèÿ íèêà íà ãëàâíîé ñòðàíèöå ñêðèïòà
· Èñïðàâëåíû ìèêðî-ôðèçû
· Èñïðàâëåíà ðàáîòà AFKTools reloader, òåïåðü îí ïåðåçàãðóæàåò AFKTools ïî êîìàíäå êîððåêòíî
· Èñïðàâëåí êðàø ïðè óñòàíîâêå êàñòîìíîãî èíôîáàðà
·  îñíîâíûõ íàñòðîéêàõ ìîæíî âêëþ÷èòü àâòîìàòè÷åñêèé ïåðåçàïóñê ñêðèïòà â ñëó÷àå êðàøà, äëÿ ðàáîòû òðåáóåòñÿ AFKTools reloader
v3.5.2
· Èñïðàâëåí êðàø ñêðèïòà èç-çà óâåäîìëåíèé â TG
· Èñïðàâëåíû ôðèçû
v3.5.3
· Èñïðàâëåíî óâåäîìëåíèå î PayDay íà íîâîå, â ñâÿçè ñ îáíîâëåíèåì
· Êíîïêà íà ñêà÷èâàíèÿ ñêðèïòà Àâòîîòêðûòèå /boxset áûëà çàìåíåíà íà NewMoneySeparator
· Äîáàâëåí ÷åêáîêñ äëÿ ðàçäåëåíèÿ äåíåã â óâåäîìëåíèÿõ
]]
scriptinfo = [[
AFK Tools - ñêðèïò, äëÿ ïðîêà÷êè àêêàóíòà íà Arizona Role Play!
 äàííîì ðàçäåëå âû ìîæåòå íàéòè ññûëêè íà ñîö-ñåòè ïðîåêòà(AFKTools), òåì ñàìûì áîëüøå óçíàòü î ñêðèïòå.
Ïî âîïðîñàì ïî ñêðèïòó, ïîääåðæêå, òåõ.ïîääåðæêå, ïîìîùè, îáðàùàòüñÿ ê - Mamashin
Òàê æå, ðåêîìåíäóåì âñòóïèòü â íàøå ñîîáùåñòâî ÂÊîíòàêòå è â áåñåäó ïîëüçîâàòåëåé!
Ðàçðàáîòêà/Ïîääåðæêà ñêðèïòà: Bakhusse & Mamashin/S-Mamashin
Àâòîð ïðîåêòà: Neverlane(ronnyevans)
Îòäåëüíîå ñïàñèáî: Cosmo çà ìîðàëüíóþ ïîääåðæêó!
2020-2023. 2026.
]]
scriptcommand = [[
Îñíîâíûå êîìàíäû ñêðèïòà:
/afktools - îòêðûòü ìåíþ ñêðèïòà
/afkreload - ïåðåçàãðóçèòü ñêðèïò
/afkunload - âûãðóçèòü ñêðèïò
/afkrec - ðåêîííåêò ñ ñåêóíäàìè
/afksrec - îñòàíîâèòü ðåêîííåêò(ñòàíäàðòíûé èëè àâòîðåêîí)
/autorul - âêëþ÷èòü àâòîîòêðûòèå ðóëåòîê
/autotax - âêëþ÷èòü àâòîîïëàòó íàëîãîâ
/paytax - åäèíîðàçîâî îïëàòèòü íàëîãè
]]
howsetVK = [[
Åñëè âàì íå äîâåëîñü èìåòü äåëî ñ API ÂÊîíòàêòå, âû íå çíàåòå, ÷òî òàêîå "Òîêåí",
íå èìååòå ïîëíîãî ïðåäñòàâëåíèÿ ãäå âçÿòü VK ID/PUBLIC ID - ïðèãëàøàåì âàñ â íàøå ñîîáùåñòâî ÂÊîíòàêòå.
Ó íàñ åñòü àêòèâíûé ÷àò ïîëüçîâàòåëåé â êîòîðîì âû ìîæåòå ïîïðîñèòü ïîìîùè íà ýòó äîëþ.
Èìååòñÿ ñòàòüÿ, ñ ïîäðîáíûì ãàéäîì ïî íàñòðîéêå VK API.
Òàê æå, ïðèñóòñòâóåò âèäåîàäàïòàöèÿ ãàéäà äëÿ òåõ, êòî íå ëþáèòåëü ÷èòàòü.
Èñïîëüçóéòå êíîïêè íèæå, ÷òîáû ïåðåéòè íà èñòî÷íèêè.
]]
howsetTG = [[
 Telegram âñ¸ êóäà ñëàùå è ïðîùå ÷åì ñ VK API.
Äà áû íå ïåðåïèñûâàòü îäíî è òîæå ïî 100 ðàç, ìû ðåøèëè èñïîëüçîâàòü åäèíûé ïîëíîöåííûé ãàéä.
Ãàéä âêëþ÷àåò â ñåáÿ ïîëíîöåííóþ ïðîöåäóðó ðåàëèçàöèè ïîëó÷åíèÿ óâåäîìëåíèé â Telegram, øàã çà øàãîì.
Òàê æå ó íàñ èìååòñÿ ÷àò ïîëüçîâàòåëåé â êîòîðîì âû ìîæåòå ñïðîñèòü ïîìîùè.
Èñïîëüçóéòå êíîïêè íèæå, ÷òîáû ïåðåéòè íà èñòî÷íèêè
]]
helpTG = [[
Ñêðèïò íå ðåàãèðóåò íà êíîïêè èëè òåêñò â Òà ÷àòå?
Ýòî äîâîëüíî-òàêè ëåãêî èñïðàâèòü, è íåò, ýòî íå ïðîáëåìà ñêðèïòà.
Çàéäè â @BotFather, âûáåðè ñâîåãî áîòà ïî êîìàíäå /mybots, âûáåðè Bot Settings.
Òåïåðü íóæíî îòêëþ÷èòü Allow Groups è Group Privacy ïî êíîïêå Turn off.
Åùå ëåã÷å ìîæíî ñäåëàòü â ìèíè-ïðèëîæåíèè BotFather, òàì âûáèðàåòå áîòà.
Ïîñëå Bot Settings è îòêëþ÷àåòå òå æå ïàðàìåòðû.
 ñëó÷àå íåðàáîòîñïîñîáíîñòè TG Notifications - èñïîëüçóéòå ïðîêñè!
]]
customtext = [[
 äàííîì ðàçäåëå âû ìîæåòå íàêîíåö-òî èçìåíèòü ImGUI ñîñòàâëÿþùóþ íàøåãî ñêðèïòà!
Çàäåéñòâîâàí ôðèñòàéë ñ BlastHack, à òàê æå îðèãèíàëüíûå òåìû íà îñíîâå íàøåé îñíîâíîé òåìû!
Òàê æå çäåñü, âû ìîæåòå êàñòîìèçèðîâàòü ýëåìåíò ñîîáùåíèé
]]
prefixtext = [[
Ïðåôèêñû îôîðìëåíèÿ:
[AFKTools] - òåìû ñäåëàííûå íà îñíîâå ëåãåíäàðíîé, ñòàíäàðòíîé, ðîäíîé òåìû AFKTools.
[BlastHack] - òåìû ôîðìàòà "Free-style", âçÿòû ñ îòêðûòîãî äîñòóïà îò ðàçðàáîò÷èêîâ è äèçàéíåðîâ BlastHack.
[NickName] - òåìà îïóáëèêîâàííàÿ èçâåñòâåíûì ðàçðàáîò÷èêîì/UI-äèçàéíåðîì íà BlastHack.
]]
searchchatfaq = [[
Ïîèñê è îòïðàâêà òåêñòà ñ ñåðâåðà - ïðÿìî âàì â Telegram èëè ÂÊîíòàêòå.
Åñëè âêëþ÷åí òîëüêî ðàçäåë "VK Notifications" - óâåäîìëåíèÿ áóäóò ïðèõîäèòü òîëüêî â VK.
Åñëè âêëþ÷åí òîëüêî ðàçäåë "TG Notifications" - óâåäîìëåíèÿ áóäóò ïðèõîäèòü òîëüêî â Telegram.
Åñëè ïîëó÷àåòå óâåäîìëåíèÿ â îáà ìåññåíäæåðà - íàéäåííûé òåêñò áóäåò îòïðàâëÿòüñÿ âàì è â VK è â Telegram.
Äëÿ ÷åãî ýòî?
Ïðåäóñìîòðåíî 10 ïîëåé ôîðìàòà Input, ââåäèòå â îäèí èç íèõ íóæíûé òåêñò(Ïðèìåð: Øàð + 12), ïîñòàâüòå ãàëî÷êó ðÿäîì è ñêðèïò áóäåò âàì
îòïðàâëÿòü, âñå ñòðîêè ñâÿçàííûå ñ "Øàð +12", àíàëîãè÷íî ñ äðóãèìè àêñåññóàðàìè, òðàíñïîðòîì è äðóãèì èìóùåñòâîì.
Òàê æå, ìîæåòå âûëàâëèâàòü íóæíûå äëÿ âàñ ñòðîêè ñ ïîìîùüþ ýòîé ôóíêöèè, íàïðèìåð äåéñòâèÿ îïðåäåë¸ííîãî èãðîêà â ïëàíå /ad /vr /fam è òä.
]]
howscreen = [[
Êîìàíäà !screen ðàáîòàåò ñëåäóþùèì îáðàçîì:
Åñëè èãðà ñâ¸ðíóòà - ïðîèçîéäåò êðàø ñêðèïòà
Åñëè èãðà íà âåñü ýêðàí - ïðèä¸ò ïðîñòî áåëûé ñêðèíøîò.
×òîáû ñðàáîòàëî èäåàëüíî - íóæíî ñäåëàòü èãðó â îêîííûé ðåæèì
è ðàñòÿíóòü íà âåñü ýêðàí (íà ëàóí÷åðå ìîæíî ïðîñòî â íàñòðîéêàõ
ëàóí÷åðà âêëþ÷èòü îêîííûé ðåæèì).
Äëÿ ðàáîòû êîìàíäû íóæíî ñêà÷àòü íåîáõîäèìûå
áèáëèîòåêè (ñêà÷àòü ìîæíî â ìåíþ VK/TG Notifications)
×òîáû ïîëó÷àòü ñêðèíû êîððåêòíî, ñîâåòóþ ñïåðâà èñïîëüçîâàòü
êîìáèíàöèþ Alt + Enter, ïîñëå Win + ñòðåëêà ââåðõ.
]]
statstext = [[
Äàííûé ðàçäåë íàõîäèòñÿ íà ñòàäèè ðàçðàáîòêè!
Íî óæå äîñòóïåí, ÷òîáû íàìåêíóòü âàì î òîì, ÷òî Ñòåïàí Ìàìàøèí òîæå æèâ è äåëàåò äëÿ âàñ ãîäíîòó!
Ñëåäèòå çà îáíîâëåíèÿìè ñêðèïòà íà BlastHack è â íàøåé Ãðóïïå ÂÊîíòàêòå!
]]
local _message = {}
local chat = "https://vk.me/join/OznKTxWIyyzo20jNxgdqqNkop85ZPJE1Xa0="
local style_selected = imgui.ImInt(mainIni.theme.style)
local style_list = {u8"Îðèãèíàëüíàÿ", u8'Ñâåòëàÿ', u8"Ñåðàÿ", u8"Ò¸ìíàÿ", u8"Âèøí¸âàÿ", u8"Ôèîëåòîâàÿ", u8"Ðîçîâàÿ"}
local banner = imgui.CreateTextureFromFile(getWorkingDirectory() .. "\\resource\\AFKTools\\script_banner.png")
-- [×àò: Ïåðåìåííûå]
local chat_window = imgui.ImBool(false)
local chat_msg_text = imgui.ImBuffer(256)
local is_chat_authorized = false
local chat_messages = {}
local last_chat_update = 0
local chat_auth_process = nil
local chat_error_msg = ""
local vds_chat_url = "https://chat.bakh.us"
local chat_user_data = {
nickname = "",
badge = "",
badge_color = "#ffd700",
nick_color = "#4da6ff",
is_banned = 0
}
if mainIni.config.chat_login == nil then mainIni.config.chat_login = "" end
if mainIni.config.chat_pass == nil then mainIni.config.chat_pass = "" end
local chat_login = imgui.ImBuffer(tostring(mainIni.config.chat_login or ""), 32)
local chat_pass = imgui.ImBuffer(tostring(mainIni.config.chat_pass or ""), 32)
local stats_timer = 60
local lastPingTime = 0
local online_count = "0"
local last_online_update = 0
local online_task = nil
local cachedPlayerLevel = "?"
local function async_chat_request(method, endpoint, data)
local full_url = vds_chat_url .. endpoint
local runner = effil.thread(function(m, url, d_str)
local status_req, requests = pcall(require, "requests")
if not status_req then return false, "no_lib" end
local options = {
timeout = 7,
verify = false,
headers = { ["Accept"] = "application/json" }
}
if m == "POST" and d_str then
options.data = d_str
options.headers["Content-Type"] = "application/json"
end
local status, res = pcall(requests.request, m, url, options)
if status and res then
return true, {status = res.status_code, body = res.text}
end
return false, "request_err"
end)
local raw_data = nil
if data then
local st, dkjson = pcall(require, "dkjson")
if st then raw_data = dkjson.encode(data) end
end
return runner(method, full_url, raw_data)
end
local function hexToImVec4(hex)
hex = tostring(hex or ""):gsub("#", "")
if #hex ~= 6 then
return imgui.ImVec4(1.0, 1.0, 1.0, 1.0)
end
local r = tonumber(hex:sub(1, 2), 16) or 255
local g = tonumber(hex:sub(3, 4), 16) or 255
local b = tonumber(hex:sub(5, 6), 16) or 255
return imgui.ImVec4(r / 255, g / 255, b / 255, 1.0)
end
local function drawBadge(text, colorHex)
local badgeText = tostring(text or "")
if badgeText == "" then return end
local drawList = imgui.GetWindowDrawList()
local pos = imgui.GetCursorScreenPos()
local textSize = imgui.CalcTextSize(badgeText)
local padX, padY = 6, 2
local boxMin = imgui.ImVec2(pos.x, pos.y)
local boxMax = imgui.ImVec2(pos.x + textSize.x + padX * 2, pos.y + textSize.y + padY * 2)
local col = hexToImVec4(colorHex or "#ffd700")
local bg = imgui.GetColorU32(col)
local textCol = imgui.GetColorU32(imgui.ImVec4(0.05, 0.05, 0.05, 1.0))
drawList:AddRectFilled(boxMin, boxMax, bg, 4)
drawList:AddText(imgui.ImVec2(pos.x + padX, pos.y + padY), textCol, badgeText)
imgui.Dummy(imgui.ImVec2(textSize.x + padX * 2, textSize.y + padY * 2))
end
function AFKMessage(text,del)
del = del or 5
_message[#_message+1] = {active = false, time = 0, showtime = del, text = text}
end
--ale op, load
local banscreen = imgui.ImBool(mainIni.config.banscreen)
local autoupdateState = imgui.ImBool(mainIni.config.autoupdate)
local autoreload = imgui.ImBool(mainIni.config.autoreload)
local separate = imgui.ImBool(mainIni.config.separate)
local autoad = imgui.ImBool(mainIni.config.autoad)
local autoo = imgui.ImBool(mainIni.config.autoo)
local atext = imgui.ImBuffer(''..mainIni.config.atext,300)
local aphone = imgui.ImInt(mainIni.config.aphone)
local autoadbiz = imgui.ImBool(mainIni.config.autoadbiz)
local binfo = imgui.ImBool(mainIni.buttons.binfo)
local infobar = {
style = imgui.ImInt(mainIni.infobar.style),
custom = imgui.ImBuffer(mainIni.infobar.custom, 256),
custom_pos = imgui.ImInt(mainIni.infobar.custom_pos)
}
local autologin = {
state = imgui.ImBool(mainIni.autologin.state)
}
local arec = {
state = imgui.ImBool(mainIni.arec.state),
statebanned = imgui.ImBool(mainIni.arec.statebanned),
wait = imgui.ImInt(mainIni.arec.wait),
mode = imgui.ImInt(mainIni.arec.mode),
r_min = imgui.ImInt(mainIni.arec.r_min),
r_max = imgui.ImInt(mainIni.arec.r_max)