Сообщение от
Daniel_Cortez
С чего вы решили, что краш происходит именно из-за sscanf2? Может быть, вы делали всё правильно, а причина краша была в чём-то другом?
Подключайте crashdetect и логи сюда, будем разбираться.
Именно по логам так и решил.
Код:
[12:43:57] [debug] Server crashed while executing Test.amx
[12:43:57] [debug] AMX backtrace:
[12:43:57] [debug] #0 native sscanf () from sscanf.DLL
[12:43:57] [debug] #1 00146af0 in public pc_cmd_mute (0, 5398472) from Test.amx
[12:43:57] [debug] Native backtrace:
[12:43:57] [debug] #0 00403334 in ?? () from samp-server.exe
[12:43:57] [debug] #1 004010b6 in ?? () from samp-server.exe
[12:43:57] [debug] #2 5eb7c6fa in ?? () from plugins\crashdetect.DLL
[12:43:57] [debug] #3 5eb82278 in ?? () from plugins\crashdetect.DLL
[12:43:57] [debug] #4 5eb7a0d7 in ?? () from plugins\crashdetect.DLL
[12:43:57] [debug] #5 5eb7c74a in ?? () from plugins\crashdetect.DLL
[12:43:57] [debug] #6 6d5a4509 in ?? () from plugins\streamer.DLL
[12:43:57] [debug] #7 538a4276 in ?? () from plugins\PawnCMD.DLL
[12:43:57] [debug] #8 538a3fce in ?? () from plugins\PawnCMD.DLL
[12:43:57] [debug] #9 00492a21 in ?? () from samp-server.exe
[12:43:57] [debug] #10 00452270 in ?? () from samp-server.exe
[12:43:57] [debug] #11 0049eef9 in ?? () from samp-server.exe
[12:43:57] [debug] #12 004aa31e in ?? () from samp-server.exe
PHP код:
CMD:mute(playerid, params[])
{
if(sscanf(params, "uD(5)S(Не указано)[32]", params[0], params[1], params[2]))
return SendClientMessage(playerid, -1, "Введите: /mute [playerid] {минуты} {причина}");
if(IsPlayerConnected(params[0]) == 0)
return SendClientMessage(playerid, COLOR_GREY, "Игрок не в сети / не авторизован");
if(PlayerInfo[params[0]][Mute] > 0)
{
PlayerInfo[params[0]][Mute] = 0;
SendMesAll(-1, COLOR_LIGHTRED, "Администратор %s снял бан чата у игрока %s", PlayerInfo[playerid][Name], PlayerInfo[params[0]][Name]);
return 1;
}
PlayerInfo[params[0]][Mute] = params[1] * 60;
SendMesAll(-1, COLOR_LIGHTRED, "Администратор %s выдал бан чата %s. Причина: %s", PlayerInfo[playerid][Name], PlayerInfo[params[0]][Name], params[2]);
SendMes(params[0], COLOR_LIGHTRED, "Вам дали бан чата на %d минут", params[1]);
return 1;
}