Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

index out of bounds, mimo dobrego rozmiaru tablicy


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 szelbi

    Hero

  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 24.05.2014 14:58

#define MAX 32
new perk_gracza[MAX+1][3];
set_task(36.0, "apteczka_info", .flags="b");
public apteczka_info()
{
	for(new i=1;i<33; i++)
	{
		if(is_user_connected(i) && perk_gracza[i][1] == 6)
		client_print(i, print_chat, "[INFO] Aby uzyc apteczki wpisz /apteczka na czacie lub zbinduj sobie klawisz.");
	}
}

 
Mam taką funkcję jak powyżej i sypie mi takimi logami.
 

L 05/24/2014 - 06:01:45: [AMXX] Run time error 4: index out of bounds 
L 05/24/2014 - 06:01:45: [AMXX]    [0] codmw3.sma::apteczka_info (line 465)

 
Nie wiem co jest nie tak, więc piszę tutaj :)


  • +
  • -
  • 0

#2 Qunir

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:44
  • Imię:Marek
  • Lokalizacja:Warszawa
Offline

Napisano 24.05.2014 15:19

Wydaje mi się że brakuje jeszcze sprawdzenia czy gracz jest żywy.

if(is_user_connected(i) && perk_gracza[i][1] == 6)

Zmień na:

if(is_user_connected(i) && is_user_alive(i) && perk_gracza[i][1] == 6)

  • +
  • -
  • -4

#3 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 24.05.2014 15:21

Wydaje mi się że brakuje jeszcze sprawdzenia czy gracz jest żywy.

To jak jest martwy to nagle nie można mu nic wyświetlić na czacie?  :facepalm:


  • +
  • -
  • 1

#4 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 25.05.2014 07:54

Tutaj chyba chodzi o tą linijkę:

for(new i=1;i<33; i++)

Slotów na serwerze jest 32, nie 33 i serwer nie wie komu wysłać?

Nie jestem pewny, pierwsze co mi się rzuciło na oczy.

Zmień na 32 i zobacz.


  • +
  • -
  • -1

#5 xenos

    Wszechobecny

  • Użytkownik

Reputacja: 216
Profesjonalista

  • Postów:467
  • GG:
  • Imię:Konrad
  • Lokalizacja:Rzeszów
Offline

Napisano 25.05.2014 08:02

Tutaj chyba chodzi o tą linijkę:

for(new i=1;i<33; i++)

Slotów na serwerze jest 32, nie 33 i serwer nie wie komu wysłać?

Nie jestem pewny, pierwsze co mi się rzuciło na oczy.

Zmień na 32 i zobacz.

Źle mówisz
Pętla for-  wykonuj dopuki warunek jest prawdziwy czyli do momentu aż I<33 w momencie gdy I będzie miało wartość 33(czyli poza zakresem) nie wykona się.
 


  • +
  • -
  • 0
"Jeśli potrafię to pomogę, jeśli nie potrafię to wskaże drogę którą trzeba dążyć by znaleźć odpowiedz" 

Pluginy:
Szukanie Aktywnych Banów w AmxBansie
Drop After Death
Kto postawił mine

#6 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 25.05.2014 08:31

Zamień 33 w pętli na MAX+1. Jeśli to pomoże to szukaj przyczyny w swojej stałej MAX :)
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#7 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 25.05.2014 15:59

Zamień 33 w pętli na MAX+1. Jeśli to pomoże to szukaj przyczyny w swojej stałej MAX :)

Teraz nie wywala błędu, ale nie mam pojęcia, co może być źle z tą stałą MAX.
  • +
  • -
  • 0

#8 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 25.05.2014 19:17

Wypisz sobie ją w konsoli.
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#9 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 25.05.2014 19:27

Wypisałem i pokazało mi 32, czyli dobrze ;)

 

http://www.iv.pl/ima...96625698610.jpg


  • +
  • -
  • 0

#10 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 26.05.2014 11:01

A powiększoną o 1?
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#11 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 26.05.2014 15:42

Pokazuje 33, czyli również OK.

 

http://www.iv.pl/ima...81912778598.jpg


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych