←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Run time error 4: index out of bounds - cr...

  • +
  • -
SHiBBy. - zdjęcie SHiBBy. 14.02.2016

Mam swoj diablomod 5.9 edytowany przeze mnie (poprawione bugi itp)

 

Jednak gdy gram naprzyklad z 10 minut i spamuje rakieta na czarodziejce (nie wiem czy ta informacja jest potrzebna) to crashuje mi serwer z informacja w konsoli "server shutting down"

 

w logach sprawdzalem o co chodzi ale nie umiem tego naprawic

oto blad:

L 02/13/2016 - 21:05:16: [AMXX] Displaying debug trace (plugin "diablo_shibby.amxx")
L 02/13/2016 - 21:05:16: [AMXX] Run time error 4: index out of bounds
L 02/13/2016 - 21:05:16: [AMXX]    [0] diablo_shibby.sma::fw_traceline (line 8854)

 

Z racji ze nie opublikuje sma mojego przerobionego diablo daje urywek w ktorym wystepuje blad (linijka pogrubiona)

 

public chacke_pos(Float:vOrigin[3],axe)
{
    new test=0
    vOrigin[axe]-=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    if(test<2) return 0
    vOrigin[axe]-=15.0
    return 1
}

 

proszę o pomoc

Odpowiedz

  • +
  • -
vanillah - zdjęcie vanillah 14.02.2016

błąd ten występuje, gdy plugin próbuje pobrać wartość tablicy powyżej jej rozmiaru

spróbuj dodać na początku publicu 

if(!(1 <= axe <= 32))
            return PLUGIN_CONTINUE;

a na końcu publicu

return PLUGIN_CONTINUE;

Użytkownik vanillah edytował ten post 14.02.2016 23:18
Odpowiedz

  • +
  • -
SHiBBy. - zdjęcie SHiBBy. 15.02.2016

jesli zrobilem tak:
public chacke_pos(Float:vOrigin[3],axe)
{
    if(!(1 <= axe <= 32))
        return PLUGIN_CONTINUE; // dodane
    new test=0
    vOrigin[axe]-=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    if(test<2) return 0
    vOrigin[axe]-=15.0
    return 1
    return PLUGIN_CONTINUE; // dodane
}
wyskakiwal 1 warning : unreachable code (kod nieosiagalny)
zrobilem wiec tak:
public chacke_pos(Float:vOrigin[3],axe)
{
    if(!(1 <= axe <= 32))
        return PLUGIN_CONTINUE; // dodane
    new test=0
    vOrigin[axe]-=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    if(test<2) return 0
    vOrigin[axe]-=15.0
    return 1
}

i nie ma bledow.. czy to bedzie dobrze dzialalo?


Użytkownik kumitsu123 edytował ten post 15.02.2016 06:32
Odpowiedz

  • +
  • -
SHiBBy. - zdjęcie SHiBBy. 15.02.2016

Sorki za 2 odpowiedz ale zrobilem tak :
public chacke_pos(Float:vOrigin[3],axe)
{
    if(!(1 <= axe <= 32))
        return PLUGIN_CONTINUE; // dodane
    new test=0
    vOrigin[axe]-=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    vOrigin[axe]+=15.0
    if(distance_to_floor(vOrigin)<31.0) test++
    if(test<2) return 0
    vOrigin[axe]-=15.0
    return 1
}

wywala mi server shutting down w konsoli i w logach to samo :/ wspomne ze zagram 3 runndy i wywala

Odpowiedz

  • +
  • -
Asiap - zdjęcie Asiap 17.02.2016

co to jest za paramater axe

co w nim jest przechowywane

Odpowiedz

  • +
  • -
SHiBBy. - zdjęcie SHiBBy. 18.02.2016

nie wiem xD pobralem paczke diablomoda 5.9l edytowny i poprawiony i duuuuzo go przerobilem bo i tak byl niedopracowany.. Wiec nwm do czego to jest

Odpowiedz

  • +
  • -
SHiBBy. - zdjęcie SHiBBy. 24.02.2016

ref

Odpowiedz