PDA

Просмотр полной версии : [Вопрос] Краш сервера



SteveStage
18.11.2019, 17:31
Вот команда показа ПТС авто:

CMD:pts(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return SCM(playerid, COLOR_RED, !"Вы должны находиться в транспорте, чтобы показать ПТС");
new vehicleid = GetPlayerVehicleID(playerid);
if(strcmp(car[vehicleid][cName], GetName(playerid)))
return SCM(playerid, COLOR_RED, !"Это не ваш транспорт!");
new
targetid;

if(sscanf(params, "u", targetid))
return SCM(playerid, COLOR_RED, !"Образец показа птс транспорта: /pts [id]");
if(!IsPlayerConnected(targetid))
return SCM(playerid, COLOR_RED, !"Игрок с введенным вами ID не в сети!");

static const
fmt_str[] = "*%s показал ПТС автомобиля %s";

new
str[sizeof(fmt_str)-4+MAX_PLAYER_NAME*2+1];

format(str, sizeof(str), fmt_str, GetName(playerid), GetName(targetid));
ProxDetector(playerid, 20.0, COLOR_ACTION, str);
ShowPTS(targetid, vehicleid);
return true;
}

Которая отсылает к стоку диалога ShowPTS:

stock ShowPTS(playerid, carid)
{
static const
fmt_str[] =
"\
{00C0FF}Владелец:\t\t\t\t{F81414}%s\
\n{00C0FF}ID транспорта:\t\t\t{F81414}%d\
\n{00C0FF}Модель:\t\t\t\t\t{F81414}%s\
\n{00C0FF}Класс:\t\t\t\t{F81414}%s\
";
new
string[sizeof(fmt_str)-8+MAX_PLAYER_NAME+11+3+1+1];
format(string, sizeof(string), fmt_str, car[carid][cName], carid, ModelName[car[carid][cModel]+400], car_class[car[carid][cClass]+1]);

SPD(playerid, 9866, DSM, !"{00C0FF}ПТС", string, !"{00C0FF}Понятно", !"");
}

Но при срабатывании ShowPTS сервер крашит (CMD:pts работает, отыгрывание показа ПТС есть, но дальше крашит)

Что я упустил? В crashdetect в консоль вывело, что причина в pc_cmd_pts

DeimoS
18.11.2019, 17:38
Ну так может ты покажешь логи? Или мы сами должны угадывать что там показал crashdetect?

