Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2022-05-03, 19:33


TenTypMess







Wiek: 27
Na forum: 1397 dni
Posty: 16

Piwa: 48

Respekt: 50


[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?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-03, 19:43


rufijok







Wiek: 24
Na forum: 2700 dni
Posty: 55
Nick w MP: [STK]Slasher

Piwa: 211

Respekt: 75,3


korzystasz z indexu tablicy ktory nie istnieje
zalozmy ze masz tablice na 5 indexow, blad wyskoczy gdy uzyjesz indexu powyzej 4 lub ponizej 0

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-03, 19:55


TenTypMess







Wiek: 27
Na forum: 1397 dni
Posty: 16

Piwa: 48

Respekt: 50


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


Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-03, 20:15


rufijok







Wiek: 24
Na forum: 2700 dni
Posty: 55
Nick w MP: [STK]Slasher

Piwa: 211

Respekt: 75,3


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


Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-03, 20:30


TenTypMess







Wiek: 27
Na forum: 1397 dni
Posty: 16

Piwa: 48

Respekt: 50


[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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-03, 21:37


rufijok







Wiek: 24
Na forum: 2700 dni
Posty: 55
Nick w MP: [STK]Slasher

Piwa: 211

Respekt: 75,3


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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-04, 18:38


TenTypMess







Wiek: 27
Na forum: 1397 dni
Posty: 16

Piwa: 48

Respekt: 50


"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:

StartGameID = -1,


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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-04, 18:51


rufijok







Wiek: 24
Na forum: 2700 dni
Posty: 55
Nick w MP: [STK]Slasher

Piwa: 211

Respekt: 75,3


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:

if (StartGameID != -1) {

na moje oko powinno banglac

Postaw piwo autorowi tego posta
 

 
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

Respekt: 50


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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-04, 22:47


rufijok







Wiek: 24
Na forum: 2700 dni
Posty: 55
Nick w MP: [STK]Slasher

Piwa: 211

Respekt: 75,3


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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-05, 19:24


TenTypMess







Wiek: 27
Na forum: 1397 dni
Posty: 16

Piwa: 48

Respekt: 50


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


Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-05, 21:26


rufijok







Wiek: 24
Na forum: 2700 dni
Posty: 55
Nick w MP: [STK]Slasher

Piwa: 211

Respekt: 75,3


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:

ackslimit 5500

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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-05-05, 22:02


TenTypMess







Wiek: 27
Na forum: 1397 dni
Posty: 16

Piwa: 48

Respekt: 50


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

Postaw piwo autorowi tego posta
 

 
Tagi: array :: index :: out :: bounds
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:








Wyświetl posty z ostatnich:   

Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku

Skocz do: