Question

Спойлер

[10:17:20] Игрок Sam_Batonovich только что использовал команду "/setadmin"
[10:17:26] Игрок Sam_Batonovich только что использовал команду "/setadmin Aleksey_Gromov 5"
[10:17:26] [debug] Server crashed while executing ERP.amx
[10:17:26] [debug] AMX backtrace:
[10:17:26] [debug] #0 native fputchar () from samp03svr-cr
[10:17:26] [debug] #1 00198548 in SendLog (namelog[]=@00b3e124 "SetAdmin", string[]=@00f4f170 "Sam_Batonovich ") at D:\ExcitingProject\ExcitingRP\gamemodes\ERP.pwn:26723
[10:17:26] [debug] #2 00876314 in public SetAdmin (playerid=0, name[]=@00b4f594 "Aleksey_Gromov", level=5) at D:\ExcitingProject\ExcitingRP\gamemodes\ERP.pwn:47033
[10:17:26] [debug] Native backtrace:
[10:17:26] [debug] #0 f741ae8b in _ZN10StackTraceC1EPv () from plugins/crashdetect.so
[10:17:26] [debug] #1 f7413bcf in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so
[10:17:26] [debug] #2 f7414dbc in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
[10:17:26] [debug] #3 f7415226 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
[10:17:26] [debug] #4 f741aadc in ?? () from plugins/crashdetect.so
[10:17:26] [debug] #5 f7775420 in __kernel_rt_sigreturn () from linux-gate.so.1
[10:17:26] [debug] #6 f74a884a in fputc () from /lib32/libc.so.6
[10:17:26] [debug] #7 0804f822 in ?? () from ./samp03svr-cr
[10:17:26] [debug] #8 080503e4 in ?? () from ./samp03svr-cr
[10:17:26] [debug] #9 f741694b in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
[10:17:26] [debug] #10 f74198f8 in ?? () from plugins/crashdetect.so
[10:17:26] [debug] #11 f741d916 in amx_Exec () from plugins/crashdetect.so
[10:17:26] [debug] #12 f7415be6 in _ZN11CrashDetect9DoAmxExecEPii () from plugins/crashdetect.so
[10:17:26] [debug] #13 f7419659 in ?? () from plugins/crashdetect.so
[10:17:26] [debug] #14 f6225d36 in ?? () from plugins/streamer.so
[10:17:26] [debug] #15 f70c0f21 in amx_Exec () from plugins/mysql_static.so
[10:17:26] [debug] #16 f709a1ed in _ZN9CCallback16ProcessCallbacksEv () from plugins/mysql_static.so
[10:17:26] [debug] #17 f70c1ed2 in ProcessTick () from plugins/mysql_static.so
[10:17:26] [debug] #18 080a18c2 in ?? () from ./samp03svr-cr
[10:17:26] [debug] #19 0807d9cc in ?? () from ./samp03svr-cr
[10:17:26] [debug] #20 08077c23 in ?? () from ./samp03svr-cr
[10:17:26] [debug] #21 f7457a63 in __libc_start_main () from /lib32/libc.so.6
 

Из логи отзывают две строки из мода:
 

Спойлер

stock SendLog(namelog[],string[])
{
    new hour, minn, sec, year, month, day, text[256], log[50], File:LogFile, i;
    gettime(hour, minn, sec);
    getdate(year, month, day);
    format(text, sizeof(text), "[%02d.%02d.%02d|%02d:%02d:%02d]%s\r\n", year, month, day, hour, minn, sec, string);
    format(log,sizeof(log),"[Logs]/%s.log", namelog);
    LogFile = fopen(log, io_append);
    while (text != EOS)
    {
        fputchar(LogFile, text, false); // Вот эта строка (26723)
        i++;
    }
    fclose(LogFile);
}
 

Спойлер

forward SetAdmin(playerid, name[], level);
public SetAdmin(playerid, name[], level)
{
    new rows, fields, string[256];
    cache_get_data(rows, fields);
    if(rows)
    {
        if(!level)
        {
            if(GetPlayerID(name) != INVALID_PLAYER_ID) PI[GetPlayerID(name)][pAdmin] = 0;
            mysql_format(dbHandle, string, sizeof(string), "DELETE FROM "T_ADMIN" WHERE `name`='%s'", name);
            mysql_tquery(dbHandle, string, "", "");
            mysql_format(dbHandle, string, sizeof(string), "UPDATE "T_ACCOUNTS" SET `admin` = '0' WHERE `name` = '%s'", name);
            mysql_tquery(dbHandle, string, "", "");
            format(string, sizeof(string), "Вы сняли %s с должности администратора", name);
            SendClientMessage(playerid, COLOR_LIME, string);
            format(string, sizeof(string), "%s снял %s с должности администратора", GetName(playerid), name);
            SendLog("DeleteAdmin", string);
        }
        else
        {
            if(GetPlayerID(name) != INVALID_PLAYER_ID) PI[GetPlayerID(name)][pAdmin] = level;
            mysql_format(dbHandle, string, sizeof(string), "UPDATE "T_ADMIN" SET `level` = '%d' WHERE `name` = '%s' LIMIT 1", level, name);
            mysql_tquery(dbHandle, string, "", "");
            format(string, sizeof(string), "Вы установили уровень администратора %s на %i", name, level);
            SendClientMessage(playerid, COLOR_LIME, string);
            format(string, sizeof(string), "%s установил уровень администратора %s на %i", GetName(playerid), name, level);
            SendLog("EditAdmin", string);
        }
    }
    else
    {
        if(!level) return SendClientMessage(playerid, COLOR_GREY, "Игрок не администратор");
        new data[15];
        getdate(years, months, days);
        format(data, sizeof(data), "%02d.%02d.%04d", days, months, years);
        mysql_format(dbHandle, string, sizeof(string), "INSERT INTO "T_ADMIN" (`name`, `level`, `last_connect`, `put_admin`, `data`) VALUES ('%s', %d, '%s', '%s', '%s')", name, level, data, GetName(playerid), data);
        mysql_tquery(dbHandle, string, "", "");
        format(string, sizeof(string), "[A] Руководитель %s [%d] назначил %s администратором (%i уровень)", GetName(playerid), playerid, name, level);
        SendAdminMessage(COLOR_GREY, string);
        format(string, sizeof(string), "%s добавлен в список администрации. Уровень полномочий %i", name, level);
        SendClientMessage(playerid, COLOR_ORANGE, string);
        format(string, sizeof(string), "%s добавил в список администрации %s (%i уровень)", GetName(playerid), name, level);
        SendLog("SetAdmin", string);
        if(GetPlayerID(name) != INVALID_PLAYER_ID) // Вот эта строка
        {
            format(string, sizeof(string), "%s %s назначил Вас администратором, перезайдите", GetAdminRang(playerid), GetName(playerid));
            SendClientMessage(GetPlayerID(name), COLOR_WHITE, string);
        }
    }
    return 1;
}

Раньше такого не было, однако если и не использовать эту команду может тоже упасть.

Share this post


Link to post
Share on other sites

1 answer to this question

  • 0

Код прикрепите через специальный тег "Код", т.к. форум некоторые символы вырезает. 
Как это сделать описано тут.


 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Dexter Nomad
      By Dexter Nomad
      При попытке компиляции кода возникает ошибка:
      error 076: syntax error in the expression, or invalid function call
      Не могу найти причину, буду благодарен, если не только укажете, где сама ошибка, но еще и исправите ее.
      Сам код:
          if(strcmp(cmd, "/carsharing", true) == 0)     {         if(IsPlayerConnected(playerid))         {             if(PlayerInfo[playerid][CarLic] == 0) return SCM(playerid, COLOR_RED, "У вас нет вод.прав! Вы можете получить их в автошколе!");         }     }  
    • Sanya_Greison
      By Sanya_Greison
      Куплю РП мод под сервер без бонуса. Бюджет до 150 $
      А также скриптера с Украины
      мой вк vk.com/i_am_sashko