SteveStage
18.11.2019, 17:41
[16:41:07] [debug] Server crashed while executing JunctionMode.amx
[16:41:07] [debug] AMX backtrace:
[16:41:07] [debug] #0 native format () in samp-server.exe
[16:41:07] [debug] #1 00017908 in ?? (0, 1) in JunctionMode.amx
[16:41:07] [debug] #2 0001ed28 in public pc_cmd_pts (0, 513980) in JunctionMode.amx
[16:41:07] [debug] Native backtrace:
[16:41:07] [debug] #0 0046cff0 in ?? () in samp-server.exe
[16:41:07] [debug] #1 0046f992 in ?? () in samp-server.exe
[16:41:07] [debug] #2 6244dc92 in ?? () in plugins\crashdetect.DLL
[16:41:07] [debug] #3 62455318 in ?? () in plugins\crashdetect.DLL
[16:41:07] [debug] #4 624497cc in ?? () in plugins\crashdetect.DLL
[16:41:07] [debug] #5 6244dcf4 in ?? () in plugins\crashdetect.DLL
[16:41:07] [debug] #6 62494629 in ?? () in plugins\streamer.DLL
[16:41:07] [debug] #7 62a04331 in ?? () in plugins\pawncmd.DLL
[16:41:07] [debug] #8 62a03f1e in ?? () in plugins\pawncmd.DLL
[16:41:07] [debug] #9 00492a21 in ?? () in samp-server.exe
[16:41:07] [debug] #10 00452120 in ?? () in samp-server.exe
[16:41:07] [debug] #11 0046e8d0 in ?? () in samp-server.exe
[16:41:07] [debug] Registers:
[16:41:07] [debug] EAX: 00000000 EBX: 0018f5b0 ECX: 004f4fdd EDX: ffffffff
[16:41:07] [debug] ESI: 54fca78c EDI: 00000006 EBP: 00000000 ESP: 0018fc78
[16:41:07] [debug] EIP: 0046e8d0 EFLAGS: 00010286
[16:41:07] [debug] Stack:
[16:41:07] [debug] ESP+00000000: 00000001 0018fcc8 0049ef89 0000007f
[16:41:07] [debug] ESP+00000020: 0018fb6c 00000050 0100007f e780e3ff
[16:41:07] [debug] ESP+00000040: 00000000 0032e780 0045841c 0032a232
[16:41:07] [debug] ESP+00000060: 0032e778 758910ff 0045abda 0032ad98
[16:41:07] [debug] ESP+00000080: 62455700 01e3ff78 00000000 0000000f
[16:41:07] [debug] ESP+000000a0: 00000000 00000000 00000000 00000000
[16:41:07] [debug] ESP+000000c0: 00000000 00000000 00000000 00000000
[16:41:07] [debug] ESP+000000e0: 028e0020 00000000 00077f89 00000000
[16:41:07] [debug] ESP+00000100: 0018fd84 773b890d 00000000 00000000
[16:41:07] [debug] ESP+00000120: 0000009c 00000000 75ce14d0 f743a798
[16:41:07] [debug] ESP+00000140: 75ce3bc8 00000000 75ce3bf4 f743a478
[16:41:07] [debug] ESP+00000160: 00000001 00000000 00000000 00000000
[16:41:07] [debug] ESP+00000180: 0032ad98 75891136 0044e992 521f89d8
[16:41:07] [debug] ESP+000001a0: 0049104c 75891136 0032ad98 0049125c
[16:41:07] [debug] ESP+000001c0: 00000000 00001db1 0018ff88 7efde000
[16:41:07] [debug] ESP+000001e0: 000000a0 00000758 0032ad98 656d6167
[16:41:07] [debug] ESP+00000200: 7efde000 004ab530 0018fe70 0018ff78
[16:41:07] [debug] ESP+00000220: 0049b531 0049b541 004ab530 0018ff78
[16:41:07] [debug] ESP+00000240: 00321648 003216a8 00000094 00000006
[16:41:07] [debug] ESP+00000260: 20656369 6b636150 00003120 00000000
[16:41:07] [debug] ESP+00000280: 00000000 00000000 00000000 00000000
[16:41:07] [debug] ESP+000002a0: 00000000 00000000 00000000 00000000
[16:41:07] [debug] ESP+000002c0: 00000000 00000000 00000000 00000000
[16:41:07] [debug] ESP+000002e0: 00000000 7efde000 00000000 00000000
[16:41:07] [debug] ESP+00000300: 0018ffc4 0049d298 004ba530 00000000
[16:41:07] [debug] ESP+00000320: 773b9f72 7efde000 77994a33 00000000
[16:41:07] [debug] ESP+00000340: 00000000 0018ffa0 00000000 ffffffff
[16:41:07] [debug] ESP+00000360: 773b9f45 0049cbca 7efde000 00000000
[16:41:07] [debug] ESP+00000380: 7efde000 00000000 78746341 00000020
[16:41:07] [debug] ESP+000003a0: 00000020 00000000 00000014 00000001
[16:41:07] [debug] ESP+000003c0: 00000000 00000000 00000000 00000000
[16:41:07] [debug] ESP+000003e0: 00000044 000002e0 00000260 00000000
[16:41:07] [debug] Loaded modules:
[16:41:07] [debug] 00400000 - 00519000 samp-server.exe
[16:41:07] [debug] 77380000 - 77500000 ntdll.dll
[16:41:07] [debug] 75880000 - 75990000 kernel32.dll
[16:41:07] [debug] 75cd0000 - 75d17000 KERNELBASE.dll
[16:41:07] [debug] 75e30000 - 76a7a000 SHELL32.dll
[16:41:07] [debug] 752d0000 - 7537c000 msvcrt.dll
[16:41:07] [debug] 76cf0000 - 76d47000 SHLWAPI.dll
[16:41:07] [debug] 757c0000 - 75850000 GDI32.dll
[16:41:07] [debug] 75d30000 - 75e30000 USER32.dll
[16:41:07] [debug] 75470000 - 75510000 ADVAPI32.dll
[16:41:07] [debug] 76f60000 - 76f79000 sechost.dll
[16:41:07] [debug] 74d70000 - 74e60000 RPCRT4.dll
[16:41:07] [debug] 74d00000 - 74d60000 SspiCli.dll
[16:41:07] [debug] 74cf0000 - 74cfc000 CRYPTBASE.dll
[16:41:07] [debug] 752c0000 - 752ca000 LPK.dll
[16:41:07] [debug] 76a80000 - 76b1d000 USP10.dll
[16:41:07] [debug] 624f0000 - 624f7000 WSOCK32.dll
[16:41:07] [debug] 753a0000 - 753d5000 WS2_32.dll
[16:41:07] [debug] 75750000 - 75756000 NSI.dll
[16:41:07] [debug] 73700000 - 73732000 WINMM.dll
[16:41:07] [debug] 75760000 - 757c0000 IMM32.DLL
[16:41:07] [debug] 750a0000 - 7516c000 MSCTF.dll
[16:41:07] [debug] 62430000 - 62481000 crashdetect.DLL
[16:41:07] [debug] 623c0000 - 62429000 MSVCP100.dll
[16:41:07] [debug] 62300000 - 623bf000 MSVCR100.dll
[16:41:07] [debug] 72e80000 - 72ec4000 mysql.DLL
[16:41:07] [debug] 62030000 - 622fa000 LIBMYSQL.dll
[16:41:07] [debug] 61f50000 - 62026000 MSVCR110.dll
[16:41:07] [debug] 61ec0000 - 61f45000 MSVCP110.dll
[16:41:07] [debug] 72d70000 - 72d80000 NLAapi.dll
[16:41:07] [debug] 72ce0000 - 72cf0000 napinsp.dll
[16:41:07] [debug] 72cc0000 - 72cd2000 pnrpnsp.dll
[16:41:07] [debug] 72d00000 - 72d3c000 mswsock.dll
[16:41:07] [debug] 72c70000 - 72cb4000 DNSAPI.dll
[16:41:07] [debug] 72c60000 - 72c68000 winrnr.dll
[16:41:07] [debug] 72ac0000 - 72ac6000 rasadhlp.dll
[16:41:07] [debug] 62a00000 - 62a38000 pawncmd.DLL
[16:41:07] [debug] 73740000 - 73743000 api-ms-win-core-synch-l1-2-0.DLL
[16:41:07] [debug] 10000000 - 1000f000 sscanf.DLL
[16:41:07] [debug] 62c20000 - 62c35000 VCRUNTIME140.dll
[16:41:07] [debug] 73590000 - 73594000 api-ms-win-crt-runtime-l1-1-0.dll
[16:41:07] [debug] 61b30000 - 61c11000 ucrtbase.DLL
[16:41:07] [debug] 72030000 - 72033000 api-ms-win-core-timezone-l1-1-0.dll
[16:41:07] [debug] 71a80000 - 71a83000 api-ms-win-core-file-l2-1-0.dll
[16:41:07] [debug] 6a6f0000 - 6a6f3000 api-ms-win-core-localization-l1-2-0.dll
[16:41:07] [debug] 62d10000 - 62d13000 api-ms-win-core-processthreads-l1-1-1.dll
[16:41:07] [debug] 62d00000 - 62d03000 api-ms-win-core-file-l1-2-0.dll
[16:41:07] [debug] 62cf0000 - 62cf3000 api-ms-win-crt-heap-l1-1-0.dll
[16:41:07] [debug] 62c80000 - 62c84000 api-ms-win-crt-string-l1-1-0.dll
[16:41:07] [debug] 62c10000 - 62c14000 api-ms-win-crt-convert-l1-1-0.dll
[16:41:07] [debug] 629b0000 - 629b4000 api-ms-win-crt-stdio-l1-1-0.dll
[16:41:07] [debug] 62490000 - 624ea000 streamer.DLL
[16:41:07] [debug] 61ac0000 - 61b2c000 MSVCP140.dll
[16:41:07] [debug] 629a0000 - 629a3000 api-ms-win-crt-locale-l1-1-0.dll
[16:41:07] [debug] 62990000 - 62995000 api-ms-win-crt-math-l1-1-0.dll
[16:41:07] [debug] 62980000 - 62985000 api-ms-win-crt-multibyte-l1-1-0.dll
[16:41:07] [debug] 627f0000 - 627f3000 api-ms-win-crt-time-l1-1-0.dll
[16:41:07] [debug] 627e0000 - 627e3000 api-ms-win-crt-filesystem-l1-1-0.dll
[16:41:07] [debug] 62670000 - 62673000 api-ms-win-crt-environment-l1-1-0.dll
[16:41:07] [debug] 625b0000 - 625b3000 api-ms-win-crt-utility-l1-1-0.dll
[16:41:07] [debug] 62500000 - 62506000 iTD.DLL
[16:41:07] [debug] 72cf0000 - 72cf5000 wshtcpip.dll
[16:41:07] [debug] 730c0000 - 730dc000 IPHLPAPI.DLL
[16:41:07] [debug] 73750000 - 73757000 WINNSI.DLL
[16:41:07] [debug] 72bc0000 - 72bf8000 fwpuclnt.dll
[16:41:07] [debug] 72a10000 - 72a16000 wship6.dll
[16:41:07] [debug] Server crashed while executing JunctionMode.amx
[16:41:07] [debug] AMX backtrace:
[16:41:07] [debug] #0 native format () in samp-server.exe
[16:41:07] [debug] #1 00017908 in ?? (0, 1) in JunctionMode.amx
[16:41:07] [debug] #2 0001ed28 in public pc_cmd_pts (0, 513980) in JunctionMode.amx
[16:41:08] [debug] Native backtrace:
[16:41:08] [debug] #0 773adfe4 in ?? () in C:\Windows\SysWOW64\ntdll.dll
[16:41:08] [debug] #1 758914dd in ?? () in C:\Windows\syswow64\kernel32.dll
[16:41:08] [debug] #2 00498ea1 in ?? () in samp-server.exe
[16:41:08] [debug] #3 0044d9c9 in ?? () in samp-server.exe
[16:41:08] [debug] #4 0045841c in ?? () in samp-server.exe
[16:41:08] [debug] #5 00010100 in ?? ()
[16:41:08] [debug] #6 00459b90 in ?? () in samp-server.exe
[16:41:08] [debug] #7 00459e30 in ?? () in samp-server.exe
[16:41:08] [debug] #8 0045a870 in ?? () in samp-server.exe
[16:41:08] [debug] #9 0044fe80 in ?? () in samp-server.exe
[16:41:08] [debug] #10 0044fe90 in ?? () in samp-server.exe
[16:41:08] [debug] #11 0044fea0 in ?? () in samp-server.exe
[16:41:08] [debug] #12 0044fef0 in ?? () in samp-server.exe
[16:41:08] [debug] #13 004579b0 in ?? () in samp-server.exe
[16:41:08] [debug] #14 0045a880 in ?? () in samp-server.exe
[16:41:08] [debug] #15 0045a890 in ?? () in samp-server.exe
[16:41:08] [debug] #16 0044ff40 in ?? () in samp-server.exe
[16:41:08] [debug] #17 0045a8a0 in ?? () in samp-server.exe
[16:41:08] [debug] #18 0045a8b0 in ?? () in samp-server.exe
[16:41:08] [debug] #19 0045ae70 in ?? () in samp-server.exe
[16:41:08] [debug] #20 0045a8c0 in ?? () in samp-server.exe
[16:41:08] [debug] #21 00450050 in ?? () in samp-server.exe
[16:41:08] [debug] #22 0045a8d0 in ?? () in samp-server.exe
[16:41:08] [debug] #23 0045a8e0 in ?? () in samp-server.exe
[16:41:08] [debug] #24 0045a8f0 in ?? () in samp-server.exe
[16:41:08] [debug] #25 0045a900 in ?? () in samp-server.exe
[16:41:08] [debug] #26 0045a910 in ?? () in samp-server.exe
[16:41:08] [debug] #27 00457e60 in ?? () in samp-server.exe
[16:41:08] [debug] #28 0045a920 in ?? () in samp-server.exe
[16:41:08] [debug] #29 0045a930 in ?? () in samp-server.exe
[16:41:08] [debug] #30 004519c0 in ?? () in samp-server.exe
[16:41:08] [debug] #31 0045a940 in ?? () in samp-server.exe
[16:41:08] [debug] #32 0045a950 in ?? () in samp-server.exe
[16:41:08] [debug] #33 0045a960 in ?? () in samp-server.exe
[16:41:08] [debug] #34 00451bc0 in ?? () in samp-server.exe
[16:41:08] [debug] #35 00457e90 in ?? () in samp-server.exe
[16:41:08] [debug] #36 0045a970 in ?? () in samp-server.exe
[16:41:08] [debug] #37 00455550 in ?? () in samp-server.exe
[16:41:08] [debug] #38 004555a0 in ?? () in samp-server.exe
[16:41:08] [debug] #39 00450190 in ?? () in samp-server.exe
[16:41:08] [debug] #40 004555e0 in ?? () in samp-server.exe
[16:41:08] [debug] #41 00455630 in ?? () in samp-server.exe
[16:41:08] [debug] #42 00457eb0 in ?? () in samp-server.exe
[16:41:08] [debug] #43 0045a980 in ?? () in samp-server.exe
[16:41:08] [debug] #44 0045a990 in ?? () in samp-server.exe
[16:41:08] [debug] #45 00450210 in ?? () in samp-server.exe
[16:41:08] [debug] #46 0045a9a0 in ?? () in samp-server.exe
[16:41:08] [debug] #47 0045a9b0 in ?? () in samp-server.exe
[16:41:08] [debug] #48 0045a9c0 in ?? () in samp-server.exe
[16:41:08] [debug] #49 0045a9d0 in ?? () in samp-server.exe
[16:41:08] [debug] #50 0045a9e0 in ?? () in samp-server.exe
[16:41:08] [debug] #51 00450380 in ?? () in samp-server.exe
[16:41:08] [debug] #52 00450700 in ?? () in samp-server.exe
[16:41:08] [debug] #53 004503d0 in ?? () in samp-server.exe
[16:41:08] [debug] #54 0045a9f0 in ?? () in samp-server.exe
[16:41:08] [debug] #55 004503e0 in ?? () in samp-server.exe
[16:41:08] [debug] #56 00450430 in ?? () in samp-server.exe
[16:41:08] [debug] #57 00450480 in ?? () in samp-server.exe
[16:41:08] [debug] #58 00450490 in ?? () in samp-server.exe
[16:41:08] [debug] #59 0045aa00 in ?? () in samp-server.exe
[16:41:08] [debug] #60 0045aa10 in ?? () in samp-server.exe
[16:41:08] [debug] #61 0045aa20 in ?? () in samp-server.exe
[16:41:08] [debug] #62 0045aa30 in ?? () in samp-server.exe
[16:41:08] [debug] #63 0045aa40 in ?? () in samp-server.exe
[16:41:08] [debug] #64 0045aa50 in ?? () in samp-server.exe
[16:41:08] [debug] #65 0045aa60 in ?? () in samp-server.exe
[16:41:08] [debug] #66 0045aa70 in ?? () in samp-server.exe
[16:41:08] [debug] #67 0045aa80 in ?? () in samp-server.exe
[16:41:08] [debug] #68 0045aa90 in ?? () in samp-server.exe
[16:41:08] [debug] #69 0045aaa0 in ?? () in samp-server.exe
[16:41:08] [debug] #70 0045aab0 in ?? () in samp-server.exe
[16:41:08] [debug] #71 0045aac0 in ?? () in samp-server.exe
[16:41:08] [debug] #72 00455700 in ?? () in samp-server.exe
[16:41:08] [debug] #73 0045ab40 in ?? () in samp-server.exe
[16:41:08] [debug] #74 00459fe0 in ?? () in samp-server.exe
[16:41:08] [debug] #75 00459fb0 in ?? () in samp-server.exe
[16:41:08] [debug] #76 00459fd0 in ?? () in samp-server.exe
[16:41:08] [debug] #77 0045a060 in ?? () in samp-server.exe
[16:41:08] [debug] #78 0045a0a0 in ?? () in samp-server.exe
[16:41:08] [debug] #79 0045a0c0 in ?? () in samp-server.exe
[16:41:08] [debug] #80 0045a110 in ?? () in samp-server.exe
[16:41:08] [debug] #81 0045a0d0 in ?? () in samp-server.exe
[16:41:08] [debug] #82 0045ab60 in ?? () in samp-server.exe
[16:41:08] [debug] #83 0045abb0 in ?? () in samp-server.exe
[16:41:08] [debug] #84 0045a150 in ?? () in samp-server.exe
[16:41:08] [debug] #85 0045a180 in ?? () in samp-server.exe
[16:41:08] [debug] #86 0045a190 in ?? () in samp-server.exe
[16:41:08] [debug] #87 0045a1a0 in ?? () in samp-server.exe
[16:41:08] [debug] #88 0045a1b0 in ?? () in samp-server.exe
[16:41:08] [debug] #89 0045a1d0 in ?? () in samp-server.exe
[16:41:08] [debug] #90 0045a210 in ?? () in samp-server.exe
[16:41:08] [debug] #91 0045a230 in ?? () in samp-server.exe
[16:41:08] [debug] #92 0045a250 in ?? () in samp-server.exe
[16:41:08] [debug] #93 0045a270 in ?? () in samp-server.exe
[16:41:08] [debug] #94 0045a290 in ?? () in samp-server.exe
[16:41:08] [debug] #95 0045a2a0 in ?? () in samp-server.exe
[16:41:08] [debug] #96 0045a2b0 in ?? () in samp-server.exe
[16:41:08] [debug] #97 0045a2c0 in ?? () in samp-server.exe
[16:41:08] [debug] #98 0045a2d0 in ?? () in samp-server.exe
[16:41:08] [debug] #99 0045a2e0 in ?? () in samp-server.exe
[16:41:08] [debug] #100 0045a2f0 in ?? () in samp-server.exe
[16:41:08] [debug] #101 0045a300 in ?? () in samp-server.exe
[16:41:08] [debug] #102 0045a310 in ?? () in samp-server.exe
[16:41:08] [debug] #103 0045a320 in ?? () in samp-server.exe
[16:41:08] [debug] #104 0045a330 in ?? () in samp-server.exe
[16:41:08] [debug] #105 0045a460 in ?? () in samp-server.exe
[16:41:08] [debug] #106 0045a3a0 in ?? () in samp-server.exe
[16:41:08] [debug] #107 0045a340 in ?? () in samp-server.exe
[16:41:08] [debug] #108 0045a400 in ?? () in samp-server.exe
[16:41:08] [debug] #109 0045a4c0 in ?? () in samp-server.exe
[16:41:08] [debug] #110 0045a4f0 in ?? () in samp-server.exe
[16:41:08] [debug] #111 0045a500 in ?? () in samp-server.exe
[16:41:08] [debug] #112 0045a510 in ?? () in samp-server.exe
[16:41:08] [debug] #113 0045a520 in ?? () in samp-server.exe
[16:41:08] [debug] #114 0045a530 in ?? () in samp-server.exe
[16:41:08] [debug] #115 0045a540 in ?? () in samp-server.exe
[16:41:08] [debug] #116 0045a550 in ?? () in samp-server.exe
[16:41:08] [debug] #117 0045a580 in ?? () in samp-server.exe
[16:41:08] [debug] #118 0045a5b0 in ?? () in samp-server.exe
[16:41:08] [debug] #119 0045a5c0 in ?? () in samp-server.exe
[16:41:08] [debug] #120 0045a5e0 in ?? () in samp-server.exe
[16:41:08] [debug] #121 0045a5f0 in ?? () in samp-server.exe
[16:41:08] [debug] #122 0045a610 in ?? () in samp-server.exe
[16:41:08] [debug] #123 0045ad70 in ?? () in samp-server.exe
[16:41:08] [debug] #124 0045a640 in ?? () in samp-server.exe
[16:41:08] [debug] #125 0045a6a0 in ?? () in samp-server.exe
[16:41:08] [debug] #126 0045a650 in ?? () in samp-server.exe
[16:41:08] [debug] #127 0045a670 in ?? () in samp-server.exe
[16:41:08] [debug] #128 0045a680 in ?? () in samp-server.exe
[16:41:08] [debug] #129 0045a690 in ?? () in samp-server.exe
[16:41:08] [debug] #130 0045a6b0 in ?? () in samp-server.exe
[16:41:08] [debug] #131 0045a6d0 in ?? () in samp-server.exe
[16:41:08] [debug] #132 0045a6f0 in ?? () in samp-server.exe
[16:41:08] [debug] #133 0045a710 in ?? () in samp-server.exe
[16:41:08] [debug] #134 0045a720 in ?? () in samp-server.exe
[16:41:08] [debug] #135 0045a730 in ?? () in samp-server.exe
[16:41:08] [debug] #136 0045a740 in ?? () in samp-server.exe
[16:41:08] [debug] #137 0045a750 in ?? () in samp-server.exe
[16:41:08] [debug] #138 0045a780 in ?? () in samp-server.exe
[16:41:08] [debug] #139 0045a7b0 in ?? () in samp-server.exe
[16:41:08] [debug] #140 0045a7c0 in ?? () in samp-server.exe
[16:41:08] [debug] #141 0045a7d0 in ?? () in samp-server.exe
[16:41:08] [debug] #142 0045a7e0 in ?? () in samp-server.exe
[16:41:08] [debug] #143 0045a800 in ?? () in samp-server.exe
[16:41:08] [debug] #144 0045a830 in ?? () in samp-server.exe
[16:41:08] [debug] #145 0045a850 in ?? () in samp-server.exe
[16:41:08] [debug] Registers:
[16:41:08] [debug] EAX: 4479fff8 EBX: 447a0000 ECX: 0018fbec EDX: 00000012
[16:41:08] [debug] ESI: 00320000 EDI: 00000000 EBP: 0045a830 ESP: 004b503c
[16:41:08] [debug] EIP: 0045a850 EFLAGS: 00010246
[16:41:08] [debug] Stack:
[16:41:08] [debug] ESP+00000000: 00000000 00000000 3df00000 3ca3d70a
[16:41:08] [debug] ESP+00000020: 40dc2000 40400000 7261775b 676e696e
[16:41:08] [debug] ESP+00000040: 70207469 656b6361 72662074 63206d6f
[16:41:08] [debug] ESP+00000060: 676e696e 6c63205d 746e6569 63786520
[16:41:08] [debug] ESP+00000080: 696c656c 2774696d 29322820 20732520
[16:41:08] [debug] ESP+000000a0: 00000000 7261775b 676e696e 6f54205d
[16:41:08] [debug] ESP+000000c0: 20726564 7373656d 73656761 6f726620
[16:41:08] [debug] ESP+000000e0: 6d694c20 203a7469 28207525 7373656d
[16:41:08] [debug] ESP+00000100: 00000000 7261775b 676e696e 6c63205d
[16:41:08] [debug] ESP+00000120: 61737365 6c736567 74696d69 73252027
[16:41:08] [debug] ESP+00000140: 00636573 7261775b 676e696e 6c63205d
[16:41:08] [debug] ESP+00000160: 6c736b63 74696d69 73252027 64252820
[16:41:08] [debug] ESP+00000180: 00000000 7261775b 676e696e 6c63205d
[16:41:08] [debug] ESP+000001a0: 61737365 6f686567 696c656c 2774696d
[16:41:08] [debug] ESP+000001c0: 203a7469 00006425 3d23d70a cccccccd
[16:41:08] [debug] ESP+000001e0: 40ac2000 cccccccd 3feccccc 9999999a
[16:41:08] [debug] ESP+00000200: 00000080 00462950 00000024 000000ab
[16:41:08] [debug] ESP+00000220: 00000055 0000005f 63706e5b 696f6a3a
[16:41:08] [debug] ESP+00000240: 65687420 72657320 20726576 3a752528
[16:41:08] [debug] ESP+00000260: 6f6a2073 64656e69 65687420 72657320
[16:41:08] [debug] ESP+00000280: 63706e5b 7261703a 25205d74 61682073
[16:41:08] [debug] ESP+000002a0: 25282072 75253a75 00000029 7261705b
[16:41:08] [debug] ESP+000002c0: 73206568 65767265 25282072 75253a75
[16:41:08] [debug] ESP+000002e0: 000000a3 00000086 00000087 00000069
[16:41:08] [debug] ESP+00000300: 42652ee0 000000a5 41097325 7830203a
[16:41:08] [debug] ESP+00000320: 0a0d2973 00000000 6961462d 4664656c
[16:41:08] [debug] ESP+00000340: 74616572 0a0d2d65 00000000 6f4c0a0d
[16:41:08] [debug] ESP+00000360: 29732528 00000000 6b6e5528 6e776f6e
[16:41:08] [debug] ESP+00000380: 58323025 32302520 30252058 20205832
[16:41:08] [debug] ESP+000003a0: 58323025 25202020 20583230 58323025
[16:41:08] [debug] ESP+000003c0: 30252058 25205832 20583230 58323025
[16:41:08] [debug] ESP+000003e0: 20202058 30257830 20205838 25783020
[16:41:08] [debug] Loaded modules:
[16:41:08] [debug] 00400000 - 00519000 samp-server.exe
[16:41:08] [debug] 77380000 - 77500000 ntdll.dll
[16:41:08] [debug] 75880000 - 75990000 kernel32.dll
[16:41:08] [debug] 75cd0000 - 75d17000 KERNELBASE.dll
[16:41:08] [debug] 75e30000 - 76a7a000 SHELL32.dll
[16:41:08] [debug] 752d0000 - 7537c000 msvcrt.dll
[16:41:08] [debug] 76cf0000 - 76d47000 SHLWAPI.dll
[16:41:08] [debug] 757c0000 - 75850000 GDI32.dll
[16:41:08] [debug] 75d30000 - 75e30000 USER32.dll
[16:41:08] [debug] 75470000 - 75510000 ADVAPI32.dll
[16:41:08] [debug] 76f60000 - 76f79000 sechost.dll
[16:41:08] [debug] 74d70000 - 74e60000 RPCRT4.dll
[16:41:08] [debug] 74d00000 - 74d60000 SspiCli.dll
[16:41:08] [debug] 74cf0000 - 74cfc000 CRYPTBASE.dll
[16:41:08] [debug] 752c0000 - 752ca000 LPK.dll
[16:41:08] [debug] 76a80000 - 76b1d000 USP10.dll
[16:41:08] [debug] 624f0000 - 624f7000 WSOCK32.dll
[16:41:08] [debug] 753a0000 - 753d5000 WS2_32.dll
[16:41:08] [debug] 75750000 - 75756000 NSI.dll
[16:41:08] [debug] 73700000 - 73732000 WINMM.dll
[16:41:08] [debug] 75760000 - 757c0000 IMM32.DLL
[16:41:08] [debug] 750a0000 - 7516c000 MSCTF.dll
[16:41:08] [debug] 62430000 - 62481000 crashdetect.DLL
[16:41:08] [debug] 623c0000 - 62429000 MSVCP100.dll
[16:41:08] [debug] 62300000 - 623bf000 MSVCR100.dll
[16:41:08] [debug] 72e80000 - 72ec4000 mysql.DLL
[16:41:08] [debug] 62030000 - 622fa000 LIBMYSQL.dll
[16:41:08] [debug] 61f50000 - 62026000 MSVCR110.dll
[16:41:08] [debug] 61ec0000 - 61f45000 MSVCP110.dll
[16:41:08] [debug] 72d70000 - 72d80000 NLAapi.dll
[16:41:08] [debug] 72ce0000 - 72cf0000 napinsp.dll
[16:41:08] [debug] 72cc0000 - 72cd2000 pnrpnsp.dll
[16:41:08] [debug] 72d00000 - 72d3c000 mswsock.dll
[16:41:08] [debug] 72c70000 - 72cb4000 DNSAPI.dll
[16:41:08] [debug] 72c60000 - 72c68000 winrnr.dll
[16:41:08] [debug] 72ac0000 - 72ac6000 rasadhlp.dll
[16:41:08] [debug] 62a00000 - 62a38000 pawncmd.DLL
[16:41:08] [debug] 73740000 - 73743000 api-ms-win-core-synch-l1-2-0.DLL
[16:41:08] [debug] 10000000 - 1000f000 sscanf.DLL
[16:41:08] [debug] 62c20000 - 62c35000 VCRUNTIME140.dll
[16:41:08] [debug] 73590000 - 73594000 api-ms-win-crt-runtime-l1-1-0.dll
[16:41:08] [debug] 61b30000 - 61c11000 ucrtbase.DLL
[16:41:08] [debug] 72030000 - 72033000 api-ms-win-core-timezone-l1-1-0.dll
[16:41:08] [debug] 71a80000 - 71a83000 api-ms-win-core-file-l2-1-0.dll
[16:41:08] [debug] 6a6f0000 - 6a6f3000 api-ms-win-core-localization-l1-2-0.dll
[16:41:08] [debug] 62d10000 - 62d13000 api-ms-win-core-processthreads-l1-1-1.dll
[16:41:08] [debug] 62d00000 - 62d03000 api-ms-win-core-file-l1-2-0.dll
[16:41:08] [debug] 62cf0000 - 62cf3000 api-ms-win-crt-heap-l1-1-0.dll
[16:41:08] [debug] 62c80000 - 62c84000 api-ms-win-crt-string-l1-1-0.dll
[16:41:08] [debug] 62c10000 - 62c14000 api-ms-win-crt-convert-l1-1-0.dll
[16:41:08] [debug] 629b0000 - 629b4000 api-ms-win-crt-stdio-l1-1-0.dll
[16:41:08] [debug] 62490000 - 624ea000 streamer.DLL
[16:41:08] [debug] 61ac0000 - 61b2c000 MSVCP140.dll
[16:41:08] [debug] 629a0000 - 629a3000 api-ms-win-crt-locale-l1-1-0.dll
[16:41:08] [debug] 62990000 - 62995000 api-ms-win-crt-math-l1-1-0.dll
[16:41:08] [debug] 62980000 - 62985000 api-ms-win-crt-multibyte-l1-1-0.dll
[16:41:08] [debug] 627f0000 - 627f3000 api-ms-win-crt-time-l1-1-0.dll
[16:41:08] [debug] 627e0000 - 627e3000 api-ms-win-crt-filesystem-l1-1-0.dll
[16:41:08] [debug] 62670000 - 62673000 api-ms-win-crt-environment-l1-1-0.dll
[16:41:08] [debug] 625b0000 - 625b3000 api-ms-win-crt-utility-l1-1-0.dll
[16:41:08] [debug] 62500000 - 62506000 iTD.DLL
[16:41:08] [debug] 72cf0000 - 72cf5000 wshtcpip.dll
[16:41:08] [debug] 730c0000 - 730dc000 IPHLPAPI.DLL
[16:41:08] [debug] 73750000 - 73757000 WINNSI.DLL
[16:41:08] [debug] 72bc0000 - 72bf8000 fwpuclnt.dll
[16:41:08] [debug] 72a10000 - 72a16000 wship6.dll

