Непонятный краш сводит меня с ума

Tema05

Известный
Автор темы
1,429
396
Версия MoonLoader
.026-beta
Я вот уже месяц страдаю от постоянного совершенно необъяснимого краша, который каким-то образом провоцирует мой скрипт. Наконец смог разобраться и научиться искусственно воспроизводить ошибку. Это работает как на стандартном самп клиенте так и лаунчере аризоны. Даже на чистой сборке и без других скриптов.
Screenshot_19.png


Воспроизведение: Ниже полный код скрипта. Нужно зайти в игру и зайти на сервер, далее скрипт введёт команду /invent и откроется инвентарь (20 секунд случайное значение, нужно чтобы просто успеть зайти на сервер). Как откроется инвентарь нажимаем кнопку "Охранники" и ловим краш. Или другая разновидность. После входа на сервер нужно открыть и закрыть инвентарь. Тогда после введения скриптом команды /invent игра сразу крашнится с этой же ошибкой.
ВНИМАНИЕ! Ниже не оригинальный код, а лишь скрипт сделанный на коленке из обрезанного оригинального. Не пытайтесь найти в нём смысл или что-то исправить. Смысла нет. Какие-либо изменения могут привести к тому что он перестанет выполнять свою главную функцию - вызывать туже ошибку, что и оригинальный полный скрипт. Смысл его сэкономить ваше время так как разобраться в 30 строчках проще чем в 1500. В оригинальном скрипте всё написано нормально, без непонятных задержек в main'е и бессмысленных потоков.
Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end
    while not isSampAvailable() do
        wait(0)
    end

    wait(20000)
    lua_thread.create(function()
        lua_thread.create(function()
            sampSendChat('/invent')
            --local bs = raknetNewBitStream()
            --raknetBitStreamWriteInt8(bs, 220)
            --raknetBitStreamWriteInt8(bs, 0)
            --raknetBitStreamWriteInt8(bs, 73)
            --raknetBitStreamWriteInt8(bs, 64)
            --raknetSendBitStreamEx(bs, 2, 9, 6)
            --raknetDeleteBitStream(bs)
        end)
    end)

    while true do
        wait(0)
    end
end

function sampev.onShowTextDraw(id, data) end
Если в коде убрать событие onShowTextDraw не смотря на то что оно пустое краша уже не будет.
Если выполнять sampSendChat вне двойного вложенного потока краша уже не будет.
Если вместо скрипта открывать инвентарь вводя команду /invent при нажатии кнопку "Охранники" краша также не будет.
При различных действиях на сервере до нажатия кнопки "Охранники" в открывшемся инвентаре краша может не быть или он будет при следующем открытии инвентаря.
Эти бессвязные условия совершенно сбивают с толку. Но факт в том что они на 100% всегда работают. Единственное есть небольшой разброс по логу краша, но всё примерно одно и тоже. Такое поведение похоже на то что проблема в моде аризоны. Но я сомневаюсь, что мод сервера способен крашить клиент (по крайней мере не слышал). Может это какой-то внутренний баг moonloader или же проблема в библиотеке samp.events
0: 0x6E1E77D8 -> lua51.dll + 77D8
1: 0x6E229325 -> lua51.dll + 49325
2: 0x6E399825 -> moonloader.asi + 119825
3: 0x6E2B0197 -> moonloader.asi + 30197
4: 0x6E289BD9 -> moonloader.asi + 9BD9
5: 0x6E1E280D -> lua51.dll + 280D
6: 0x6E207AFB -> lua51.dll + 27AFB
7: 0x6E207D07 -> lua51.dll + 27D07
8: 0x6E207648 -> lua51.dll + 27648
9: 0x6E2076C0 -> lua51.dll + 276C0
10: 0x6E1E7577 -> lua51.dll + 7577
11: 0x6E372295 -> moonloader.asi + F2295
12: 0x6E372DB0 -> moonloader.asi + F2DB0
13: 0x6E1E280D -> lua51.dll + 280D
14: 0x6E1E73EB -> lua51.dll + 73EB
15: 0x6E2892B2 -> moonloader.asi + 92B2
16: 0x6E3A69F1 -> moonloader.asi + 1269F1
17: 0x7786FE85 -> ntdll.dll + 5FE85
18: 0x778526B2 -> ntdll.dll + 426B2
19: 0x77853C06 -> ntdll.dll + 43C06
20: 0x6E296BCC -> moonloader.asi + 16BCC
21: 0x6E3A842C -> moonloader.asi + 12842C
22: 0x70864A87 -> cleo.asi + 4A87
23: 0x6D2E78D8 -> sampfuncs.asi + 978D8
24: 0x6D2E78ED -> sampfuncs.asi + 978ED
25: 0x6D2DBCAE -> sampfuncs.asi + 8BCAE
26: 0x6D2DD4FE -> sampfuncs.asi + 8D4FE
27: 0x778978BD -> ntdll.dll + 878BD
28: 0x77897740 -> ntdll.dll + 87740
29: 0x778978E4 -> ntdll.dll + 878E4
30: 0x68C6C25B -> nvd3dum.dll + 109C25B
31: 0x77853C06 -> ntdll.dll + 43C06
32: 0x100C72E0 -> samp.dll + C72E0
33: 0x10034556 -> samp.dll + 34556
34: 0x7093014D -> d3d9.dll + 5014D
35: 0x26F0616 -> d3d9.dll + 91E10616
36: 0xC000001 -> libcef.dll + 69B0001
37: 0x82773DA -> libcef.dll + 2C273DA
38: 0x9C019D3E -> libcef.dll + 969C9D3E
39: 0x86F1D40 -> libcef.dll + 30A1D40
40: 0x62000000 -> libcef.dll + 5C9B0000
41: 0x1C709454 -> + 1C709454
42: 0x69000000 -> nvd3dum.dll + 1430000
43: 0xE07786AB -> nvd3dum.dll + 78BA86AB
44: 0x142BAE7 -> gta_sa.exe + 102BAE7
45: 0x1C000000 -> gta_sa.exe + 1BC00000
46: 0x8000000 -> libcef.dll + 29B0000
47: 0xE8019D3E -> libcef.dll + E29C9D3E
48: 0xDC019D3F -> + DC019D3F
49: 0x102773DD -> + 102773DD
50: 0x640177FD -> + 640177FD
51: 0x26F0616 -> + 26F0616
52: 0xCC000001 -> + CC000001
53: 0xF02773DD -> + F02773DD
54: 0xCE018A70 -> + CE018A70
55: 0x26F0615 -> + 26F0615
56: 0x2000001 -> + 2000001
57: 0x8000001 -> libcef.dll + 29B0001
58: 0xA06F331C -> libcef.dll + 9B0A331C
59: 0x780177FC -> + 780177FC
60: 0x8C6F1D40 -> + 8C6F1D40
61: 0xA0000000 -> + A0000000
62: 0x177FC -> + 177FC

0: 0x6F8C5D52 -> lua51.dll + 5D52
1: 0x6F8C5474 -> lua51.dll + 5474
2: 0x6F8C4DEB -> lua51.dll + 4DEB
3: 0x6F8E8B6F -> lua51.dll + 28B6F
4: 0x6F9063CC -> lua51.dll + 463CC
5: 0x6F906AE4 -> lua51.dll + 46AE4

0: 0x6F9A77D6 -> lua51.dll + 77D6
1: 0x6F9E9325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6F9A280D -> lua51.dll + 280D
6: 0x6F9C7AFB -> lua51.dll + 27AFB
7: 0x6F9C7D07 -> lua51.dll + 27D07
8: 0x6F9C7648 -> lua51.dll + 27648
9: 0x6F9C76C0 -> lua51.dll + 276C0
10: 0x6F9A7577 -> lua51.dll + 7577
11: 0x6E712295 -> moonloader.asi + F2295
12: 0x6E712DB0 -> moonloader.asi + F2DB0
13: 0x6F9CC990 -> lua51.dll + 2C990
14: 0x6F9A280D -> lua51.dll + 280D
15: 0x6F9A73EB -> lua51.dll + 73EB
16: 0x6E6292B2 -> moonloader.asi + 92B2
17: 0x6E7469F1 -> moonloader.asi + 1269F1
18: 0x100E46CB -> samp.dll + E46CB
19: 0x6FBCE713 -> cleo.asi + E713

