Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Risticc poslato Jul 31, 2020, 18:52:46 POSLE PODNE

Naslov: Pomoc hitno ??
Poruka od: Risticc poslato Jul 31, 2020, 18:52:46 POSLE PODNE
Problem(error/warning): Treba mi pomoc na ATH modu nakon nekog vremena pojavi mi se u logovima neke greske i kada udjem na server nemam tdova i ne radi pola stvari a pre nego sto se to desi radi sve kao bombona
Deo skripte: Nema deo al evo vam slika toga https://imgur.com/a/NMwDkrT
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [18:50:57] [debug] Run time error 4: "Array index out of bounds"
[18:50:57] [debug]  Accessing element at index 100 past array upper bound 99
[18:50:57] [debug] AMX backtrace:
[18:50:57] [debug] #0 00591714 in public LoadSports () at D:\Project X Slash\gamemodes\ATH.pwn:21719
[18:50:57] [debug] #1 0063e534 in LoadScriptfiles () at D:\Project X Slash\gamemodes\ATH.pwn:29527
[18:50:57] [debug] #2 00646b3c in public CB_OnGameModeInit () at D:\Project X Slash\gamemodes\ATH.pwn:30009
[18:50:57] [debug] #3 00020ed8 in public zcmd_OnGameModeInit () at D:\Project X Slash\pawno\include\newsamp.inc:444
[18:50:57] [debug] #4 native CallLocalFunction () from samp-server.exe
[18:50:57] [debug] #5 0001ed88 in ?? () at D:\Project X Slash\pawno\include\zcmd.inc:68
[18:50:57] [debug] #6 0000f104 in public ScriptInit_OnGameModeInit () at D:\Project X Slash\pawno\include\YSI\y_hooks/impl.inc:498
[18:50:57] [debug] #7 00008a38 in public SSCANF_OnGameModeInit () at D:\Project X Slash\pawno\include\YSI\internal\..\y_scriptinit.inc:171
[18:50:57] [debug] #8 00001ce0 in public od_OnGameModeInit () at D:\Project X Slash\pawno\include\sscanf2.inc:211
[18:50:57] [debug] #9 00001464 in public OnGameModeInit () at D:\Project X Slash\pawno\include\od_hooks.inc:42
Naslov: Odg: Pomoc hitno ??
Poruka od: Alhemičar poslato Jul 31, 2020, 18:54:47 POSLE PODNE
OBOE vrv

Proveri ove linije i vidi koje varijable su tu da imaju veličinu [100]

EDIT: https://en.wikipedia.org/wiki/Off-by-one_error
Naslov: Odg: Pomoc hitno ??
Poruka od: Risticc poslato Jul 31, 2020, 18:55:14 POSLE PODNE
Ne shvatam pojasni malo bolje sta da uradim
Naslov: Odg: Pomoc hitno ??
Poruka od: Alhemičar poslato Jul 31, 2020, 18:56:26 POSLE PODNE
Veličina tvog array-a je 100 (0-99) i neka operacija je pokušala da upiše podatak (vrednost) posle 99og slota (100og npr)
Naslov: Odg: Pomoc hitno ??
Poruka od: Risticc poslato Jul 31, 2020, 18:56:55 POSLE PODNE
A kako da promenim sad to ?
Naslov: Odg: Pomoc hitno ??
Poruka od: Alhemičar poslato Jul 31, 2020, 18:57:47 POSLE PODNE
Citat: slash dev poslato Jul 31, 2020, 18:56:55 POSLE PODNE
A kako da promenim sad to ?
Daj mi linije ove koje ti pokazuje

21719
29527
30009
Naslov: Odg: Pomoc hitno ??
Poruka od: Risticc poslato Jul 31, 2020, 19:00:23 POSLE PODNE
[pawn]supportInfo[ i ][ supportID ] = strval( arrCoords[ 0 ] );[/pawn] Linija 21719
[pawn]LoadVports( );[/pawn] Linija 29527
[pawn]LoadVehicles( );[/pawn] Linija 30009
Naslov: Odg: Pomoc hitno ??
Poruka od: Alhemičar poslato Jul 31, 2020, 19:01:22 POSLE PODNE
Aj daj malo više od 21719, malo iznad i dole da vidim šta je tačno (verovatno je [ i ] problem)
Naslov: Odg: Pomoc hitno ??
Poruka od: Risticc poslato Jul 31, 2020, 19:02:08 POSLE PODNE
[pawn]forward LoadSports( );
public LoadSports( ) {

   if( fexist( F_SPORT ) ) {
      new File:_h_handler = fopen( F_SPORT, io_read ), _l_str[256], i = 0;
        new arrCoords[ 6 ][ 64 ];
      while( fread( _h_handler, _l_str ) ) {
         split( _l_str, arrCoords, ',' );
         supportInfo[ i ][ supportID ] = strval( arrCoords[ 0 ] );
         supportInfo[ i ][ supportCreated ] = strval( arrCoords[ 1 ] );
            strmid( supportInfo[ i ][ supportName ], arrCoords[ 2 ], 0, strlen( arrCoords[ 2 ] ), 255);
            supportInfo[ i ][ supportPos ][ 0 ] = floatstr( arrCoords[ 3 ] );
            supportInfo[ i ][ supportPos ][ 1 ] = floatstr( arrCoords[ 4 ] );
            supportInfo[ i ][ supportPos ][ 2 ] = floatstr( arrCoords[ 5 ] );

         i++;
      }

      fclose(_h_handler);
   }

   return 1;
}[/pawn]
Naslov: Odg: Pomoc hitno ??
Poruka od: Alhemičar poslato Jul 31, 2020, 19:04:21 POSLE PODNE
Pošalji mi Anydesk ako možeš
Naslov: Odg: Pomoc hitno ??
Poruka od: Risticc poslato Jul 31, 2020, 19:04:44 POSLE PODNE
ae u priv cu da ti posaljem
Naslov: Odg: Pomoc hitno ??
Poruka od: nikola_knezev poslato Jul 31, 2020, 22:19:15 POSLE PODNE
u while loop provera: if(i >= MAX_SPORTS - 1) break;

MAX_SPORTS ti se moze ne zove tako pa mu ime nadji na pocetku skripte gde ti je inicijalizacija dela za te portove sta su vec..
Naslov: Odg: Pomoc hitno ??
Poruka od: Alhemičar poslato Jul 31, 2020, 23:53:55 POSLE PODNE
Citat: nikola_knezev poslato Jul 31, 2020, 22:19:15 POSLE PODNE
u while loop provera: if(i >= MAX_SPORTS - 1) break;

MAX_SPORTS ti se moze ne zove tako pa mu ime nadji na pocetku skripte gde ti je inicijalizacija dela za te portove sta su vec..
Rešeno je odavno, nije napisao
Naslov: Odg: Pomoc hitno ??
Poruka od: Risticc poslato Avgust 01, 2020, 00:03:09 PRE PODNE
Reseno lock