DeimoS
18.11.2019, 17:46
В папке с pawno создай файл pawn.cfg и добавь в него "-d3". После скомпилируй мод, зайди на сервер и опять доведи до краша. Ну и скинь повторно лог (только на этот раз убери его под тег PAWN или PHP)

SteveStage
18.11.2019, 17:47
Ой, логи краша такие:


[16:46:36] [debug] Server crashed while executing JunctionMode.amx
[16:46:36] [debug] AMX backtrace:
[16:46:36] [debug] #0 native format () in samp-server.exe
[16:46:36] [debug] #1 00017d78 in ?? (0, 1) in JunctionMode.amx
[16:46:36] [debug] #2 0001ed28 in public pc_cmd_pts (0, 513980) in JunctionMode.amx
[16:46:36] [debug] Native backtrace:
[16:46:36] [debug] #0 0046cff0 in ?? () in samp-server.exe
[16:46:36] [debug] #1 0046f992 in ?? () in samp-server.exe
[16:46:36] [debug] #2 6204dc92 in ?? () in plugins\crashdetect.DLL
[16:46:36] [debug] #3 62055318 in ?? () in plugins\crashdetect.DLL
[16:46:36] [debug] #4 620497cc in ?? () in plugins\crashdetect.DLL
[16:46:36] [debug] #5 6204dcf4 in ?? () in plugins\crashdetect.DLL
[16:46:36] [debug] #6 62094629 in ?? () in plugins\streamer.DLL
[16:46:36] [debug] #7 62a04331 in ?? () in plugins\pawncmd.DLL
[16:46:36] [debug] #8 62a03f1e in ?? () in plugins\pawncmd.DLL
[16:46:36] [debug] #9 00492a21 in ?? () in samp-server.exe
[16:46:36] [debug] #10 00452120 in ?? () in samp-server.exe
[16:46:36] [debug] #11 773ae023 in ?? () in C:\Windows\SysWOW64\ntdll.dll
[16:46:36] [debug] #12 758914dd in ?? () in C:\Windows\syswow64\kernel32.dll
[16:46:36] [debug] #13 004aa3ae in ?? () in samp-server.exe
[16:46:36] [debug] #14 68106ac3 in ?? () in samp-server.exe
[16:46:36] [debug] #15 004ba788 in ?? () in samp-server.exe
[16:46:36] [debug] Registers:
[16:46:36] [debug] EAX: 00000000 EBX: 0018f5b0 ECX: 004f4fdd EDX: ffffffff
[16:46:36] [debug] ESI: 5535a78c EDI: 00000006 EBP: 68106ac3 ESP: 0049ef95
[16:46:36] [debug] EIP: 004ba788 EFLAGS: 00010286
[16:46:36] [debug] Stack:
[16:46:36] [debug] ESP+00000000: ffe2aae8 08758bff f73bff33 010c840f
[16:46:36] [debug] ESP+00000020: 3b2c468b 500774c7 ff9e74e8 468b59ff
[16:46:36] [debug] ESP+00000040: 500774c7 ff9e58e8 468b59ff 74c73b44
[16:46:36] [debug] ESP+00000060: ff9e3ce8 468b59ff 63303d54 0774004e
[16:46:36] [debug] ESP+00000080: 468bfc7d e4458960 1374c73b 0f7508ff
[16:46:36] [debug] ESP+000000a0: e8fffc4d 00000083 cee80c6a 59ffffe1
[16:46:36] [debug] ESP+000000c0: 3908ff4d 05742c78 ff2c488b 34783909
[16:46:36] [debug] ESP+000000e0: 40783909 488b0574 8b09ff40 89ff4c48
[16:46:36] [debug] ESP+00000100: 390b7400 50077538 fffc76e8 4d8359ff
[16:46:36] [debug] ESP+00000120: c2ffffe1 ff330004 6a08758b e096e80d
[16:46:36] [debug] ESP+00000140: 60440d8b f983004e 8b2374ff 85042444
[16:46:36] [debug] ESP+00000160: 35ff006a 004e6044 5f2c15ff e8c30051
[16:46:36] [debug] ESP+00000180: cc685756 ff004ba7 4ac1c015 85f88b00
[16:46:36] [debug] ESP+000001a0: a7b468d6 a357004b 00515f24 a868d6ff
[16:46:36] [debug] ESP+000001c0: 5f2ca357 d6ff0051 5f283d83 a3000051
[16:46:36] [debug] ESP+000001e0: 4ac208a1 5f2ca300 04a10051 c7004ac2
[16:46:36] [debug] ESP+00000200: ff0049ef 515f2415 fff88300 4e6044a3
[16:46:36] [debug] ESP+00000220: 85f08bff 745959f6 35ff562b 004e6044
[16:46:36] [debug] ESP+00000240: 147e8900 c1b415ff 4e83004a 0689ff04
[16:46:36] [debug] ESP+00000260: 00515d34 00100068 9c21e800 c085ffff
[16:46:36] [debug] ESP+00000280: 00100018 8311eb00 8d040c49 41891441
[16:46:36] [debug] ESP+000002a0: 8b55c301 758b56ec 0c468b08 745783a8
[16:46:36] [debug] ESP+000002c0: e0836175 01ff83ef 750c4689 8fe8560f
[16:46:36] [debug] ESP+000002e0: 468bffff 59c0840c e0830879 0c4689fc
[16:46:36] [debug] ESP+00000300: 02001846 ff570000 75ff1075 1076ff0c
[16:46:36] [debug] ESP+00000320: e80eebc0 0000047e 001600c7 c8830000
[16:46:36] [debug] ESP+00000340: 0875ffff ff993ce8 658359ff 75ff00fc
[16:46:36] [debug] ESP+00000360: 458910c4 fc4d83e4 0009e8ff 458b0000
[16:46:36] [debug] ESP+00000380: 748b56c3 468b0824 0f83a80c 0000cc84
[16:46:36] [debug] ESP+000003a0: e90c4689 000000b5 6601c883 89010ca9
[16:46:36] [debug] ESP+000003c0: 76ff0689 0876ff18 e81076ff 00000c73
[16:46:36] [debug] ESP+000003e0: c2f60c56 8b3a7582 f983104e 177457ff
[16:46:36] [debug] Loaded modules:
[16:46:36] [debug] 00400000 - 00519000 samp-server.exe
[16:46:36] [debug] 77380000 - 77500000 ntdll.dll
[16:46:36] [debug] 75880000 - 75990000 kernel32.dll
[16:46:36] [debug] 75cd0000 - 75d17000 KERNELBASE.dll
[16:46:36] [debug] 75e30000 - 76a7a000 SHELL32.dll
[16:46:36] [debug] 752d0000 - 7537c000 msvcrt.dll
[16:46:36] [debug] 76cf0000 - 76d47000 SHLWAPI.dll
[16:46:36] [debug] 757c0000 - 75850000 GDI32.dll
[16:46:36] [debug] 75d30000 - 75e30000 USER32.dll
[16:46:36] [debug] 75470000 - 75510000 ADVAPI32.dll
[16:46:36] [debug] 76f60000 - 76f79000 sechost.dll
[16:46:36] [debug] 74d70000 - 74e60000 RPCRT4.dll
[16:46:36] [debug] 74d00000 - 74d60000 SspiCli.dll
[16:46:36] [debug] 74cf0000 - 74cfc000 CRYPTBASE.dll
[16:46:36] [debug] 752c0000 - 752ca000 LPK.dll
[16:46:36] [debug] 76a80000 - 76b1d000 USP10.dll
[16:46:36] [debug] 624f0000 - 624f7000 WSOCK32.dll
[16:46:36] [debug] 753a0000 - 753d5000 WS2_32.dll
[16:46:36] [debug] 75750000 - 75756000 NSI.dll
[16:46:36] [debug] 73700000 - 73732000 WINMM.dll
[16:46:36] [debug] 75760000 - 757c0000 IMM32.DLL
[16:46:36] [debug] 750a0000 - 7516c000 MSCTF.dll
[16:46:36] [debug] 62030000 - 62081000 crashdetect.DLL
[16:46:36] [debug] 61fc0000 - 62029000 MSVCP100.dll
[16:46:36] [debug] 61f00000 - 61fbf000 MSVCR100.dll
[16:46:36] [debug] 72e80000 - 72ec4000 mysql.DLL
[16:46:36] [debug] 60aa0000 - 60d6a000 LIBMYSQL.dll
[16:46:36] [debug] 61b40000 - 61c16000 MSVCR110.dll
[16:46:36] [debug] 61e70000 - 61ef5000 MSVCP110.dll
[16:46:36] [debug] 72d70000 - 72d80000 NLAapi.dll
[16:46:36] [debug] 72ce0000 - 72cf0000 napinsp.dll
[16:46:36] [debug] 72cc0000 - 72cd2000 pnrpnsp.dll
[16:46:36] [debug] 72d00000 - 72d3c000 mswsock.dll
[16:46:36] [debug] 72c70000 - 72cb4000 DNSAPI.dll
[16:46:36] [debug] 72c60000 - 72c68000 winrnr.dll
[16:46:36] [debug] 72ac0000 - 72ac6000 rasadhlp.dll
[16:46:36] [debug] 62a00000 - 62a38000 pawncmd.DLL
[16:46:36] [debug] 73740000 - 73743000 api-ms-win-core-synch-l1-2-0.DLL
[16:46:36] [debug] 10000000 - 1000f000 sscanf.DLL
[16:46:36] [debug] 62c20000 - 62c35000 VCRUNTIME140.dll
[16:46:36] [debug] 73590000 - 73594000 api-ms-win-crt-runtime-l1-1-0.dll
[16:46:36] [debug] 61a50000 - 61b31000 ucrtbase.DLL
[16:46:36] [debug] 72030000 - 72033000 api-ms-win-core-timezone-l1-1-0.dll
[16:46:36] [debug] 71a80000 - 71a83000 api-ms-win-core-file-l2-1-0.dll
[16:46:36] [debug] 6a6f0000 - 6a6f3000 api-ms-win-core-localization-l1-2-0.dll
[16:46:36] [debug] 62d10000 - 62d13000 api-ms-win-core-processthreads-l1-1-1.dll
[16:46:36] [debug] 62d00000 - 62d03000 api-ms-win-core-file-l1-2-0.dll
[16:46:36] [debug] 62cf0000 - 62cf3000 api-ms-win-crt-heap-l1-1-0.dll
[16:46:36] [debug] 62c80000 - 62c84000 api-ms-win-crt-string-l1-1-0.dll
[16:46:36] [debug] 62c10000 - 62c14000 api-ms-win-crt-convert-l1-1-0.dll
[16:46:36] [debug] 629b0000 - 629b4000 api-ms-win-crt-stdio-l1-1-0.dll
[16:46:36] [debug] 62090000 - 620ea000 streamer.DLL
[16:46:36] [debug] 619e0000 - 61a4c000 MSVCP140.dll
[16:46:36] [debug] 629a0000 - 629a3000 api-ms-win-crt-locale-l1-1-0.dll
[16:46:36] [debug] 62990000 - 62995000 api-ms-win-crt-math-l1-1-0.dll
[16:46:36] [debug] 62980000 - 62985000 api-ms-win-crt-multibyte-l1-1-0.dll
[16:46:36] [debug] 627f0000 - 627f3000 api-ms-win-crt-time-l1-1-0.dll
[16:46:36] [debug] 627e0000 - 627e3000 api-ms-win-crt-filesystem-l1-1-0.dll
[16:46:36] [debug] 62670000 - 62673000 api-ms-win-crt-environment-l1-1-0.dll
[16:46:36] [debug] 625b0000 - 625b3000 api-ms-win-crt-utility-l1-1-0.dll
[16:46:36] [debug] 62500000 - 62506000 iTD.DLL
[16:46:36] [debug] 72cf0000 - 72cf5000 wshtcpip.dll
[16:46:36] [debug] 730c0000 - 730dc000 IPHLPAPI.DLL
[16:46:36] [debug] 73750000 - 73757000 WINNSI.DLL
[16:46:36] [debug] 72bc0000 - 72bf8000 fwpuclnt.dll
[16:46:36] [debug] 72a10000 - 72a16000 wship6.dll
[16:46:36] [debug] Server crashed while executing JunctionMode.amx
[16:46:36] [debug] AMX backtrace:
[16:46:36] [debug] #0 native format () in samp-server.exe
[16:46:36] [debug] #1 00017d78 in ?? (0, 1) in JunctionMode.amx
[16:46:36] [debug] #2 0001ed28 in public pc_cmd_pts (0, 513980) in JunctionMode.amx
[16:46:36] [debug] Native backtrace:
[16:46:36] [debug] #0 773adfe4 in ?? () in C:\Windows\SysWOW64\ntdll.dll
[16:46:36] [debug] #1 758914dd in ?? () in C:\Windows\syswow64\kernel32.dll
[16:46:36] [debug] #2 00498ea1 in ?? () in samp-server.exe
[16:46:36] [debug] #3 0044d9c9 in ?? () in samp-server.exe
[16:46:36] [debug] #4 0045841c in ?? () in samp-server.exe
[16:46:36] [debug] #5 0045abda in ?? () in samp-server.exe
[16:46:36] [debug] #6 72e81bd3 in ?? () in plugins\mysql.DLL
[16:46:36] [debug] #7 0048d4db in ?? () in samp-server.exe
[16:46:36] [debug] #8 5c8b01f8 in ?? () in samp-server.exe
[16:46:36] [debug] #9 61750824 in ?? () in samp-server.exe
[16:46:36] [debug] Registers:
[16:46:36] [debug] EAX: 4479fff8 EBX: 447a0000 ECX: 0018fbec EDX: 00000012
[16:46:36] [debug] ESI: 02090000 EDI: 00000000 EBP: 5c8b01f8 ESP: 00491268
[16:46:36] [debug] EIP: 61750824 EFLAGS: 00010246
[16:46:36] [debug] Stack:
[16:46:36] [debug] ESP+00000000: 85084e8b 530674c9 fd54dbe8 0c4e8bff
[16:46:36] [debug] ESP+00000020: c1e85306 8bfffd42 74c9850e b5e85306
[16:46:36] [debug] ESP+00000040: 4b888c0d 8a5ee800 8b500000 16d6e8cf
[16:46:36] [debug] ESP+00000060: 02f88329 05d92475 00515cf8 082444d8
[16:46:36] [debug] ESP+00000080: 8b077541 f8fee8ce 0d8bffff 004f5fbc
[16:46:36] [debug] ESP+000000a0: cde2e8ce 0d8bffff 004f5fc0 c4835b5e
[16:46:36] [debug] ESP+000000c0: c88b08c0 8b66118b 14890449 b8158b24
[16:46:36] [debug] ESP+000000e0: 00010285 8b388b00 515d040d 408b6600
[16:46:36] [debug] ESP+00000100: 000000e4 8166f88b 0f03e8ff 0000d683
[16:46:36] [debug] ESP+00000120: 000249fc 840fc985 000000bb 9cb08c8b
[16:46:36] [debug] ESP+00000140: 0fd28500 00009e84 fe918b00 8500002b
[16:46:36] [debug] ESP+00000160: 8b000000 da84b094 d2850002 818b5375
[16:46:36] [debug] ESP+00000180: db02e810 c084fffb 158b2474 004f5fb8
[16:46:36] [debug] ESP+000001a0: 4ac25815 ce8b5000 00f093ff 0d8b0000
[16:46:36] [debug] ESP+000001c0: 5902e8c3 0d8bffff 004f5fb8 5604498b
[16:46:36] [debug] ESP+000001e0: 81e85606 5ffffdc5 c4835b5e ccccc308
[16:46:36] [debug] ESP+00000200: 000000a1 89645000 00000025 14ec8100
[16:46:36] [debug] ESP+00000220: 8b66388b 4c8d0458 09e80c24 8bfffbc4
[16:46:36] [debug] ESP+00000240: 8b08ec83 c73889c4 01302484 00000000
[16:46:36] [debug] ESP+00000260: b70f7b73 868c8bc0 000249fc 6d74c985
[16:46:36] [debug] ESP+00000280: 040d8b00 8b00515d 01386811 ec830000
[16:46:36] [debug] ESP+000002a0: 011492ff 8d500000 e814244c fffbcad8
[16:46:36] [debug] ESP+000002c0: 89006ac4 66086a38 6a045889 24448d01
[16:46:36] [debug] ESP+000002e0: 2484c70c 00000128 ffffffff fbc457e8
[16:46:36] [debug] ESP+00000300: c4815b00 00000120 ccccccc3 cccccccc
[16:46:36] [debug] ESP+00000320: 018b0051 c2835756 663a8b08 8304528b
[16:46:36] [debug] ESP+00000340: b8a1f08b 8b004f5f 8bc98508 09740478
[16:46:36] [debug] ESP+00000360: e8cf8b51 fffda2e0 ccc35e5f cccccccc
[16:46:36] [debug] ESP+00000380: 4ab37b68 448b5000 89641024 00000025
[16:46:36] [debug] ESP+000003a0: 840f0478 000000b6 840fff85 000000ae
[16:46:36] [debug] ESP+000003c0: 08ec8304 2b89dc8b 04438966 00e492ff
[16:46:36] [debug] ESP+000003e0: 56504000 24244c8d fbc2dbe8 5fb8a1ff
[16:46:36] [debug] Loaded modules:
[16:46:36] [debug] 00400000 - 00519000 samp-server.exe
[16:46:36] [debug] 77380000 - 77500000 ntdll.dll
[16:46:36] [debug] 75880000 - 75990000 kernel32.dll
[16:46:36] [debug] 75cd0000 - 75d17000 KERNELBASE.dll
[16:46:36] [debug] 75e30000 - 76a7a000 SHELL32.dll
[16:46:36] [debug] 752d0000 - 7537c000 msvcrt.dll
[16:46:36] [debug] 76cf0000 - 76d47000 SHLWAPI.dll
[16:46:36] [debug] 757c0000 - 75850000 GDI32.dll
[16:46:36] [debug] 75d30000 - 75e30000 USER32.dll
[16:46:36] [debug] 75470000 - 75510000 ADVAPI32.dll
[16:46:36] [debug] 76f60000 - 76f79000 sechost.dll
[16:46:36] [debug] 74d70000 - 74e60000 RPCRT4.dll
[16:46:36] [debug] 74d00000 - 74d60000 SspiCli.dll
[16:46:36] [debug] 74cf0000 - 74cfc000 CRYPTBASE.dll
[16:46:36] [debug] 752c0000 - 752ca000 LPK.dll
[16:46:36] [debug] 76a80000 - 76b1d000 USP10.dll
[16:46:36] [debug] 624f0000 - 624f7000 WSOCK32.dll
[16:46:36] [debug] 753a0000 - 753d5000 WS2_32.dll
[16:46:36] [debug] 75750000 - 75756000 NSI.dll
[16:46:36] [debug] 73700000 - 73732000 WINMM.dll
[16:46:36] [debug] 75760000 - 757c0000 IMM32.DLL
[16:46:36] [debug] 750a0000 - 7516c000 MSCTF.dll
[16:46:36] [debug] 62030000 - 62081000 crashdetect.DLL
[16:46:36] [debug] 61fc0000 - 62029000 MSVCP100.dll
[16:46:36] [debug] 61f00000 - 61fbf000 MSVCR100.dll
[16:46:36] [debug] 72e80000 - 72ec4000 mysql.DLL
[16:46:36] [debug] 60aa0000 - 60d6a000 LIBMYSQL.dll
[16:46:36] [debug] 61b40000 - 61c16000 MSVCR110.dll
[16:46:36] [debug] 61e70000 - 61ef5000 MSVCP110.dll
[16:46:36] [debug] 72d70000 - 72d80000 NLAapi.dll
[16:46:36] [debug] 72ce0000 - 72cf0000 napinsp.dll
[16:46:36] [debug] 72cc0000 - 72cd2000 pnrpnsp.dll
[16:46:36] [debug] 72d00000 - 72d3c000 mswsock.dll
[16:46:36] [debug] 72c70000 - 72cb4000 DNSAPI.dll
[16:46:36] [debug] 72c60000 - 72c68000 winrnr.dll
[16:46:36] [debug] 72ac0000 - 72ac6000 rasadhlp.dll
[16:46:36] [debug] 62a00000 - 62a38000 pawncmd.DLL
[16:46:36] [debug] 73740000 - 73743000 api-ms-win-core-synch-l1-2-0.DLL
[16:46:36] [debug] 10000000 - 1000f000 sscanf.DLL
[16:46:36] [debug] 62c20000 - 62c35000 VCRUNTIME140.dll
[16:46:36] [debug] 73590000 - 73594000 api-ms-win-crt-runtime-l1-1-0.dll
[16:46:36] [debug] 61a50000 - 61b31000 ucrtbase.DLL
[16:46:36] [debug] 72030000 - 72033000 api-ms-win-core-timezone-l1-1-0.dll
[16:46:36] [debug] 71a80000 - 71a83000 api-ms-win-core-file-l2-1-0.dll
[16:46:36] [debug] 6a6f0000 - 6a6f3000 api-ms-win-core-localization-l1-2-0.dll
[16:46:36] [debug] 62d10000 - 62d13000 api-ms-win-core-processthreads-l1-1-1.dll
[16:46:36] [debug] 62d00000 - 62d03000 api-ms-win-core-file-l1-2-0.dll
[16:46:36] [debug] 62cf0000 - 62cf3000 api-ms-win-crt-heap-l1-1-0.dll
[16:46:36] [debug] 62c80000 - 62c84000 api-ms-win-crt-string-l1-1-0.dll
[16:46:36] [debug] 62c10000 - 62c14000 api-ms-win-crt-convert-l1-1-0.dll
[16:46:36] [debug] 629b0000 - 629b4000 api-ms-win-crt-stdio-l1-1-0.dll
[16:46:36] [debug] 62090000 - 620ea000 streamer.DLL
[16:46:36] [debug] 619e0000 - 61a4c000 MSVCP140.dll
[16:46:36] [debug] 629a0000 - 629a3000 api-ms-win-crt-locale-l1-1-0.dll
[16:46:36] [debug] 62990000 - 62995000 api-ms-win-crt-math-l1-1-0.dll
[16:46:36] [debug] 62980000 - 62985000 api-ms-win-crt-multibyte-l1-1-0.dll
[16:46:36] [debug] 627f0000 - 627f3000 api-ms-win-crt-time-l1-1-0.dll
[16:46:36] [debug] 627e0000 - 627e3000 api-ms-win-crt-filesystem-l1-1-0.dll
[16:46:36] [debug] 62670000 - 62673000 api-ms-win-crt-environment-l1-1-0.dll
[16:46:36] [debug] 625b0000 - 625b3000 api-ms-win-crt-utility-l1-1-0.dll
[16:46:36] [debug] 62500000 - 62506000 iTD.DLL
[16:46:36] [debug] 72cf0000 - 72cf5000 wshtcpip.dll
[16:46:36] [debug] 730c0000 - 730dc000 IPHLPAPI.DLL
[16:46:36] [debug] 73750000 - 73757000 WINNSI.DLL
[16:46:36] [debug] 72bc0000 - 72bf8000 fwpuclnt.dll
[16:46:36] [debug] 72a10000 - 72a16000 wship6.dll