0: 0x6F9A77D8 -> lua51.dll + 77D8
1: 0x6F9E9325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6F9A280D -> lua51.dll + 280D
6: 0x6F9E6AE4 -> lua51.dll + 46AE4
0: 0x6F9A77D6 -> lua51.dll + 77D6
1: 0x6F9E9325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6F9A280D -> lua51.dll + 280D
6: 0x6F9C7AFB -> lua51.dll + 27AFB
7: 0x6F9C7D07 -> lua51.dll + 27D07
8: 0x6F9C7648 -> lua51.dll + 27648
9: 0x6F9C76C0 -> lua51.dll + 276C0
10: 0x6F9A7577 -> lua51.dll + 7577
11: 0x6E712295 -> moonloader.asi + F2295
12: 0x6E712DB0 -> moonloader.asi + F2DB0
13: 0x6F9CC990 -> lua51.dll + 2C990
14: 0x6F9A280D -> lua51.dll + 280D
15: 0x6F9A73EB -> lua51.dll + 73EB
16: 0x6E6292B2 -> moonloader.asi + 92B2
17: 0x6E7469F1 -> moonloader.asi + 1269F1
18: 0x100E46CB -> samp.dll + E46CB
19: 0x6FBCE713 -> cleo.asi + E713

0: 0x6F9A6008 -> lua51.dll + 6008
1: 0x6F9A544B -> lua51.dll + 544B
2: 0x6F9A4DEB -> lua51.dll + 4DEB
3: 0x6F9C8B6F -> lua51.dll + 28B6F
0: 0x6FA277D8 -> lua51.dll + 77D8
1: 0x6FA69325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6FA2280D -> lua51.dll + 280D
6: 0x6FA66AE4 -> lua51.dll + 46AE4
0: 0x6F8077D6 -> lua51.dll + 77D6
1: 0x6F849325 -> lua51.dll + 49325
2: 0x6FA39825 -> moonloader.asi + 119825
3: 0x6F950197 -> moonloader.asi + 30197
4: 0x6F929BD9 -> moonloader.asi + 9BD9
5: 0x6F80280D -> lua51.dll + 280D
6: 0x6F827AFB -> lua51.dll + 27AFB
7: 0x6F827D07 -> lua51.dll + 27D07
8: 0x6F827648 -> lua51.dll + 27648
9: 0x6F8276C0 -> lua51.dll + 276C0
10: 0x6F801B6C -> lua51.dll + 1B6C
11: 0x6F8073EB -> lua51.dll + 73EB
12: 0x6F9292B2 -> moonloader.asi + 92B2
13: 0x6FA469F1 -> moonloader.asi + 1269F1
14: 0x77B4BE3F -> ntdll.dll + 5BE3F
15: 0x6FA470FE -> moonloader.asi + 1270FE
16: 0x6F936BCC -> moonloader.asi + 16BCC
17: 0x6FA4842C -> moonloader.asi + 12842C
18: 0x6FCB4A87 -> cleo.asi + 4A87
19: 0x6E6E78D8 -> sampfuncs.asi + 978D8
20: 0x6E6E78ED -> sampfuncs.asi + 978ED

0: 0x6F8077F1 -> lua51.dll + 77F1
1: 0x6F849325 -> lua51.dll + 49325
2: 0x6FA39825 -> moonloader.asi + 119825
3: 0x6F950197 -> moonloader.asi + 30197
4: 0x6F929BD9 -> moonloader.asi + 9BD9
5: 0x6F80280D -> lua51.dll + 280D
6: 0x6F827AFB -> lua51.dll + 27AFB
7: 0x6F827D07 -> lua51.dll + 27D07
8: 0x6F827648 -> lua51.dll + 27648
9: 0x6F8276C0 -> lua51.dll + 276C0
10: 0x6F801B6C -> lua51.dll + 1B6C
11: 0x6F8073EB -> lua51.dll + 73EB
12: 0x6F9292B2 -> moonloader.asi + 92B2
13: 0x6FA469F1 -> moonloader.asi + 1269F1
14: 0x77B4BE3F -> ntdll.dll + 5BE3F
15: 0x6FA470FE -> moonloader.asi + 1270FE
16: 0x6F936BCC -> moonloader.asi + 16BCC
17: 0x6FA4842C -> moonloader.asi + 12842C
18: 0x6FCB4A87 -> cleo.asi + 4A87
19: 0x6E6E78D8 -> sampfuncs.asi + 978D8
20: 0x6E6E78ED -> sampfuncs.asi + 978ED

0: 0x6F805F47 -> lua51.dll + 5F47
0: 0x6F845C32 -> lua51.dll + 45C32
1: 0x6F8077EA -> lua51.dll + 77EA
2: 0x6F849325 -> lua51.dll + 49325
3: 0x6FA39825 -> moonloader.asi + 119825
4: 0x6F950197 -> moonloader.asi + 30197
5: 0x6F929BD9 -> moonloader.asi + 9BD9
6: 0x6F80280D -> lua51.dll + 280D
7: 0x6F846AE4 -> lua51.dll + 46AE4

0: 0x6F8077F1 -> lua51.dll + 77F1
1: 0x6F849325 -> lua51.dll + 49325
2: 0x6FA39825 -> moonloader.asi + 119825
3: 0x6F950197 -> moonloader.asi + 30197
4: 0x6F929BD9 -> moonloader.asi + 9BD9
5: 0x6F80280D -> lua51.dll + 280D
6: 0x6F827AFB -> lua51.dll + 27AFB
7: 0x6F827D07 -> lua51.dll + 27D07
8: 0x6F827648 -> lua51.dll + 27648
9: 0x6F8276C0 -> lua51.dll + 276C0
10: 0x6F801B6C -> lua51.dll + 1B6C
11: 0x6F8073EB -> lua51.dll + 73EB
12: 0x6F9292B2 -> moonloader.asi + 92B2
13: 0x6FA469F1 -> moonloader.asi + 1269F1
14: 0x77B4BE3F -> ntdll.dll + 5BE3F
15: 0x6FA470FE -> moonloader.asi + 1270FE
16: 0x6F936BCC -> moonloader.asi + 16BCC
17: 0x6FA4842C -> moonloader.asi + 12842C
18: 0x6FCB4A87 -> cleo.asi + 4A87
19: 0x6E6E78D8 -> sampfuncs.asi + 978D8
20: 0x6E6E78ED -> sampfuncs.asi + 978ED
 
Последнее редактирование:
  • Злость
Реакции: qdIbp

YarikVL

Известный
Проверенный
4,797
1,813
Я вот уже месяц страдаю от постоянного совершенно необъяснимого краша, который каким-то образом провоцирует мой скрипт. Наконец смог разобраться и научиться искусственно воспроизводить ошибку. Это работает как на стандартном самп клиенте так и лаунчере аризоны. Даже на чистой сборке и без других скриптов.
Посмотреть вложение 214752

Воспроизведение: Ниже полный код скрипта. Нужно зайти в игру и зайти на сервер, далее скрипт введёт команду /invent и откроется инвентарь (20 секунд случайное значение, нужно чтобы просто успеть зайти на сервер). Как откроется инвентарь нажимаем кнопку "Охранники" и ловим краш. Или другая разновидность. После входа на сервер нужно открыть и закрыть инвентарь. Тогда после введения скриптом команды /invent игра сразу крашнится с этой же ошибкой.
Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end
    while not isSampAvailable() do
        wait(0)
    end

    wait(20000)
    lua_thread.create(function()
        lua_thread.create(function()
            sampSendChat('/invent')
            --local bs = raknetNewBitStream()
            --raknetBitStreamWriteInt8(bs, 220)
            --raknetBitStreamWriteInt8(bs, 0)
            --raknetBitStreamWriteInt8(bs, 73)
            --raknetBitStreamWriteInt8(bs, 64)
            --raknetSendBitStreamEx(bs, 2, 9, 6)
            --raknetDeleteBitStream(bs)
        end)
    end)

    while true do
        wait(0)
    end
end

function sampev.onShowTextDraw(id, data) end
Если в коде убрать событие onShowTextDraw не смотря на то что оно пустое краша уже не будет.
Если выполнять sampSendChat вне двойного вложенного потока краша уже не будет.
Если вместо скрипта открывать инвентарь вводя команду /invent при нажатии кнопку "Охранники" краша также не будет.
При различных действиях на сервере до нажатия кнопки "Охранники" в открывшемся инвентаре краша может не быть или он будет при следующем открытии инвентаря.
Эти бессвязные условия совершенно сбивают с толку. Но факт в том что они на 100% всегда работают. Единственное есть небольшой разброс по логу краша, но всё примерно одно и тоже. Такое поведение похоже на то что проблема в моде аризоны. Но я сомневаюсь, что мод сервера способен крашить клиент (по крайней мере не слышал). Может это какой-то внутренний баг moonloader или же проблема в библиотеке samp.events
0: 0x6F8C5D52 -> lua51.dll + 5D52
1: 0x6F8C5474 -> lua51.dll + 5474
2: 0x6F8C4DEB -> lua51.dll + 4DEB
3: 0x6F8E8B6F -> lua51.dll + 28B6F
4: 0x6F9063CC -> lua51.dll + 463CC
5: 0x6F906AE4 -> lua51.dll + 46AE4

0: 0x6F9A77D6 -> lua51.dll + 77D6
1: 0x6F9E9325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6F9A280D -> lua51.dll + 280D
6: 0x6F9C7AFB -> lua51.dll + 27AFB
7: 0x6F9C7D07 -> lua51.dll + 27D07
8: 0x6F9C7648 -> lua51.dll + 27648
9: 0x6F9C76C0 -> lua51.dll + 276C0
10: 0x6F9A7577 -> lua51.dll + 7577
11: 0x6E712295 -> moonloader.asi + F2295
12: 0x6E712DB0 -> moonloader.asi + F2DB0
13: 0x6F9CC990 -> lua51.dll + 2C990
14: 0x6F9A280D -> lua51.dll + 280D
15: 0x6F9A73EB -> lua51.dll + 73EB
16: 0x6E6292B2 -> moonloader.asi + 92B2
17: 0x6E7469F1 -> moonloader.asi + 1269F1
18: 0x100E46CB -> samp.dll + E46CB
19: 0x6FBCE713 -> cleo.asi + E713

0: 0x6F9A77D8 -> lua51.dll + 77D8
1: 0x6F9E9325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6F9A280D -> lua51.dll + 280D
6: 0x6F9E6AE4 -> lua51.dll + 46AE4
0: 0x6F9A77D6 -> lua51.dll + 77D6
1: 0x6F9E9325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6F9A280D -> lua51.dll + 280D
6: 0x6F9C7AFB -> lua51.dll + 27AFB
7: 0x6F9C7D07 -> lua51.dll + 27D07
8: 0x6F9C7648 -> lua51.dll + 27648
9: 0x6F9C76C0 -> lua51.dll + 276C0
10: 0x6F9A7577 -> lua51.dll + 7577
11: 0x6E712295 -> moonloader.asi + F2295
12: 0x6E712DB0 -> moonloader.asi + F2DB0
13: 0x6F9CC990 -> lua51.dll + 2C990
14: 0x6F9A280D -> lua51.dll + 280D
15: 0x6F9A73EB -> lua51.dll + 73EB
16: 0x6E6292B2 -> moonloader.asi + 92B2
17: 0x6E7469F1 -> moonloader.asi + 1269F1
18: 0x100E46CB -> samp.dll + E46CB
19: 0x6FBCE713 -> cleo.asi + E713

0: 0x6F9A6008 -> lua51.dll + 6008
1: 0x6F9A544B -> lua51.dll + 544B
2: 0x6F9A4DEB -> lua51.dll + 4DEB
3: 0x6F9C8B6F -> lua51.dll + 28B6F
0: 0x6FA277D8 -> lua51.dll + 77D8
1: 0x6FA69325 -> lua51.dll + 49325
2: 0x6E739825 -> moonloader.asi + 119825
3: 0x6E650197 -> moonloader.asi + 30197
4: 0x6E629BD9 -> moonloader.asi + 9BD9
5: 0x6FA2280D -> lua51.dll + 280D
6: 0x6FA66AE4 -> lua51.dll + 46AE4
0: 0x6F8077D6 -> lua51.dll + 77D6
1: 0x6F849325 -> lua51.dll + 49325
2: 0x6FA39825 -> moonloader.asi + 119825
3: 0x6F950197 -> moonloader.asi + 30197
4: 0x6F929BD9 -> moonloader.asi + 9BD9
5: 0x6F80280D -> lua51.dll + 280D
6: 0x6F827AFB -> lua51.dll + 27AFB
7: 0x6F827D07 -> lua51.dll + 27D07
8: 0x6F827648 -> lua51.dll + 27648
9: 0x6F8276C0 -> lua51.dll + 276C0
10: 0x6F801B6C -> lua51.dll + 1B6C
11: 0x6F8073EB -> lua51.dll + 73EB
12: 0x6F9292B2 -> moonloader.asi + 92B2
13: 0x6FA469F1 -> moonloader.asi + 1269F1
14: 0x77B4BE3F -> ntdll.dll + 5BE3F
15: 0x6FA470FE -> moonloader.asi + 1270FE
16: 0x6F936BCC -> moonloader.asi + 16BCC
17: 0x6FA4842C -> moonloader.asi + 12842C
18: 0x6FCB4A87 -> cleo.asi + 4A87
19: 0x6E6E78D8 -> sampfuncs.asi + 978D8
20: 0x6E6E78ED -> sampfuncs.asi + 978ED

0: 0x6F8077F1 -> lua51.dll + 77F1
1: 0x6F849325 -> lua51.dll + 49325
2: 0x6FA39825 -> moonloader.asi + 119825
3: 0x6F950197 -> moonloader.asi + 30197
4: 0x6F929BD9 -> moonloader.asi + 9BD9
5: 0x6F80280D -> lua51.dll + 280D
6: 0x6F827AFB -> lua51.dll + 27AFB
7: 0x6F827D07 -> lua51.dll + 27D07
8: 0x6F827648 -> lua51.dll + 27648
9: 0x6F8276C0 -> lua51.dll + 276C0
10: 0x6F801B6C -> lua51.dll + 1B6C
11: 0x6F8073EB -> lua51.dll + 73EB
12: 0x6F9292B2 -> moonloader.asi + 92B2
13: 0x6FA469F1 -> moonloader.asi + 1269F1
14: 0x77B4BE3F -> ntdll.dll + 5BE3F
15: 0x6FA470FE -> moonloader.asi + 1270FE
16: 0x6F936BCC -> moonloader.asi + 16BCC
17: 0x6FA4842C -> moonloader.asi + 12842C
18: 0x6FCB4A87 -> cleo.asi + 4A87
19: 0x6E6E78D8 -> sampfuncs.asi + 978D8
20: 0x6E6E78ED -> sampfuncs.asi + 978ED

0: 0x6F805F47 -> lua51.dll + 5F47
0: 0x6F845C32 -> lua51.dll + 45C32
1: 0x6F8077EA -> lua51.dll + 77EA
2: 0x6F849325 -> lua51.dll + 49325
3: 0x6FA39825 -> moonloader.asi + 119825
4: 0x6F950197 -> moonloader.asi + 30197
5: 0x6F929BD9 -> moonloader.asi + 9BD9
6: 0x6F80280D -> lua51.dll + 280D
7: 0x6F846AE4 -> lua51.dll + 46AE4

