• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Крашит сервер.

Nikit[A]

Ученик
Есть команда database, по которой можно узнать инфу о транспорте либо игроке.
Крашит не сразу, т.е если просто введешь кмд, ниче не будет, а если там уже ввести ник игрока, начнется поиск, напишет мол поиск завершен и серв крашит.

Ошибки после этого в сервер логе:
Код:
[01:10:04] [debug] Server crashed while executing empire.amx
[01:10:04] [debug] AMX backtrace:
[01:10:04] [debug] #0 native mysql_format () from mysql.so
[01:10:04] [debug] #1 000992c4 in public Database_Search (playerid=0, name[]=@00ca2da8 "Nikit[A]") at D:\[SAMP] Игровые моды на сервер SAMP\Original - Empire Role Play\Старые версии мода\Empire, version 8 (original)\empire.pwn:9563
[01:10:04] [debug] Native backtrace:
[01:10:04] [debug] #0 f7bc0e8b in _ZN10StackTraceC1EPv () from plugins/crashdetect.so
[01:10:04] [debug] #1 f7bb9bcf in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so
[01:10:04] [debug] #2 f7bbadbc in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
[01:10:04] [debug] #3 f7bbb226 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
[01:10:04] [debug] #4 f7bc0adc in ?? () from plugins/crashdetect.so
[01:10:04] [debug] #5 f7f15bf0 in __kernel_rt_sigreturn () from linux-gate.so.1
[01:10:04] [debug] #6 080988f1 in ?? () from ./samp03svr
[01:10:04] [debug] #7 f782f068 in ?? () from plugins/mysql.so
[01:10:04] [debug] #8 f7863fa4 in ?? () from plugins/mysql.so
[01:10:04] [debug] #9 080950e4 in ?? () from ./samp03svr
[01:10:04] [debug] #10 f7bbc94b in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so
[01:10:04] [debug] #11 f7bbf8f8 in ?? () from plugins/crashdetect.so
[01:10:04] [debug] #12 f7bc3916 in amx_Exec () from plugins/crashdetect.so
[01:10:04] [debug] #13 f7bbbbe6 in _ZN11CrashDetect9DoAmxExecEPii () from plugins/crashdetect.so
[01:10:04] [debug] #14 f7bbf659 in ?? () from plugins/crashdetect.so
[01:10:04] [debug] #15 f63b1826 in ?? () from plugins/streamer.so
[01:10:04] [debug] #16 080ebba5 in ?? () from ./samp03svr
[01:10:04] [debug] #17 080af03c in ?? () from ./samp03svr
[01:10:04] [debug] #18 080aa13a in ?? () from ./samp03svr
[01:10:04] [debug] #19 f7bfda63 in __libc_start_main () from /lib32/libc.so.6
Сама команда:
Код:
CMD:database(playerid,params[])
{
    if(!Players[playerid][pMember]) return NotAcces;
    if(!fraction[Players[playerid][pMember]][fCMDS][10]) return NotAcces;

    new
        bool:db_acces;

    if(IsPlayerInRangeOfPoint(playerid,10.0,395.1570,-1875.8397,2501.0859)) db_acces = true;
    if(GetPlayerState(playerid) == 2)
    {
        if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
        {
            new i = VehiclesCreate[GetPlayerVehicleID(playerid)];
            if(!strcmp(Vehicles[i][vOwner],"Fraction",true))
            {
                  if(Vehicles[i][vFrac] == 1) db_acces = true;
            }
        }
    }
    if(!db_acces) return Send(playerid,0xD26A56FF,""cOR"[Ошибка]"W" Вы должны находиться в детективном либо следственном отделе, или же в патрульном автомобиле.");

    for(new td; td < sizeof(DB); td++) TextDrawShowForPlayer(playerid, DB[td]);
    SelectTextDraw(playerid,0xEAECF0AA);
    SetPVarInt(playerid,"DB",true);

    Send(playerid,-1,""W"Чтобы выйти из базы данных, используйте: "cOR"\"ESC\"");
    MeAction(playerid,"зашел в базу данных.");
    return 1;
}
остальное (ввод ника/номера тс, поиск):
Код:
DialogResponse:dBASE_PEAPLE(playerid,response,listitem,inputtext[])
{
    if(!response) return 1;
    if(!strlen(inputtext) || strlen(inputtext) > MAX_PLAYER_NAME) return Dialog_Open(playerid, #dBASE_PEAPLE, DIALOG_STYLE_INPUT,
            !""CLSERV"DATABASE: "W"PLAYERS",
             !""W"Введите имя игрока, которого хотите найти:",
             !"Далее", !"Закрыть");

    Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,
            !""CLSERV"DATABASE: "W"PLAYERS",
             !""W"*** ПОДОЖДИТЕ... ИДЕТ ПОИСК В БАЗЕ ДАННЫХ... ЭТО МОЖЕТ ЗАНЯТЬ НЕСКОЛЬКО СЕКУНД...",
             !"_", !"");

    SetPVarInt(playerid,"Database_Search",_:SetTimerEx("Database_Search",random(10)*1000,false,"is",playerid,inputtext));
    SetPVarInt(playerid,"Search_Params",1);
    return 1;
}
DialogResponse:dBASE_CAR(playerid,response,listitem,inputtext[])
{
    if(!response) return 1;
    if(!strlen(inputtext) || strlen(inputtext) > MAX_PLAYER_NAME || isNumeric(inputtext)) return Dialog_Open(playerid, #dBASE_CAR, DIALOG_STYLE_INPUT,
            !""CLSERV"DATABASE: "W"CARS",
             !""W"Введите номер автомобиля(только цифры), которого хотите найти:",
             !"Далее", !"Закрыть");

    Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,
            !""CLSERV"DATABASE: "W"CARS",
             !""W"*** ПОДОЖДИТЕ... ИДЕТ ПОИСК В БАЗЕ ДАННЫХ... ЭТО МОЖЕТ ЗАНЯТЬ НЕСКОЛЬКО СЕКУНД...",
             !"_", !"");

    new empire_str[12];
    f(empire_str,"LS-%i-E",strval(inputtext));
    SetPVarInt(playerid,"Database_Search",_:SetTimerEx("Database_Search",random(10)*1000,false,"is",playerid,empire_str));
    SetPVarInt(playerid,"Search_Params",2);
    return 1;
}