Но смысл не меняется

- - - Добавлено - - -

На этот раз краша не произошло (после -d3 в pawn.cfg), вот логи:


[16:50:04] [debug] Run time error 4: "Array index out of bounds"
[16:50:04] [debug] Attempted to read/write array element at index 400 in array of size 212
[16:50:04] [debug] AMX backtrace:
[16:50:04] [debug] #0 00021440 in ShowPTS (playerid=0, carid=1) at C:\Users\HP\Desktop\Документы\2) Pawn\Мои моды\Junction RP\gamemodes\JunctionMode.pwn:2778
[16:50:04] [debug] #1 0002b410 in public pc_cmd_pts (playerid=0, params[]=@0007d7bc "0") at C:\Users\HP\Desktop\Документы\2) Pawn\Мои моды\Junction RP\gamemodes\JunctionMode.pwn:3750
[16:50:14] [debug] Run time error 4: "Array index out of bounds"
[16:50:14] [debug] Attempted to read/write array element at index 400 in array of size 212
[16:50:14] [debug] AMX backtrace:
[16:50:14] [debug] #0 00021440 in ShowPTS (playerid=0, carid=1) at C:\Users\HP\Desktop\Документы\2) Pawn\Мои моды\Junction RP\gamemodes\JunctionMode.pwn:2778
[16:50:14] [debug] #1 0002b410 in public pc_cmd_pts (playerid=0, params[]=@0007d7bc "0") at C:\Users\HP\Desktop\Документы\2) Pawn\Мои моды\Junction RP\gamemodes\JunctionMode.pwn:3750

Выход за пределы массива?

DeimoS
18.11.2019, 18:22
format(string, sizeof(string), fmt_str, car[carid][cName], carid, ModelName[car[carid][cModel]+400], car_class[car[carid][cClass]+1]);
на

format(string, sizeof(string), fmt_str, car[carid][cName], carid, ModelName[car[carid][cModel]], car_class[car[carid][cClass]+1]);
Хотя, по идее, должно быть

format(string, sizeof(string), fmt_str, car[carid][cName], carid, ModelName[car[carid][cModel]-400], car_class[car[carid][cClass]+1]);
Но, судя по логам, у тебя в cModel записан 0

SteveStage
18.11.2019, 18:39
[17:48:43] [debug] Run time error 4: "Array index out of bounds"
[17:48:43] [debug] Attempted to read/write array element at negative index -401
[17:48:43] [debug] AMX backtrace:
[17:48:43] [debug] #0 00021448 in ShowPTS (playerid=0, carid=1) at C:\Users\HP\Desktop\Документы\2) Pawn\Мои моды\Junction RP\gamemodes\JunctionMode.pwn:2778
[17:48:43] [debug] #1 0002b458 in public pc_cmd_pts (playerid=0, params[]=@0007ec38 "0") at C:\Users\HP\Desktop\Документы\2) Pawn\Мои моды\Junction RP\gamemodes\JunctionMode.pwn:3750

stock ShowPTS(playerid, carid)
{
static const
fmt_str[] =
"\
{00C0FF}Владелец:{F81414}%s\
\n{00C0FF}ID транспорта:{F81414}%d\
\n{00C0FF}Модель:{F81414}%s\
\n{00C0FF}Класс:{F81414}%s\
";
new
string[sizeof(fmt_str)-8+MAX_PLAYER_NAME+11+25+1+1];
format(string, sizeof(string), fmt_str, car[carid][cName], car[carid][cID], ModelName[car[carid][cModel]-401], car_class[car[carid][cClass]+1]);

SPD(playerid, 9866, DSM, !"{00C0FF}ПТС", string, !"{00C0FF}Понятно", !"");
}

И диалог просто не отображается

DeimoS
18.11.2019, 19:12
Эмм, а что за -401? О_о
Если в cModel должен хранится номер модели, то код должен быть таким

format(string, sizeof(string), fmt_str, car[carid][cName], carid, ModelName[car[carid][cModel]-400], car_class[car[carid][cClass]+1]);
Но сейчас у тебя в cModel, к которому ты обращаешься, хранится 0. Следовательно, ты либо криво грузишь данные, либо обращаешься к неправильной ячейке

SteveStage
18.11.2019, 19:33
Логирование показало что при загрузке транспорта модель = 0, но спавнится с моделью 411, что странно

- - - Добавлено - - -

Что может быть неправильного при загрузке данных, если в OnGameModeInit:

mysql_function_query(connect_mysql, "SELECT * FROM `cars`", true, "@_LoadCars", "");

В @_LoadCars:

@_LoadCars();
@_LoadCars()
{
new
rows,
fields;
cache_get_data(rows, fields);

for(new i; i != rows; i++)
{
car[i][cModel] = cache_get_field_content_int(i, "Model");
car[i][cX] = cache_get_field_content_float(i, "X");
car[i][cY] = cache_get_field_content_float(i, "Y");
car[i][cZ] = cache_get_field_content_float(i, "Z");
car[i][cA] = cache_get_field_content_float(i, "A");
car[i][cHP] = cache_get_field_content_float(i, "HP");
car[i][cColor1] = cache_get_field_content_int(i, "Color1");
car[i][cColor2] = cache_get_field_content_int(i, "Color2");
car[i][cDmg1] = cache_get_field_content_int(i, "Dmg1");
car[i][cDmg2] = cache_get_field_content_int(i, "Dmg2");
car[i][cDmg3] = cache_get_field_content_int(i, "Dmg3");
car[i][cDmg4] = cache_get_field_content_int(i, "Dmg4");
car[i][cPrice] = cache_get_field_content_int(i, "Price");
car[i][cID] = cache_get_field_content_int(i, "ID");
car[i][cPaintjob] = cache_get_field_content_int(i, "Paintjob");
cache_get_field_content(i, "Name", car[i][cName], MAX_PLAYER_NAME+1);
allcars++;
if(!strcmp(car[i][cName], "None"))
allbuycars++;
LoadInfoCar(i);
}
return true;
}

А в LoadInfoCar

stock LoadInfoCar(i)
{
car[i][cVeh] = CreateVehicle(car[i][cModel], car[i][cX], car[i][cY], car[i][cZ], car[i][cA], car[i][cColor2], car[i][cColor2], 0);
UpdateVehicleDamageStatus(car[i][cVeh], car[i][cDmg1], car[i][cDmg2], car[i][cDmg3], car[i][cDmg4]);
SetVehicleHealth(car[i][cVeh], car[i][cHP]);
if(car[i][cPaintjob] > 0)
ChangeVehiclePaintjob(car[i][cVeh], car[i][cPaintjob]-1);
else if(!strcmp(car[i][cName], "None"))
{
car[i][cPrice] = ModelPrice[car[i][cModel]-400];
static const
fmt_str[] = "Автомобиль продается за %d$";
new
str[sizeof(fmt_str)-2+11+1];
format(str, sizeof(str), fmt_str, car[i][cPrice]);
car[i][cTDPrice] = CreateDynamic3DTextLabel(str, COLOR_YELLOW, 0, 0, 0.6, 20.0, INVALID_PLAYER_ID, i, 0, -1, -1, -1, 100.0);
}
return true;
}

DeimoS
18.11.2019, 23:02
Эмм, ну так ты данные грузишь в ячейки от 0 и дальше, а обращаться к ним пытаешься по ID авто.

SteveStage
18.11.2019, 23:04
Эмм, ну так ты данные грузишь в ячейки от 0 и дальше, а обращаться к ним пытаешься по ID авто.

Так что-ли?

stock ShowPTS(playerid, carid)
{
static
fmt_str[] =
"\
{00C0FF}Владелец:\t\t\t\t{F81414}%s\
\n{00C0FF}ID транспорта:\t\t\t\t{F81414}%d\
\n{00C0FF}Модель:\t\t\t\t\t{F81414}%s\
\n{00C0FF}Класс:\t\t\t\t\t{F81414}%s\
";
new
string[sizeof(fmt_str)-8+MAX_PLAYER_NAME+11+25+1+1];
format(string, sizeof(string), fmt_str, car[car[carid][cID]][cName], car[carid][cID], ModelName[car[car[carid][cID]][cModel]-400],
car_class[car[car[carid][cID]][cClass]-1]);

SPD(playerid, 9866, DSM, !"{00C0FF}ПТС", string, !"{00C0FF}Понятно", !"");
}

UPD: Да! Это сработало! Наконец-то, DeimoS большое спасибо за наводку)

DeimoS
18.11.2019, 23:17
Эмм, нет, не так. Стоит тебе нарушить порядок автомобилей (например, если игрок купит авто во время работы сервера), то твоя система перестанет работать. Тебе нужно загрузку данных переписывать так, чтоб ячейка, в которую записывается информация, совпадала с ID авто. Тогда твой текущий код будет работать надёжно. А сейчас тебе просто повезло, что всё сработало (и то, скорее всего, ты получил данные от не того автомобиля, от которого нужно было).

SteveStage
18.11.2019, 23:21
(и то, скорее всего, ты получил данные от не того автомобиля, от которого нужно было).

Я получил данные именно от того авто, которое у меня (владелец, класс, модель совпадают)


Эмм, нет, не так. Стоит тебе нарушить порядок автомобилей (например, если игрок купит авто во время работы сервера), то твоя система перестанет работать. Тебе нужно загрузку данных переписывать так, чтоб ячейка, в которую записывается информация, совпадала с ID авто.

Тоесть, по твоему, паблик LoadCars должен выглядить как-то так?

@_LoadCars();
@_LoadCars()
{
new
rows,
fields;
cache_get_data(rows, fields);

for(new i; i != rows; i++)
{
car[i][cModel] = cache_get_field_content_int(i, "Model");
car[i][cX] = cache_get_field_content_float(i, "X");
car[i][cY] = cache_get_field_content_float(i, "Y");
car[i][cZ] = cache_get_field_content_float(i, "Z");
car[i][cA] = cache_get_field_content_float(i, "A");
car[i][cHP] = cache_get_field_content_float(i, "HP");
car[i][cColor1] = cache_get_field_content_int(i, "Color1");
car[i][cColor2] = cache_get_field_content_int(i, "Color2");
car[i][cDmg1] = cache_get_field_content_int(i, "Dmg1");
car[i][cDmg2] = cache_get_field_content_int(i, "Dmg2");
car[i][cDmg3] = cache_get_field_content_int(i, "Dmg3");
car[i][cDmg4] = cache_get_field_content_int(i, "Dmg4");
car[i][cPrice] = cache_get_field_content_int(i, "Price");
//car[i][cID] = cache_get_field_content_int(i, "ID");
car[i][cID] = i;
car[i][cPaintjob] = cache_get_field_content_int(i, "Paintjob");
car[i][cClass] = cache_get_field_content_int(i, "Class");
cache_get_field_content(i, "Name", car[i][cName], MAX_PLAYER_NAME+1);
allcars++;
if(!strcmp(car[i][cName], "None"))
allbuycars++;
LoadInfoCar(i);
}
return true;
}