0: 0x6F8077F1 -> lua51.dll + 77F1
1: 0x6F849325 -> lua51.dll + 49325
2: 0x6FA39825 -> moonloader.asi + 119825
3: 0x6F950197 -> moonloader.asi + 30197
4: 0x6F929BD9 -> moonloader.asi + 9BD9
5: 0x6F80280D -> lua51.dll + 280D
6: 0x6F827AFB -> lua51.dll + 27AFB
7: 0x6F827D07 -> lua51.dll + 27D07
8: 0x6F827648 -> lua51.dll + 27648
9: 0x6F8276C0 -> lua51.dll + 276C0
10: 0x6F801B6C -> lua51.dll + 1B6C
11: 0x6F8073EB -> lua51.dll + 73EB
12: 0x6F9292B2 -> moonloader.asi + 92B2
13: 0x6FA469F1 -> moonloader.asi + 1269F1
14: 0x77B4BE3F -> ntdll.dll + 5BE3F
15: 0x6FA470FE -> moonloader.asi + 1270FE
16: 0x6F936BCC -> moonloader.asi + 16BCC
17: 0x6FA4842C -> moonloader.asi + 12842C
18: 0x6FCB4A87 -> cleo.asi + 4A87
19: 0x6E6E78D8 -> sampfuncs.asi + 978D8
20: 0x6E6E78ED -> sampfuncs.asi + 978ED
А зачем поток в потоке? Почему не использовать в бесконечном цикле?

Зачем 20к задержка в main? Проверяй спавн персонажа.

IMG_3532.jpeg
 
  • Ха-ха
Реакции: qdIbp

qdIbp

Автор темы
Проверенный
1,386
1,141
Lua:
require('lib.moonloader')
local sampev = require('lib.samp.events')

function main()
   while not isSampAvailable() do wait(100) end   -- ждем загрузку сампа
   repeat wait(0) until sampIsLocalPlayerSpawned() -- ждем спавна игрока
   wait(20000) -- эту рыганину по желанию
   sampSendChat('/invent') 
            --[[local bs = raknetNewBitStream()
            raknetBitStreamWriteInt8(bs, 220)
            raknetBitStreamWriteInt8(bs, 0)
            raknetBitStreamWriteInt8(bs, 73)
            raknetBitStreamWriteInt8(bs, 64)
            raknetSendBitStreamEx(bs, 2, 9, 6)
            raknetDeleteBitStream(bs)]]
    while true do
        wait(0)
        --Если не юзаешь цикл, то юзай wait(-1)
    end
end

function sampev.onShowTextDraw(id, data)

end
 
  • Нравится
Реакции: genius.company

Tema05

Известный
Автор темы
1,429
396
А зачем поток в потоке? Почему не использовать в бесконечном цикле?

Зачем 20к задержка в main? Проверяй спавн персонажа.

Посмотреть вложение 214797
Потому что это не оригинальный скрипт. Это лишь бессмысленный кусок кода написанный методом тыка, единственная цель которого позволить вам воспроизвести ошибку и не разбираться в оригинальном скрипте на 1.5к строчек. Я прекрасно понимаю что это клинический бред в виде потока в потоке. Цель данного кода не быть правильно написанным, а позволить вам словить туже ошибку что в оригинальном скрипте.
 
Последнее редактирование:
  • Эм
  • Ха-ха
Реакции: MrDorlik, qdIbp и Hinаta

qdIbp

Автор темы
Проверенный
1,386
1,141
Потому что это не оригинальный скрипт. Это лишь бессмысленный кусок кода написанный методом тыка, единственная цель которого позволить вам воспроизвести ошибку и не разбираться в оригинальном скрипте на 1.5к строчек. Я прекрасно понимаю что это клинический бред в виде потока в потоке. Цель кода не быть правильно написанным, а позволить вам словить туже ошибку что и у меня.
Ты обкурился?
 
  • Ха-ха
Реакции: MrDorlik