[m0d_sa | C++] Исходный код собейта SAMP 0.3x (КРАШФИКС!!!!)
_Wa3Rix_
Дата: Среда, 13.03.2013, 22:38 | Сообщение # 46
Бывалый
Сообщений: 330
Статус: Offline
В этом исходнике крашает с админ листом. В прошлом работал...
if ( set.hud_indicator_adm ) { int left=1; int count=0; int top = GetSystemMetrics(SM_CYSCREEN) / 2; char bufer[100]; const char *temp; const char *admin[150][50]; for(int null=0; null<150; null++)admin[null][50] = "NULL"; admin[0][50] = "Flazy_Fad"; admin[1][50] = "Donny_Hayes"; admin[2][50] = "Yann_Dobermann"; admin[3][50] = "El_Capone"; admin[4][50] = "Rishat_Samitov"; admin[5][50] = "Vlad_Pavlov"; admin[6][50] = "Solomon_Adamov"; admin[7][50] = "Andrey_Carrier"; admin[8][50] = "Kolyan_Serious"; admin[9][50] = "Salvatore_Giordano"; admin[10][50] = "Leonid_Rybakov"; admin[11][50] = "Fudo_Sakata"; admin[12][50] = "Denis_Fat"; admin[13][50] = "King_Purix"; admin[14][50] = "Vyacheslav_Ivankov"; admin[15][50] = "Bogdan_Koln"; admin[16][50] = "Valik_Derevyanko"; admin[17][50] = "Dron_Lebron"; admin[18][50] = "Neo_King"; admin[19][50] = "Tonny_Montano"; admin[20][50] = "Alejandro_Bravo"; admin[21][50] = "German_Andreichykov"; admin[22][50] = "Carmine_Ricci"; admin[23][50] = "Samuel_Johnson"; admin[24][50] = "Jeki_West"; admin[25][50] = "Karlos_Masserati"; admin[26][50] = "Jimmy_Green"; admin[27][50] = "Nikolaiy_Grigorev"; admin[28][50] = "Alexander_Davidov"; admin[29][50] = "Konstantin_Glotov"; admin[30][50] = "Dezmond_Wayne"; admin[31][50] = "Maxim_Lobanov"; admin[32][50] = "Vitaly_Kron"; admin[33][50] = "Vito_Geo"; admin[34][50] = "Halio_Boticheli"; admin[35][50] = "Phillip_Brooks"; admin[36][50] = "Carlos_Corroto"; admin[37][50] = "Ilya_Delonge"; admin[38][50] = "Victoria_Queen"; admin[39][50] = "Neo_Black"; admin[40][50] = "Set_Johnson"; admin[41][50] = "Maksim_Anufriev"; admin[42][50] = "Vladimir_Mamichev"; admin[43][50] = "Ken_Okamoto"; admin[44][50] = "Felix_Taylor"; admin[45][50] = "Aleksandr_Mur"; admin[46][50] = "Dante_Algery"; admin[47][50] = "Pavel_Korobov"; admin[48][50] = "Alex_Tsyplakov"; admin[49][50] = "Vitaliy_Salangin"; admin[50][50] = "Mark_Ricci"; admin[51][50] = "Evgenii_Leskov"; admin[52][50] = "Thomas_Wood"; admin[53][50] = "Alessandro_Armani"; admin[54][50] = "Alexey_Artemev"; admin[55][50] = "Anton_Blok"; admin[56][50] = "Cortez_Escobare"; admin[57][50] = "Kostya_Kiryushanov"; admin[58][50] = "Maxim_Gavrilin"; admin[59][50] = "Alex_Sucre"; admin[60][50] = "Albert_Robinson"; admin[61][50] = "Yan_Archibasov"; admin[62][50] = "Montaro_Murakami"; admin[63][50] = "Alexis_Sanchez"; admin[64][50] = "Andrey_Mora"; admin[65][50] = "Caprice_Romano"; admin[66][50] = "Jayson_Vuitton"; admin[67][50] = "Christian_Wood"; admin[68][50] = "Diana_Scott"; admin[69][50] = "Luigi_Marino"; admin[70][50] = "Roman_Laptev"; admin[71][50] = "Evgeniy_Khlebin"; admin[72][50] = "Volton_Bass"; admin[73][50] = "Maga_Man"; admin[74][50] = "Chon_Nike"; admin[75][50] = "Derek_Eaton"; admin[76][50] = "Gaspar_Henleys"; admin[77][50] = "Andrey_Dub"; admin[78][50] = "Dave_Canterbury"; admin[79][50] = "Alexandro_Rossi"; admin[80][50] = "Alek_Lester"; admin[81][50] = "Djon_Silver"; admin[82][50] = "Bow_Bowly"; admin[83][50] = "Denis_Sevens"; admin[84][50] = "Evgeniy_Naumov"; admin[85][50] = "Danil_Pushkarev"; admin[86][50] = "Alexander_Smit"; admin[87][50] = "Lucas_Torro"; admin[88][50] = "Fletz_Forbs"; admin[89][50] = "Skot_Adkins"; admin[90][50] = "Devid_Brown"; admin[91][50] = "Alex_Santi"; admin[92][50] = "Hideki_Asakura"; admin[93][50] = "Allesandro_Cazzola"; admin[94][50] = "Kaito_Osumi"; admin[95][50] = "Artem_Avakumov"; admin[96][50] = "Christopher_Nollan"; admin[97][50] = "Alex_Fareast"; admin[98][50] = "Wilfrid_Harrington"; admin[99][50] = "Maks_Sorokin"; admin[100][50] = "Dana_Scully"; pD3DFont->PrintShadow(left, top, D3DCOLOR_RGBA(10, 100, 150, 255), "Админы онлайн:"); float pos[3]; for(int i=0; i<SAMP_PLAYER_MAX; i++) { temp = getPlayerName(i); for(int ia=0; ia<150; ia++) { if(temp == NULL ||admin[ia][50] == "NULL")break; if(!strcmp(temp,admin[ia][50]) == 1) { count++; top += 20; if ( !getPlayerPos(i, pos) )sprintf(bufer, "[ID:%d] %s", i, temp); else sprintf(bufer, "[ID:%d] %s (Возле вас)", i, temp); pD3DFont->PrintShadow(left, top, D3DCOLOR_RGBA(10, 100, 150, 255), bufer); } } } if(count < 1)pD3DFont->PrintShadow(left, top+20, D3DCOLOR_RGBA(10, 100, 150, 255), "Админов нет"); }
Skype: Skype_.i._vladya
Голубь
Дата: Четверг, 14.03.2013, 09:55 | Сообщение # 47
Авторитет
Сообщений: 2137
Статус: Offline
у меня полный админ чекер, на mysql, выложу, лог не кидай под спойлер - я с psp
двач https://vk.com/povargek
_Wa3Rix_
Дата: Четверг, 14.03.2013, 15:09 | Сообщение # 48
Бывалый
Сообщений: 330
Статус: Offline
Голубь , кхм, мускул в собейте это уже интересно :3
Skype: Skype_.i._vladya
Голубь
Дата: Четверг, 14.03.2013, 15:25 | Сообщение # 49
Авторитет
Сообщений: 2137
Статус: Offline
у меня проверка на /alogin (не вошел в alogin, админа не пишет) , показ точного lvl админки (-1) на другом сервере от lvlа своего сервера Функции: int GetSampRpServer(void) Вовращает: Номер сервера, на котором находишся Тестовый сервер - вернет 88 Если сервер не самп рп - вернет 255 bool IsSampRp(void) Проверяет, самп рп ли сервер bool IsPlayerLogged(int playerid) Залогинился ли игрок int GetPlayerMember(int playerid) Вовращает ID фракции, бомж ганг - 0 bool IsNickUsed(char nick[24]) Занят ли ник
двач https://vk.com/povargek
Голубь
Дата: Четверг, 14.03.2013, 15:30 | Сообщение # 50
Авторитет
Сообщений: 2137
Статус: Offline
void NoReconPickupKickAC() Для вызова. Избегаем кик при заходе на пикап, старта /re, если наш перс админ, ничего не вовзращает.
двач https://vk.com/povargek
_Tupak_Amaru_Shakur_
Дата: Четверг, 14.03.2013, 15:34 | Сообщение # 51
Новичок
Сообщений: 24
Статус: Offline
Голубь , вот ты настоящий читак
_Wa3Rix_
Дата: Четверг, 14.03.2013, 21:52 | Сообщение # 52
Бывалый
Сообщений: 330
Статус: Offline
[19:50:55.927] Initializing mod_sa 4.4.3.3 by povargek [19:50:55.927] Compiled: Mar 14 2013 19:44:49 CL:1700 [19:50:55.927] OS: Windows Version 6.1537.7601 [19:50:55.928] Unknown setting 'show_admins' [19:50:55.928] Unknown setting 'show_time' [19:50:55.928] Unknown setting 'key_pizdarvanka' [19:50:55.928] Unknown setting 'key_gtakiller' [19:50:55.928] Unknown setting 'key_housecheker' [19:50:55.928] Unknown setting 'cord_time' [19:50:55.928] Unknown setting 'cord_vysota' [19:50:55.928] Unknown setting 'cord_distance' [19:50:55.928] Unknown setting 'meshok_speed' [19:50:55.928] Unknown setting 'antiafk_time' [19:50:55.928] Unknown setting 'disigne_hud_text0' [19:50:55.928] Unknown setting 'disigne_hud_text1' [19:50:55.928] Unknown setting 'disigne_hud_text2' [19:50:55.928] Unknown setting 'disigne_hud_text3' [19:50:55.928] Unknown setting 'disigne_hud_disable0' [19:50:55.928] Unknown setting 'disigne_hud_disable1' [19:50:55.928] Unknown setting 'disigne_hud_disable2' [19:50:55.928] Unknown setting 'disigne_hud_disable3' [19:50:55.928] Unknown setting 'disigne_hud_enamable0' [19:50:55.928] Unknown setting 'disigne_hud_enamable1' [19:50:55.928] Unknown setting 'disigne_hud_enamable2' [19:50:55.928] Unknown setting 'disigne_hud_enamable3' [19:50:55.928] Unknown setting 'disigne_menu_text0' [19:50:55.929] Unknown setting 'disigne_menu_text1' [19:50:55.929] Unknown setting 'disigne_menu_text2' [19:50:55.929] Unknown setting 'disigne_menu_link0' [19:50:55.929] Unknown setting 'disigne_menu_link1' [19:50:55.929] Unknown setting 'disigne_menu_link2' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.929] Unknown setting 'cord_teleport_name' [19:50:55.929] Unknown setting 'cord_teleport_pos' [19:50:55.931] Warning: setting 'show_dialog_id' was not present in the .ini file [19:50:55.931] Warning: setting 'log_showed_dialogs' was not present in the .ini file [19:50:55.931] SA:MP 0.3x R1 was detected. g_dwSAMP_Addr: 0x03F30000 [19:51:06.813] --------------------------------------------------------------------- [19:51:06.813] mod_sa 4.4.3.3 by povargek has crashed. [19:51:06.813] Base address: 0x06B60000, SA:MP base address: 0x03F30000 [19:51:06.813] Exception at address: 0x00000000, Last function processed: it_wasnt_us() [19:51:06.813] Cause: EXCEPTION_ACCESS_VIOLATION [19:51:06.813] Attempted to read from: 0x00000000 [19:51:06.813] EAX: 0x0000000d || ESI: 0x007f99b0 [19:51:06.813] EBX: 0x00000000 || EDI: 0x04cae1d8 [19:51:06.813] ECX: 0x06bdece8 || EBP: 0x776a80e0 [19:51:06.813] EDX: 0x06bdecf5 || ESP: 0x0022fd34 [19:51:06.813] --------------------------------------------------------------------- [19:51:12.459] Exited
Skype: Skype_.i._vladya
Голубь
Дата: Четверг, 14.03.2013, 22:13 | Сообщение # 53
Авторитет
Сообщений: 2137
Статус: Offline
при админ чекере?
двач https://vk.com/povargek
_Wa3Rix_
Дата: Четверг, 14.03.2013, 22:23 | Сообщение # 54
Бывалый
Сообщений: 330
Статус: Offline
Голубь , да Добавлено (14.03.2013, 22:23) --------------------------------------------- Код работал ранее, именений не вносил, просто скопировал с предедущего исходника. int left=1; int count=0; int top = GetSystemMetrics(SM_CYSCREEN) / 2; char bufer[100]; const char *admin[150][50]; for(int null=0; null<150; null++){admin[null][50] = NULL;} admin[0][50] = "Flazy_Fad"; admin[1][50] = "Donny_Hayes"; admin[2][50] = "Yann_Dobermann"; admin[3][50] = "El_Capone"; admin[4][50] = "Rishat_Samitov"; admin[5][50] = "Vlad_Pavlov"; admin[6][50] = "Solomon_Adamov"; admin[7][50] = "Andrey_Carrier"; admin[8][50] = "Kolyan_Serious"; admin[9][50] = "Salvatore_Giordano"; admin[10][50] = "Leonid_Rybakov"; admin[11][50] = "Fudo_Sakata"; admin[12][50] = "Denis_Fat"; admin[13][50] = "King_Purix"; admin[14][50] = "Vyacheslav_Ivankov"; admin[15][50] = "Bogdan_Koln"; admin[16][50] = "Valik_Derevyanko"; admin[17][50] = "Dron_Lebron"; admin[18][50] = "Neo_King"; admin[19][50] = "Tonny_Montano"; admin[20][50] = "Alejandro_Bravo"; admin[21][50] = "German_Andreichykov"; admin[22][50] = "Carmine_Ricci"; admin[23][50] = "Samuel_Johnson"; admin[24][50] = "Jeki_West"; admin[25][50] = "Karlos_Masserati"; admin[26][50] = "Jimmy_Green"; admin[27][50] = "Nikolaiy_Grigorev"; admin[28][50] = "Alexander_Davidov"; admin[29][50] = "Konstantin_Glotov"; admin[30][50] = "Dezmond_Wayne"; admin[31][50] = "Maxim_Lobanov"; admin[32][50] = "Vitaly_Kron"; admin[33][50] = "Vito_Geo"; admin[34][50] = "Halio_Boticheli"; admin[35][50] = "Phillip_Brooks"; admin[36][50] = "Carlos_Corroto"; admin[37][50] = "Ilya_Delonge"; admin[38][50] = "Victoria_Queen"; admin[39][50] = "Neo_Black"; admin[40][50] = "Set_Johnson"; admin[41][50] = "Maksim_Anufriev"; admin[42][50] = "Vladimir_Mamichev"; admin[43][50] = "Ken_Okamoto"; admin[44][50] = "Felix_Taylor"; admin[45][50] = "Aleksandr_Mur"; admin[46][50] = "Dante_Algery"; admin[47][50] = "Pavel_Korobov"; admin[48][50] = "Alex_Tsyplakov"; admin[49][50] = "Vitaliy_Salangin"; admin[50][50] = "Mark_Ricci"; admin[51][50] = "Evgenii_Leskov"; admin[52][50] = "Thomas_Wood"; admin[53][50] = "Alessandro_Armani"; admin[54][50] = "Alexey_Artemev"; admin[55][50] = "Anton_Blok"; admin[56][50] = "Cortez_Escobare"; admin[57][50] = "Kostya_Kiryushanov"; admin[58][50] = "Maxim_Gavrilin"; admin[59][50] = "Alex_Sucre"; admin[60][50] = "Albert_Robinson"; admin[61][50] = "Yan_Archibasov"; admin[62][50] = "Montaro_Murakami"; admin[63][50] = "Alexis_Sanchez"; admin[64][50] = "Andrey_Mora"; admin[65][50] = "Caprice_Romano"; admin[66][50] = "Jayson_Vuitton"; admin[67][50] = "Christian_Wood"; admin[68][50] = "Diana_Scott"; admin[69][50] = "Luigi_Marino"; admin[70][50] = "Roman_Laptev"; admin[71][50] = "Evgeniy_Khlebin"; admin[72][50] = "Volton_Bass"; admin[73][50] = "Maga_Man"; admin[74][50] = "Chon_Nike"; admin[75][50] = "Derek_Eaton"; admin[76][50] = "Gaspar_Henleys"; admin[77][50] = "Andrey_Dub"; admin[78][50] = "Dave_Canterbury"; admin[79][50] = "Alexandro_Rossi"; admin[80][50] = "Alek_Lester"; admin[81][50] = "Djon_Silver"; admin[82][50] = "Bow_Bowly"; admin[83][50] = "Denis_Sevens"; admin[84][50] = "Evgeniy_Naumov"; admin[85][50] = "Danil_Pushkarev"; admin[86][50] = "Alexander_Smit"; admin[87][50] = "Lucas_Torro"; admin[88][50] = "Fletz_Forbs"; admin[89][50] = "Skot_Adkins"; admin[90][50] = "Devid_Brown"; admin[91][50] = "Alex_Santi"; admin[92][50] = "Hideki_Asakura"; admin[93][50] = "Allesandro_Cazzola"; admin[94][50] = "Kaito_Osumi"; admin[95][50] = "Artem_Avakumov"; admin[96][50] = "Christopher_Nollan"; admin[97][50] = "Alex_Fareast"; admin[98][50] = "Wilfrid_Harrington"; admin[99][50] = "Maks_Sorokin"; admin[100][50] = "Dana_Scully"; pD3DFont->PrintShadow(left, top, D3DCOLOR_RGBA(10, 100, 150, 255), "Админы онлайн:"); float pos[3]; for(int i=0; i<SAMP_PLAYER_MAX; i++) { for(int ia=0; ia<150; ia++) { if(getPlayerName(i) == NULL ||admin[ia][50] == "NULL")break; if(!strcmp(getPlayerName(i),admin[ia][50]) == 1) { count++; top += 20; if ( !getPlayerPos(i, pos) )sprintf(bufer, "[ID:%d] %s", i, getPlayerName(i)); else sprintf(bufer, "[ID:%d] %s (Возле вас)", i, getPlayerName(i)); pD3DFont->PrintShadow(left, top, D3DCOLOR_RGBA(10, 100, 150, 255), bufer); } } } if(count < 1)pD3DFont->PrintShadow(left, top+20, D3DCOLOR_RGBA(10, 100, 150, 255), "Админов нет");
Skype: Skype_.i._vladya
Сообщение отредактировал _Wa3Rix_ - Четверг, 14.03.2013, 22:24
_Wa3Rix_
Дата: Четверг, 14.03.2013, 22:28 | Сообщение # 55
Бывалый
Сообщений: 330
Статус: Offline
Текст на экран выводит, но админ чекер крашит, почему непойму. Вот этот код работает норм time_t rawtime; char buff[100]; time ( &rawtime ); sprintf(buff, "%s", ctime (&rawtime)); int left = 1; int top = GetSystemMetrics(SM_CYSCREEN) / 2; top -= 20; pD3DFont->PrintShadow(left, top, D3DCOLOR_RGBA(10, 100, 150, 255), buff);
Skype: Skype_.i._vladya
Голубь
Дата: Четверг, 14.03.2013, 23:05 | Сообщение # 56
Авторитет
Сообщений: 2137
Статус: Offline
найди строку после которой идет краш при помощи traceLastFunc
двач https://vk.com/povargek
_Wa3Rix_
Дата: Четверг, 14.03.2013, 23:45 | Сообщение # 57
Бывалый
Сообщений: 330
Статус: Offline
[21:43:19.511] mod_sa 4.4.3.3 by povargek has crashed. [21:43:19.511] Base address: 0x06A80000, SA:MP base address: 0x03F60000 [21:43:19.511] Exception at address: 0x06AC48E4, Last function processed: if(getPlayerName(ID) == NULL ||admin[ia] == NULL) [21:43:19.511] Cause: EXCEPTION_ACCESS_VIOLATION [21:43:19.511] Attempted to read from: 0x00000000 [21:43:19.511] EAX: 0x14645948 || ESI: 0x00000001 [21:43:19.511] EBX: 0x00000000 || EDI: 0x0022d358 [21:43:19.511] ECX: 0x06afd245 || EBP: 0x00000065 [21:43:19.511] EDX: 0x00000000 || ESP: 0x00228394Добавлено (14.03.2013, 23:44) --------------------------------------------- for(int ia=0; ia<150; ia++) { if(getPlayerName(ID) == NULL ||admin[ia] == NULL){ return_status = 0; break; } traceLastFunc("if(getPlayerName(ID) == NULL ||admin[ia] == NULL)"); if(!strcmp(getPlayerName(ID),admin[ia][50]) == 1){ return_status = 1; break; } traceLastFunc("if(!strcmp(getPlayerName(ID),admin[ia][50]) == 1)"); }
Добавлено (14.03.2013, 23:45) --------------------------------------------- как-то так...
Skype: Skype_.i._vladya
Голубь
Дата: Пятница, 15.03.2013, 10:13 | Сообщение # 58
Авторитет
Сообщений: 2137
Статус: Offline
проверь работоспособность getPlayerName()
двач https://vk.com/povargek
Голубь
Дата: Пятница, 15.03.2013, 10:16 | Сообщение # 59
Авторитет
Сообщений: 2137
Статус: Offline
твой исходник был основан на бартеке, мой тоже, я переводил бартека 0.3e на 0.3x, что то не так сделал
двач https://vk.com/povargek
Голубь
Дата: Пятница, 15.03.2013, 10:18 | Сообщение # 60
Авторитет
Сообщений: 2137
Статус: Offline
ini.cpp не забыл?
двач https://vk.com/povargek