Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×
  • 0

Question

Posted (edited)
Problema intalnita (descriere): Array of index out of bounds.
Ero(area / rile) / warning-(ul / urile):

[12:05:27] [debug]  Accessing element at index 49 past array upper bound 48
[12:05:27] [debug] AMX backtrace:
[12:05:27] [debug] #0 00051f28 in public SetPlayerUnjail () at C:\Users\Alex\Desktop\vx-rp edit\gamemodes\vx-rp.pwn:6411

Liniile de cod / sursa / script-ul(obligatoriu):

for(new iGroup; iGroup < MAX_GROUPS; iGroup++)
    {
            if(groupVariables[iGroup][gDeelay] >= 1)
            {
                   groupVariables[iGroup][gDeelay]--;
                }
    }
    for(new i = 0; i <= sizeof(TurfInfo); i++)
    {
        new string[56], count = 0; // <--- asta e linia
        new att = WarInfo[i][wAttacker];
        new deff = WarInfo[i][wFaction];
        if(WarInfo[i][wTime] > 0)
        {


Imagini / Video (optional): -.
Ati incercat sa rezolvati singur?: Da.

 

Edited by newbie.

11 answers to this question

Recommended Posts

  • 0
Posted

Arata-mi linia, ce sunt eu , Mama Omida ?

Îmi cer  scuze, dar cred că nu ai observat în codul pus de mine 

new string[56], count = 0; // <--- asta e linia

Ai tot în acel cod, și cu câteva linii mai sus / mai jos.

  • 0
Posted (edited)

Ia pune new string[256];

 

Ca sa-ti explic, acea eroare iti spune ca string-ul are o valoare mica iar tu l-ai folosit intr-o functie in care este depasita valoarea pusa de tine , adica 56 . Incearca sa o maresti la 256 , daca nici asa pune 512 .

 

 

P.S : Scuza-ma, abia acum am vazut ca ai si semnalizat linia ... greseala mea .

Edited by NoNamed
  • 0
Posted (edited)

Ia pune new string[256];

 

Ca sa-ti explic, acea eroare iti spune ca string-ul are o valoare mica iar tu l-ai folosit intr-o functie in care este depasita valoarea pusa de tine , adica 56 . Incearca sa o maresti la 256 , daca nici asa pune 512 .

era pusă 256, o să încerc cu 512 și revin cu edit.

//edit - nu mai dă la linia aia, dar acum dă la următoarea, adică la 

new att = WarInfo[i][wAttacker];

 

Edited by newbie.
  • 0
Posted

In loc de

for(new i = 0; i <= sizeof(TurfInfo); i++)

pune

for(new i = 0; i < sizeof(TurfInfo); i++)

sizeof iti da numarul de elemete din vector plecand de la 1, nu de la 0 cum incep vectorii. Conditia da cu <= accesa un element invalid din acel vector si de asta primeai eroare.

  • 0
Posted

In loc de

for(new i = 0; i <= sizeof(TurfInfo); i++)

pune

for(new i = 0; i < sizeof(TurfInfo); i++)

sizeof iti da numarul de elemete din vector plecand de la 1, nu de la 0 cum incep vectorii. Conditia da cu <= accesa un element invalid din acel vector si de asta primeai eroare.

tot aia îmi dă (array of index out of bounds), la aceași linie 

new att = WarInfo[i][wAttacker];

 

  • 0
Posted

Inlocuieste

new WarInfo[49][wInfo];

cu

new WarInfo[50][wInfo];

Sau cu un numar care nu iti mai da eroarea.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.