Kovshevoy
18.11.2019, 23:31
Предложил бы такой вариант.


@_LoadCars();
@_LoadCars()
{
new
rows,
fields;

cache_get_data(rows, fields);

for(new i = 0, idx = 1; i < rows; i++, idx++)
{

car[idx][cModel] = cache_get_field_content_int(i, "Model");
car[idx][cX] = cache_get_field_content_float(i, "X");
car[idx][cY] = cache_get_field_content_float(i, "Y");
car[idx][cZ] = cache_get_field_content_float(i, "Z");
car[idx][cA] = cache_get_field_content_float(i, "A");
car[idx][cHP] = cache_get_field_content_float(i, "HP");
car[idx][cColor1] = cache_get_field_content_int(i, "Color1");
car[idx][cColor2] = cache_get_field_content_int(i, "Color2");
car[idx][cDmg1] = cache_get_field_content_int(i, "Dmg1");
car[idx][cDmg2] = cache_get_field_content_int(i, "Dmg2");
car[idx][cDmg3] = cache_get_field_content_int(i, "Dmg3");
car[idx][cDmg4] = cache_get_field_content_int(i, "Dmg4");
car[idx][cPrice] = cache_get_field_content_int(i, "Price");
//car[idx][cID] = cache_get_field_content_int(i, "ID");
car[idx][cID] = i;
car[idx][cPaintjob] = cache_get_field_content_int(i, "Paintjob");
car[idx][cClass] = cache_get_field_content_int(i, "Class");
cache_get_field_content(i, "Name", car[idx][cName], MAX_PLAYER_NAME+1);

allcars++;

if(!strcmp(car[idx][cName], "None"))
allbuycars++;

LoadInfoCar(i);
}
return true;
}





- - - Добавлено - - -

Или же


@_LoadCars();
@_LoadCars()
{
new
rows,
fields;

cache_get_data(rows, fields);

for(new i = 0, idx = 1; i < rows; i++, idx++)
{
idx = cache_get_field_content_int(i, "ID");

....


Тогда сразу будет грузиться ID тачки нужный. Хорошо это или плохо, думаю более подробней обьяснит DeimoS, ибо я не имею возможности нормально обьяснить :D

DeimoS
18.11.2019, 23:40
Эмм, а что-то существенно изменилось?

Нет. Создаёшь локальные переменные и сначала грузишь данные в них. После создаёшь автомобиль и уже копируешь данные из локальных переменных в массив.
Получится как-то так:
new vehicleid, /*остальные переменные*/;
for(new i; i < rows; i++)
{
/*локальная переменная для cModel*/ = cache_get_field_content_int(i, "Model");
/*локальная переменная для cX*/ = cache_get_field_content_float(i, "X");
// И так далее...

vehicleid = CreateVehicle(/*локальная переменная для cModel*/, /*локальная переменная для cX*/, /*...*/);

car[vehicleid][cModel] = /*локальная переменная для cModel*/;
car[vehicleid][cX] = /*локальная переменная для cX*/;
}

Тут где-то уже задавали схожий вопрос и я даже чуть ли не готовый код давал, вроде.

- - - Добавлено - - -

Вот, собственно, одна из таких тем (вроде, были ещё): *ссылка* (http://pro-pawn.ru/showthread.php?15801-%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D1%81-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%BE%D0%B9-%D0%B0%D0%B2%D1%82%D0%BE-%28mysql-r41-3%29&p=88621&viewfull=1#post88621)

SteveStage
18.11.2019, 23:45
Вы упускаете, что LoadInfoCar в конце паблика - и есть код спавна транспорта

stock LoadInfoCar(i)
{
car[i][cVeh] = CreateVehicle(car[i][cModel], car[i][cX], car[i][cY], car[i][cZ], car[i][cA], car[i][cColor2], car[i][cColor2], 0);
UpdateVehicleDamageStatus(car[i][cVeh], car[i][cDmg1], car[i][cDmg2], car[i][cDmg3], car[i][cDmg4]);
SetVehicleHealth(car[i][cVeh], car[i][cHP]);
if(car[i][cPaintjob] > 0)
ChangeVehiclePaintjob(car[i][cVeh], car[i][cPaintjob]-1);
else if(!strcmp(car[i][cName], "None"))
{
car[i][cPrice] = ModelPrice[car[i][cModel]-400];
static const
fmt_str[] = "Автомобиль продается за %d$";
new
str[sizeof(fmt_str)-2+11+1];
format(str, sizeof(str), fmt_str, car[i][cPrice]);
car[i][cTDPrice] = CreateDynamic3DTextLabel(str, COLOR_YELLOW, 0, 0, 0.6, 20.0, INVALID_PLAYER_ID, i, 0, -1, -1, -1, 100.0);
}
return true;
}

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

SteveStage
19.11.2019, 00:19
@_LoadCars();
@_LoadCars()
{
new
rows,
fields;
cache_get_data(rows, fields);

new veh_id, veh_model, Float:veh_x, Float:veh_y, Float:veh_z, Float:veh_a, Float:veh_hp, veh_color1, veh_color2, veh_dmg1, veh_dmg2, veh_dmg3, veh_dmg4,
veh_price, veh_paintjob, veh_class, veh_name[MAX_PLAYER_NAME+1], Text3D:veh_tdprice;
for(new i; i < rows; i++)
{
veh_model = cache_get_field_content_int(i, "Model");
veh_x = cache_get_field_content_float(i, "X");
veh_y = cache_get_field_content_float(i, "Y");
veh_z = cache_get_field_content_float(i, "Z");
veh_a = cache_get_field_content_float(i, "A");
veh_hp = cache_get_field_content_float(i, "HP");
veh_color1 = cache_get_field_content_int(i, "Color1");
veh_color2 = cache_get_field_content_int(i, "Color2");
veh_dmg1 = cache_get_field_content_int(i, "Dmg1");
veh_dmg2 = cache_get_field_content_int(i, "Dmg2");
veh_dmg3 = cache_get_field_content_int(i, "Dmg3");
veh_dmg4 = cache_get_field_content_int(i, "Dmg4");
veh_price = cache_get_field_content_int(i, "Price");
veh_paintjob = cache_get_field_content_int(i, "Paintjob");
veh_class = cache_get_field_content_int(i, "Class");
veh_id = cache_get_field_content_int(i, "ID");
cache_get_field_content(i, "Name", veh_name, MAX_PLAYER_NAME+1);

veh_id = CreateVehicle(veh_model, veh_x, veh_y, veh_z, veh_a, veh_color1, veh_color2, 0);
UpdateVehicleDamageStatus(veh_id, veh_dmg1, veh_dmg2, veh_dmg3, veh_dmg4);
SetVehicleHealth(veh_id, veh_hp);
if(veh_paintjob > 0)
ChangeVehiclePaintjob(veh_id, veh_paintjob-1);
if(!strcmp(veh_name, "None"))
{
veh_price = ModelPrice[veh_model-400];
static
fmt_str[] = "Автомобиль продается за %d$";
new
str[sizeof(fmt_str)-2+11+1];
format(str, sizeof(str), fmt_str, veh_price);
veh_tdprice = CreateDynamic3DTextLabel(str, COLOR_YELLOW, 0, 0, 0.6, 20.0, INVALID_PLAYER_ID, i, 0, -1, -1, -1, 100.0);
}

allcars++;
if(!strcmp(veh_name, "None"))
allbuycars++;

car[veh_id][cModel] = veh_model;
car[veh_id][cX] = veh_x;
car[veh_id][cY] = veh_y;
car[veh_id][cZ] = veh_z;
car[veh_id][cA] = veh_a;
car[veh_id][cHP] = veh_hp;
car[veh_id][cColor1] = veh_color1;
car[veh_id][cColor2] = veh_color2;
car[veh_id][cDmg1] = veh_dmg1;
car[veh_id][cDmg2] = veh_dmg2;
car[veh_id][cDmg3] = veh_dmg3;
car[veh_id][cDmg4] = veh_dmg4;
car[veh_id][cPrice] = veh_price;
car[veh_id][cPaintjob] = veh_paintjob;
car[veh_id][cClass] = veh_class;
car[veh_id][cID] = veh_id;
cache_get_field_content(i, "Name", car[veh_id][cName], MAX_PLAYER_NAME+1);
}
return true;
}

Так? Но почему нельзя записывать значения сразу в энум, не записывая в переменные, а потом перезаписывать в энум, если энум все равно используется и в него все равно запишутся значения из бд? Даже в той теме ты писал, что можно лучше - избавиться от перезаписи

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

DeimoS
19.11.2019, 04:22
Во-первых, потому что ты не сможешь так просто определить то, в какую ячейку можно записать данные, а какая уже заполнена.
Во-вторых, обращение к переменной будет происходить быстрее, нежели к массиву (хоть это и не столь существенно, но всё же лишним не будет).
В-третьих, код более опрятный за счёт коротких имён (то же не существенно, но и не лишнее).


Какое логическое предназначение вот этого?
car[veh_id][cID] = veh_id;
На всякий случай помечу более явно:

car[veh_id][cID] = veh_id;

Ну а в целом, вроде, верно. Я бы ещё добавил проверку на значение в veh_id после создания авто, проверяя невалидные значения, которые возвращает CreateVehicle в случае, если по каким-то причинам не смогла создать автомобиль. Такого, по хорошему, происходить не должно, но лучше писать систему, которая будет устойчива к подобным ошибкам.

SteveStage
19.11.2019, 17:25
Какое логическое предназначение вот этого?
car[veh_id][cID] = veh_id;

Записать в vID айди транспорта, иначе как я буду его использовать?

UPD: я сказал про vID потому, что подумал, что лучше будет назвать энум не car, а veh (самолет не автомобиль же)

veh[veh_id][vModel] = veh_model;
veh[veh_id][vX] = veh_x;
veh[veh_id][vY] = veh_y;
veh[veh_id][vZ] = veh_z;
veh[veh_id][vA] = veh_a;
veh[veh_id][vHP] = veh_hp;
veh[veh_id][vColor1] = veh_color1;
veh[veh_id][vColor2] = veh_color2;
veh[veh_id][vDmg1] = veh_dmg1;
veh[veh_id][vDmg2] = veh_dmg2;
veh[veh_id][vDmg3] = veh_dmg3;
veh[veh_id][vDmg4] = veh_dmg4;
veh[veh_id][vPrice] = veh_price;
veh[veh_id][vPaintjob] = veh_paintjob;
veh[veh_id][vClass] = veh_class;
veh[veh_id][vID] = veh_id;
cache_get_field_content(i, "Name", veh[veh_id][vName], MAX_PLAYER_NAME+1);

UPD2: можно строчку с ID просто закомментировать и использовать только vehicleid, подобно тому, что в энуме игрока хранится ID, но используется playerid

UPD3: может ты имел ввиду исправить на это?

veh[veh_id][vID] = i;


Я бы ещё добавил проверку на значение в veh_id после создания авто, проверяя невалидные значения, которые возвращает CreateVehicle в случае, если по каким-то причинам не смогла создать автомобиль. Такого, по хорошему, происходить не должно, но лучше писать систему, которая будет устойчива к подобным ошибкам.

Так?

if(veh_id == INVALID_VEHICLE_ID) return i--;

UPD: на всякий случай

if(veh_id == INVALID_VEHICLE_ID) return i--;
else if(veh_id != INVALID_VEHICLE_ID) continue;

SteveStage
19.11.2019, 18:51
Мда... переписал я, как ты просил, и опять проблемы AMX Backt*** и т.д. в ShowPTS и dc_cmd_pts

@_LoadCars();
@_LoadCars()
{
new
rows,
fields;
cache_get_data(rows, fields);

new veh_id, veh_model, Float:veh_x, Float:veh_y, Float:veh_z, Float:veh_a, Float:veh_hp, veh_color1, veh_color2, veh_dmg1, veh_dmg2, veh_dmg3, veh_dmg4,
veh_price, veh_paintjob, veh_class, veh_name[MAX_PLAYER_NAME+1];
for(new i; i < rows; i++)
{
veh_model = cache_get_field_content_int(i, "Model");
veh_x = cache_get_field_content_float(i, "X");
veh_y = cache_get_field_content_float(i, "Y");
veh_z = cache_get_field_content_float(i, "Z");
veh_a = cache_get_field_content_float(i, "A");
veh_hp = cache_get_field_content_float(i, "HP");
veh_color1 = cache_get_field_content_int(i, "Color1");
veh_color2 = cache_get_field_content_int(i, "Color2");
veh_dmg1 = cache_get_field_content_int(i, "Dmg1");
veh_dmg2 = cache_get_field_content_int(i, "Dmg2");
veh_dmg3 = cache_get_field_content_int(i, "Dmg3");
veh_dmg4 = cache_get_field_content_int(i, "Dmg4");
veh_price = cache_get_field_content_int(i, "Price");
veh_paintjob = cache_get_field_content_int(i, "Paintjob");
veh_class = cache_get_field_content_int(i, "Class");
veh_id = cache_get_field_content_int(i, "ID");
cache_get_field_content(i, "Name", veh_name, MAX_PLAYER_NAME+1);

veh_id = CreateVehicle(veh_model, veh_x, veh_y, veh_z, veh_a, veh_color1, veh_color2, 0);
if(veh_id == INVALID_VEHICLE_ID) return i--;
else if(veh_id != INVALID_VEHICLE_ID) continue;
UpdateVehicleDamageStatus(veh_id, veh_dmg1, veh_dmg2, veh_dmg3, veh_dmg4);
SetVehicleHealth(veh_id, veh_hp);
if(veh_paintjob > 0)
ChangeVehiclePaintjob(veh_id, veh_paintjob-1); // 1, 2, 3 - нумерация винилов по порядку, 4 - отсутствие винил
if(!strcmp(veh_name, "None"))
{
veh_price = ModelPrice[veh_model-400];
static
fmt_str[] = "Автомобиль продается за %d$";
new
str[sizeof(fmt_str)-2+11+1];
format(str, sizeof(str), fmt_str, veh_price);
CreateDynamic3DTextLabel(str, COLOR_YELLOW, 0, 0, 0.6, 20.0, INVALID_PLAYER_ID, i, 0, -1, -1, -1, 100.0);
}

allvehs++;
if(!strcmp(veh_name, "None"))
allbuyvehs++;

veh[veh_id][vModel] = veh_model;
veh[veh_id][vX] = veh_x;
veh[veh_id][vY] = veh_y;
veh[veh_id][vZ] = veh_z;
veh[veh_id][vA] = veh_a;
veh[veh_id][vHP] = veh_hp;
veh[veh_id][vColor1] = veh_color1;
veh[veh_id][vColor2] = veh_color2;
veh[veh_id][vDmg1] = veh_dmg1;
veh[veh_id][vDmg2] = veh_dmg2;
veh[veh_id][vDmg3] = veh_dmg3;
veh[veh_id][vDmg4] = veh_dmg4;
veh[veh_id][vPrice] = veh_price;
veh[veh_id][vPaintjob] = veh_paintjob;
veh[veh_id][vClass] = veh_class;
veh[veh_id][vID] = i;
cache_get_field_content(i, "Name", veh[veh_id][vName], MAX_PLAYER_NAME+1);
}
return true;
}

CMD:pts(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return SCM(playerid, COLOR_RED, !"Вы должны находиться в транспорте, чтобы показать ПТС транспорта!");
new vehicleid = GetPlayerVehicleID(playerid);
if(strcmp(veh[vehicleid][vName], GetName(playerid)))
return SCM(playerid, COLOR_RED, !"Это не ваш транспорт!");
if(spawn_car{vehicleid} == true)
return SCM(playerid, COLOR_RED, !"У созданных администраторами транспортных средств нету ПТС");
new
targetid;

if(sscanf(params, "u", targetid))
return SCM(playerid, COLOR_RED, !"Образец показа ПТС транспорта: /pts [id]");
if(!IsPlayerConnected(targetid))
return SCM(playerid, COLOR_RED, !"Игрок с введенным вами ID не в сети!");

static const
fmt_str[] = "*%s показал ПТС автомобиля %s";

new
str[sizeof(fmt_str)-4+MAX_PLAYER_NAME*2+1];

format(str, sizeof(str), fmt_str, GetName(playerid), GetName(targetid));
ProxDetector(playerid, 20.0, COLOR_ACTION, str);
ShowPTS(targetid, vehicleid);
return true;
}

stock ShowPTS(playerid, vehid)
{
static
fmt_str[] =
"\
{00C0FF}Владелец:\t\t\t\t{F81414}%s\
\n{00C0FF}ID транспорта:\t\t\t\t{F81414}%d\
\n{00C0FF}Модель:\t\t\t\t\t{F81414}%s\
\n{00C0FF}Класс:\t\t\t\t\t{F81414}%s\
";
new
string[sizeof(fmt_str)-8+MAX_PLAYER_NAME+11+25+1+1];
format(string, sizeof(string), fmt_str, veh[vehid][vName], veh[vehid][vID], ModelName[veh[vehid][vModel]-400],
car_class[veh[vehid][vClass]-1]);

SPD(playerid, 9866, DSM, !"{00C0FF}ПТС", string, !"{00C0FF}Понятно", !"");
}

DeimoS
20.11.2019, 04:25
Записать в vID айди транспорта, иначе как я буду его использовать?

Эмм, ты в ячейку записываешь номер этой же ячейки. Ты собираешься использовать переменную так?
car[car[vehicleid][cID]][cModel]

/*
Если не понятно, то этот код эквивалентен:
car[vehicleid][cModel]

только добавится лишнее обращение к переменной для получения уже известных данных
*/
Или какой смысл ты вкладываешь в эту запись?



Так?

if(veh_id == INVALID_VEHICLE_ID) return i--;

UPD: на всякий случай

if(veh_id == INVALID_VEHICLE_ID) return i--;
else if(veh_id != INVALID_VEHICLE_ID) continue;

Эмм, ты сам вообще понимаешь что ты этим кодом сделаешь? Как насчёт того, чтоб начать писать осмысленный код, а не выдавать рандомный код-предположение и спрашивать у меня, так ли ты сделал?

Ошибка у тебя, как я уже говорил, связана с тем, что ты обращаешься не к той ячейке. Почему так получается - мог бы и сам определить. Не нужно быть гением программирования, чтоб расставить printf и посмотреть в какой номер ячейки (и какие) данные выгружаются, и с какого номера ячейки ты пытаешься их получить в команде.

SteveStage
20.11.2019, 16:13
Я понял свои ошибки, но я не понял, как можно просто так взять и вернуться в начало цикла и воспроизвести его заново, обходя код цикла (прибавление i)
Догадки только такие

for(new i; i < rows; i++)
{
new a;
veh_model = cache_get_field_content_int(i, "Model");
veh_x = cache_get_field_content_float(i, "X");
veh_y = cache_get_field_content_float(i, "Y");
veh_z = cache_get_field_content_float(i, "Z");
veh_a = cache_get_field_content_float(i, "A");
veh_hp = cache_get_field_content_float(i, "HP");
veh_color1 = cache_get_field_content_int(i, "Color1");
veh_color2 = cache_get_field_content_int(i, "Color2");
veh_dmg1 = cache_get_field_content_int(i, "Dmg1");
veh_dmg2 = cache_get_field_content_int(i, "Dmg2");
veh_dmg3 = cache_get_field_content_int(i, "Dmg3");
veh_dmg4 = cache_get_field_content_int(i, "Dmg4");
veh_price = cache_get_field_content_int(i, "Price");
veh_paintjob = cache_get_field_content_int(i, "Paintjob");
veh_class = cache_get_field_content_int(i, "Class");
cache_get_field_content(i, "Name", veh_name, MAX_PLAYER_NAME+1);

veh_id = CreateVehicle(veh_model, veh_x, veh_y, veh_z, veh_a, veh_color1, veh_color2, 0);
if(veh_id == INVALID_VEHICLE_ID)
return a;
...
}

Но я очень сомневаюсь, что это сработает.

И да, я сделал тупость, загружая в veh_id данные с таблицы, т.к. эта переменная все равно перезапишется айди транспорта, буквально только что заметил, и еще vID впринципе загружать не надо, смысла от этого нету, а использовать нужно сам айди транспорта, а не массив

DeimoS
20.11.2019, 16:53
Охх, во-первых, переходим на wiki (http://wiki.pro-pawn.ru/wiki/CreateVehicle) и видим, что функция возвращает не только INVALID_VEHICLE_ID.
Во-вторых, используй "continue" и всё. Это ведь циклы - самая основа. Как ты вообще изучаешь язык-то? В прочем, не суть...


К слову, не совсем понятно зачем ты записываешь столбцы по типу "Dmg3" в локальные переменные, если они никак не участвуют в создании транспорта. В локальные переменные нужно загружать только то, что потребуется для создания автомобиля. А уже остальное выгружать напрямую из кэша в массив.
Ну и так же стоит столбец с id строки выгружать, чтоб потом по нему же и работать с данными, а не через ник или как ты там собирался.

SteveStage
20.11.2019, 16:56
К слову, не совсем понятно зачем ты записываешь столбцы по типу "Dmg3" в локальные переменные, если они никак не участвуют в создании транспорта..

UpdateVehicleDamageStatus(veh_id, veh_dmg1, veh_dmg2, veh_dmg3, veh_dmg4);

SteveStage
20.11.2019, 17:34
Это ведь циклы - самая основа. Как ты вообще изучаешь язык-то? В прочем, не суть...

Прям если я изучу гайд по циклу for, то сразу пойму, как себя поведёт return true в for!


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

Я собирался использовать не массив, а айди ТРАНСПОРТА, т.к. все равно и в vID, и в vehicleid одинаково хранятся уникальные значения. Причем тут вообще ник?

DeimoS
20.11.2019, 18:25
UpdateVehicleDamageStatus(veh_id, veh_dmg1, veh_dmg2, veh_dmg3, veh_dmg4);

Ну так а класс авто? И прочие переменные. Я тебе ведь просто описал суть -_-


Прям если я изучу гайд по циклу for, то сразу пойму, как себя поведёт return true в for!

Если ты изучишь что такое return, то сразу поймёшь как он работает и в for, и в stock, и где-либо ещё.




Я собирался использовать не массив, а айди ТРАНСПОРТА, т.к. все равно и в vID, и в vehicleid одинаково хранятся уникальные значения. Причем тут вообще ник?

Ладно, не суть. Как начнутся проблемы - поймёшь о чём я :)

Вопрос решён?

SteveStage
20.11.2019, 18:32
Решен, теперь все работает стабильно. Спасибо, удачи (ну и + естестсвенно)