publics: Database_Search(playerid,name[])
{
    if(GetPVarInt(playerid,"Search_Params") == 1)
    {
        Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,
                !""CLSERV"DATABASE: "W"PLAYERS",
                 !""W"*** ПОДОЖДИТЕ... ИДЕТ ПОИСК В БАЗЕ ДАННЫХ... ЭТО МОЖЕТ ЗАНЯТЬ НЕСКОЛЬКО СЕКУНД...\n\
                 * ПОИСК ЗАВЕРШЕН...",
                 !"_", !"");

        new mysql_text[86 + MAX_PLAYER_NAME];

        mysql_format(bc_mysql, mysql_text, sizeof(mysql_text), "SELECT * FROM `accounts` WHERE `Name` = '%s'", name);
        mysql_tquery(bc_mysql, mysql_text, "database_find","is", playerid,name);
    }
    else if(GetPVarInt(playerid,"Search_Params") == 2)
    {
        Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,
                !""CLSERV"DATABASE:: "W"CARS",
                 !""W"*** ПОДОЖДИТЕ... ИДЕТ ПОИСК В БАЗЕ ДАННЫХ... ЭТО МОЖЕТ ЗАНЯТЬ НЕСКОЛЬКО СЕКУНД...\n\
                 * ПОИСК ЗАВЕРШЕН...",
                 !"_", !"");

        new mysql_text[86 + MAX_PLAYER_NAME];

        mysql_format(bc_mysql, mysql_text, sizeof(mysql_text), "SELECT * FROM `vehicles` WHERE `Number` = '%s'", name);
        mysql_tquery(bc_mysql, mysql_text, "database_find","is", playerid,name);
    }
    return 1;
}
publics: database_find(playerid,name[])
{

    Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,
            !""CLSERV"DATABASE:",
             !""W"*** ПОДОЖДИТЕ... ИДЕТ ПОИСК В БАЗЕ ДАННЫХ... ЭТО МОЖЕТ ЗАНЯТЬ НЕСКОЛЬКО СЕКУНД...\n\
             * ПОИСК ЗАВЕРШЕН...\n\
             * ВЫВОД РЕЗУЛЬТАТА НА МОНИТОР...",
             !"_", !"");

    new rows;
    cache_get_row_count(rows);
    if(!rows)
    {
        Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,
        !""CLSERV"DATABASE:",
         !""W"*** ПОДОЖДИТЕ... ИДЕТ ПОИСК В БАЗЕ ДАННЫХ... ЭТО МОЖЕТ ЗАНЯТЬ НЕСКОЛЬКО СЕКУНД...\n\
             * ПОИСК ЗАВЕРШЕН...\n\
             * ВЫВОД РЕЗУЛЬТАТА НА МОНИТОР...\n\
         "cOR"! ПО ДАННОМУ ЗАПРОСУ НИЧЕГО НЕ НАЙДЕНО...",
         !"Закрыть", !"");
        return PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
    }
    new params[24],

        empire_str[340] = ""W"*** ПОДОЖДИТЕ... ИДЕТ ПОИСК В БАЗЕ ДАННЫХ... ЭТО МОЖЕТ ЗАНЯТЬ НЕСКОЛЬКО СЕКУНД...\n\
             * ПОИСК ЗАВЕРШЕН...\n\
             * ВЫВОД РЕЗУЛЬТАТА НА МОНИТОР...\n";

    if(GetPVarInt(playerid,"Search_Params") == 1)
    {
        cache_get_value_name(0, "Name", params);
        f(empire_str,"%s"W" ИМЯ:\t\t\t\t%s\n",empire_str,params);
        cache_get_value_name_int(0, "pLevel", params[0]);
        f(empire_str,"%s"W" ПРОЖИВАЕТ В РЕСПУБЛИКЕ:\t\t%i лет(год)\n",empire_str,params[0]);
        cache_get_value_name_int(0, "pHouse", params[0]);
        if(params[0] == -1) strcat(empire_str,!""W"ПРОПИСАН:\t\tНЕ ПРОПИСАН\n");
        else f(empire_str,"%s"W"ПРОПИСАН:\t\t\tВ ДОМЕ #%i\n",empire_str,params[0]);
        cache_get_value_name_int(0, "pNumber", params[0]);
        if(params[0] == 0) strcat(empire_str,!""W"НОМЕР ТЕЛЕФОНА:\t\tОТСУТСТВУЕТ\n");
        else f(empire_str,"%s"W"НОМЕР ТЕЛЕФОНА:\t\t#%i\n",empire_str,params[0]);
        cache_get_value_name_int(0, "pTicket", params[0]);
        if(params[0] == 0) strcat(empire_str,!""W"ШТРАФЫ:\t\tОТСУТСТВУЮТ\n");
        else f(empire_str,"%s"W"ШТРАФЫ:\t\t$%.2f\n",empire_str,float(params[0]));
        cache_get_value_name_int(0, "pWanted", params[0]);
        if(params[0] > 0) f(empire_str,"%s"cOR"В РОЗЫСКЕ [УРОВЕНЬ ОП-ТИ %i]\t\t",empire_str,params[0]);
        Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,!""CLSERV"DATABASE:"W" PLAYERS", empire_str,!"Закрыть","");
    }
    else if(GetPVarInt(playerid,"Search_Params") == 2)
    {
        cache_get_value_name(0, "Number", params);
        f(empire_str,"%s"W" ГОС. НОМЕРА:\t\t%s\n",empire_str,params);
        cache_get_value_name(0, "Owner", params);
        f(empire_str,"%s"W" ВЛАДЕЛЕЦ:\t\t%s\n",empire_str,params);
        Dialog_Open(playerid, #dNONE, DIALOG_STYLE_MSGBOX,!""CLSERV"DATABASE:"W" CARS", empire_str,!"Закрыть","");
    }
    PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);//lohs
    return 1;
}
 
Сверху Снизу