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;
}
