Wysłany: 2022-05-03, 19:33
TenTypMess
Wiek: 27 Na forum: 1397 dni Posty: 16
Piwa : 48
[debug] Run time error 4: "Array index out of bounds"
B??d z tematu, linijka z crashdetectu:
Kod: textDrawSetString(StartGameDraw[1], "~p~%s ~w~~h~- Aby sie zapisac wpisz ~y~%s", gameFunName[StartGameID-GAME_FUN_MIN], gameFunCommands[StartGameID-GAME_FUN_MIN]);
w czym jest problem?
Wysłany: 2022-05-03, 19:43
rufijok
Wiek: 24 Na forum: 2700 dni Posty: 55
Nick w MP: [STK]Slasher
Piwa : 211
korzystasz z indexu tablicy ktory nie istnieje
zalozmy ze masz tablice na 5 indexow, blad wyskoczy gdy uzyjesz indexu powyzej 4 lub ponizej 0
Wysłany: 2022-05-03, 19:55
TenTypMess
Wiek: 27 Na forum: 1397 dni Posty: 16
Piwa : 48
tylko ?e dalej nie wiem gdzie pies jest pogrzebany i co zmieni?, dalsza cz??? kodu
Kod: for(new gameid = GAME_FUN_MIN; gameid != GAME_FUN_MAX + 1; gameid++)
{
if(GameCount[gameid][GAME_COUNT_START] > 0)
{
if(StartGameID == -1) StartGameID = gameid;
GameCount[gameid][GAME_COUNT_START] --;
if(GameCount[gameid][GAME_COUNT_START] <= 0) startGame(gameid);
}
if(GameTrwa[gameid]) gameUpdate(gameid);
}
if(StartGameID != -1)
{
if(GameCount[StartGameID][GAME_COUNT_START] <= 0)
{
StartGameID = -1;
TextDrawHideForAll(StartGameDraw[0]);
TextDrawHideForAll(StartGameDraw[1]);
}
textDrawSetString(StartGameDraw[1], "~p~%s ~w~~h~- Aby sie zapisac wpisz ~y~%s", gameFunName[StartGameID-GAME_FUN_MIN], gameFunCommands[StartGameID-GAME_FUN_MIN]);
if(StartGameID != -1)
{
textDrawSetString(StartGameDraw[0], "~r~~h~Pozostalo ~w~~h~%d sekund~n~~g~~h~Zapisanych osob: ~r~~h~%d", GameCount[StartGameID][GAME_COUNT_START], Iter_Count(Game[StartGameID]));
TextDrawShowForAll(StartGameDraw[0]);
TextDrawShowForAll(StartGameDraw[1]);
}
}
#define MAX_GAMES 17
#define MAX_GAME_ZONE 4
#define MAX_WS_CP 130
#define GAME_ARENA 0
#define GAME_EVENT 1
#define GAME_OX 2
#define GAME_SPARING 3
#define GAME_PRACA 4
#define GAME_BR 5
#define GAME_SK 6
#define GAME_SM 7
#define GAME_DR 8
#define GAME_CH 9
#define GAME_WG 10
#define GAME_OS 11
#define GAME_ST 12
#define GAME_CM 13
#define GAME_ZP 14
#define GAME_LR 15
#define GAME_WS 16
new gameFunCommands[][] = {"/br", "/sk", "/sm", "/dr", "/ch", "/wg", "/os", "/st", "/cm", "/zp", "/lr", "/ws"},
gameFunName[][] = {"Berek", "Sianko", "Sumo", "Derby", "Chowany", "Wojna Gangow", "OneShoot", "Strzelnica", "ColorMatch", "Zabij Potwora", "Taniec LowRiderow", "Wyscigi"},
gameFun_settings;
#define GAME_FUN_MIN GAME_BR // Pierwsze ID zabawy
#define GAME_FUN_MAX GAME_WS // Ostatnie ID zabawy
#define GAME_COUNT_START 0
#define GAME_COUNT_END 1
#define GAME_COUNT_OTHER 2
#define MIN_PEOPLE_OX 2
#define MIN_PEOPLE_EVENT 1
#define MIN_BR 8
#define MIN_SK 2
#define MIN_SM 2
#define MIN_DR 3
#define MIN_CH 5
#define MIN_WG 4
#define MIN_OS 3
#define MIN_ST 2
#define MIN_CM 4
#define MIN_ZP 4
#define MIN_LR 3
#define MIN_WS 2
#define MAX_DR 75
#define MAX_SM 15
#define MAX_WS 20
#define SK_HEIGHT 97.0 // wysokosc sianka
#define SM_HEIGHT 23.0 // wysokosc sumo
#define DR_HEIGHT 400.0 // wysokosc derby
#define CM_HEIGHT 95.0 // wysokosc colormatch
// games system
Wysłany: 2022-05-03, 20:15
rufijok
Wiek: 24 Na forum: 2700 dni Posty: 55
Nick w MP: [STK]Slasher
Piwa : 211
daj ca?y log b??du, bo jedn? linijk? ni?ej prawdopodobnie b?dzie info kt?ry index pr?bujesz wybra?, ponadto dla testu dodaj nad problematyczn? linijk? Kod: printf("debug: %d", (StartGameID - GAME_FUN_MIN));
Wysłany: 2022-05-03, 20:30
TenTypMess
Wiek: 27 Na forum: 1397 dni Posty: 16
Piwa : 48
[10] [debug] Run time error 4: "Array index out of bounds"
[10] [debug] AMX backtrace:
[10] [debug] #0 000739ec in public RunFiveSecond () at C:\Users\wrq\Desktop\ps24\gamemodes\PS24byLagowy.pwn:6122
20:41:02] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: 0
[20:41] debug: -6
Wysłany: 2022-05-03, 21:37
rufijok
Wiek: 24 Na forum: 2700 dni Posty: 55
Nick w MP: [STK]Slasher
Piwa : 211
nie wiem co to StartGameID ale z tego jasno wynika ze problematyczny przypadek jest spowodowany tym, ze StartGameID - GAME_FUN_MIN = -6 , co oznacza ze powyzszy kod probuje wyciagnac wartosc z ujemnego indeksu, a to nie jest mozliwe
Wysłany: 2022-05-04, 18:38
TenTypMess
Wiek: 27 Na forum: 1397 dni Posty: 16
Piwa : 48
"rufijok" napisał/a :nie wiem co to StartGameID ale z tego jasno wynika ze problematyczny przypadek jest spowodowany tym, ze StartGameID - GAME_FUN_MIN = -6 , co oznacza ze powyzszy kod probuje wyciagnac wartosc z ujemnego indeksu, a to nie jest mozliwe
w tablicach globalnych Kod:
Kod: for(new gameid = GAME_FUN_MIN; gameid != GAME_FUN_MAX + 1; gameid++)
{
if(GameCount[gameid][GAME_COUNT_START] > 0)
{
if(StartGameID == -1) StartGameID = gameid;
GameCount[gameid][GAME_COUNT_START] --;
if(GameCount[gameid][GAME_COUNT_START] <= 0) startGame(gameid);
}
if(GameTrwa[gameid]) gameUpdate(gameid);
}
if(StartGameID != -1)
{
if(GameCount[StartGameID][GAME_COUNT_START] <= 0)
{
StartGameID = -1;
TextDrawHideForAll(StartGameDraw[0]);
TextDrawHideForAll(StartGameDraw[1]);
}
printf("debug: %d", (StartGameID - GAME_FUN_MIN));
textDrawSetString(StartGameDraw[1], "~p~%s ~w~~h~- Aby sie zapisac wpisz ~y~%s", gameFunName[StartGameID-GAME_FUN_MIN], gameFunCommands[StartGameID-GAME_FUN_MIN]);
if(StartGameID != -1)
{
textDrawSetString(StartGameDraw[0], "~r~~h~Pozostalo ~w~~h~%d sekund~n~~g~~h~Zapisanych osob: ~r~~h~%d", GameCount[StartGameID][GAME_COUNT_START], Iter_Count(Game[StartGameID]));
TextDrawShowForAll(StartGameDraw[0]);
TextDrawShowForAll(StartGameDraw[1]);
}
}
tutaj jest wymienione kliku krotnie
Wysłany: 2022-05-04, 18:51
rufijok
Wiek: 24 Na forum: 2700 dni Posty: 55
Nick w MP: [STK]Slasher
Piwa : 211
sprobuj wsadzic
Kod: textDrawSetString(StartGameDraw[1], "~p~%s ~w~~h~- Aby sie zapisac wpisz ~y~%s", gameFunName[StartGameID - GAME_FUN_MIN], gameFunCommands[StartGameID - GAME_FUN_MIN]);
2 linijki nizej, bezposrednio pod
Kod:
na moje oko powinno banglac
Więcej szczegółów
Wystawiono 1 piw(a):TenTypMess
Wysłany: 2022-05-04, 21:59
TenTypMess
Wiek: 27 Na forum: 1397 dni Posty: 16
Piwa : 48
Fakt faktem debugu ju? nie ma, ale jest kolejny problem kt?ry polega na tym ?e gdy odpala si? skrypt na automatyczny start zapisu na eventy, wszystko jest dobrze do momentu kiedy zapis odpali 3 raz po kt?rym procesor serwera osi?ga 100% i nast?puje restart, wystartuje zapis na dwie pierwsze eventy jest ok, dochodzi do trzeciego i jest problem, dodaj?c printy dochodzi wszystko do tego stocka
Kod: stock startCountGame(gameID)
{
print("uruchamia2");
if(GameTrwa[gameID]) return;
GameCount[gameID][GAME_COUNT_START] = 20;
SCMToAll(0xce9c88ff, "Za {6f4b4a}20{ce9c88} sekund wystartuje {7e7dd3}%s", gameFunCommands[gameID-GAME_FUN_MIN]);
print("uruchamia3");
}
po czym powinien uruchamia? si? zapis z g?ry w kt?rym by? debug, pokazuj?cy textdraw lecz tego nie ma
Wysłany: 2022-05-04, 22:47
rufijok
Wiek: 24 Na forum: 2700 dni Posty: 55
Nick w MP: [STK]Slasher
Piwa : 211
te return;
zmien na return 1;
ponadto zarzuc cos z konsoli i daj wiecej info bo poki co nie wiadomo o co tak naprawde biega
Wysłany: 2022-05-05, 19:24
TenTypMess
Wiek: 27 Na forum: 1397 dni Posty: 16
Piwa : 48
da?em i wywala warring
Kod: Warning: Minimum time between new connections (3000) exceeded for 5.173.24.176:19449. Ignoring the request.
s? b??dy na pocz?tku serwera nie wiem czym spowodowane bo includy najnowsze, chcia?em zacz?? od mniejszych bug?w ale mo?e ma to zwi?zek
Kod: [22:08] [debug] Run time error 5: "Invalid memory access"
[22:08] [debug] AMX backtrace:
[22:08] [debug] #0 00030f04 in Malloc_Free (Alloc:slot=5914952) at C:\Users\wrq\Desktop\ps24\pawno\include\YSI\..\YSI_Coding\y_malloc/funcs.inc:775
[22:08] [debug] #1 00053d4c in public InlineTimersHandler (repeat=0, address=5914952, pointer=3530832, offset=16, data1=1, data2=0, Alloc:mem=1391253) at C:\Users\wrq\Desktop\ps24\pawno\include\inline_timers.inc:27
[22:18] [debug] Run time error 5: "Invalid memory access"
[22:18] [debug] AMX backtrace:
[22:18] [debug] #0 00030f04 in Malloc_Free (Alloc:slot=5914984) at C:\Users\wrq\Desktop\ps24\pawno\include\YSI\..\YSI_Coding\y_malloc/funcs.inc:775
[22:18] [debug] #1 00053d4c in public InlineTimersHandler (repeat=0, address=5914984, pointer=3530832, offset=16, data1=1, data2=0, Alloc:mem=1391261) at C:\Users\wrq\Desktop\ps24\pawno\include\inline_timers.inc:27
Wysłany: 2022-05-05, 21:26
rufijok
Wiek: 24 Na forum: 2700 dni Posty: 55
Nick w MP: [STK]Slasher
Piwa : 211
ta pierwsza informacja oznacza ?e za szybko pr?bowa?e? si? ty (lub tw?j gracz?) po??czy? z serwerem, og??em proponuj? doda? ci do server.cfg
Kod:
na samym dole lub podmieni? warto?? je?li ju? posiadasz tak? linijk?.
co do drugiego logu oznacza on pr?b? dostania si? przez serwer sampa do miejsca w pami?ci kt?re nie jest jej przydzielone, aczkolwiek nie wiem jak to wygl?da w przypadku tego YSI bo sam korzystam wybi?rczo, btw watpie zeby to powodowalo te wywalanie serwera przy trzeciej gierce.
najlepiej jak dasz calego stocka ktory wywoluje startCountGame i jakies logi zwiazane z tymi utworzonymi przez ciebie printami (w tym wlasnie startCountGame i ewentualnie tym stocku ktory go wywoluje) bo skoro ten startCountGame wywoluje sie 2 razy a za 3 zabija proces serwera to cos jest nie tak chyba wyzej, ewentualnie w samej logice rozwiazania
Wysłany: 2022-05-05, 22:02
TenTypMess
Wiek: 27 Na forum: 1397 dni Posty: 16
Piwa : 48
Usuwam wszystko co tu wstawi?em bo po aktualizacji crashdetecta problem okaza? si? ca?kiem inny ni? si? wydawa?o.
Kod: [15] [debug] Long callback execution detected (hang or performance issue)
[15] [debug] AMX backtrace:
[15] [debug] #0 0038d5fc in mix_string (string[]=@015e3f38 "", max_swap=0) at C:\Users\wrq\Desktop\ps24\gamemodes\PS24byLagowy.pwn:34521
[15] [debug] #1 00114270 in () at C:\Users\wrq\Desktop\ps24\gamemodes\PS24byLagowy.pwn:17762
[15] [debug] #2 00114004 in (22691844) at C:\Users\wrq\Desktop\ps24\gamemodes\PS24byLagowy.pwn:17752
[15] [debug] #3 000652d4 in public __MysqlInlineProcessCallback (params_format[]=@015a4018 "", cb_data[E_CALLBACK_DATA]=@015a4004, cb_data_size=5) at C:\Users\wrq\Desktop\ps24\pawno\include\a_mysql_yinline.inc:666
odpowiedzialna cz??? kodu
Kod: case 6:
/*{
ServerData[minigame_buffer][0] = EOS;
inline LoadRozsypanka()
{
new slowo[30];
ServerData[minigame_buffer][0] = EOS;
cache_get_value(0, "wyraz", ServerData[minigame_buffer], 50);
slowo[0] = toupper(slowo[0]);
format(slowo, strlen(ServerData[minigame_buffer]) + 1, ServerData[minigame_buffer]);
while(!strcmp(slowo, ServerData[minigame_buffer])) mix_string(slowo, strlen(slowo) / 2);
textDrawSetString(MiniGameDraw[1], "ROZSYPANKA:~n~~w~~h~%s~n~~w~~h~Nagroda: ~r~~h~%d exp + %d$!", slowo, ServerData[minigame_exp], ServerData[minigame_money]);
minigame_loop(i) TextDrawShowForAll(MiniGameDraw[i]);
SCMToAll(-1, "[ROZSYPANKA] "YELLOW"Kto pierwszy u?o?y s?owo z "LIGHTRED"\"%s\" "LIGHTBLUE"Zgarnia %d$ "YELLOW"+ "LIGHTRED"%d "ORANGE"exp", slowo, ServerData[minigame_money], ServerData[minigame_exp]);
return 1;
}
m_pquery_inline("select wyraz from rozsypanka order by rand() asc limit 1;", using inline LoadRozsypanka);
return 1;
}*/
temat rozwi?zany, brak wyraz?w w mysql powodowa? crashe, dzi?kuje i pozdrawiam
Tagi: array :: index :: out :: bounds
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: