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 (Nie potrafię naprawić)


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

#1 ELOS

    No i pozamiatane ;*

  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 05.07.2012 20:44


L 07/05/2012 - 21:34:21: [AMXX] Run time error 4: index out of bounds 
L 07/05/2012 - 21:34:21: [AMXX]    [0] Naruto.sma::Zakoncz_Tworzenie (line 1011)
L 07/05/2012 - 21:34:21: [AMXX]    [1] Naruto.sma::Stworz_Postac_Handler (line 9

Mam takie błędy jeżeli dobrze pamiętam przy takim błędzie powinno się dodać czy gracz jest na serwerze i czy nie jest botem niestety nie zadziałało.

KOD

public Stworz_Postac_Handler(id, menu, item)
{
if(!is_user_alive(id)||is_user_bot(id)) 
return PLUGIN_CONTINUE;

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
console_cmd(id, "messagemode Imie");

}
case 1:
{
Wybierz_Wioske(id)
}
case 2:
{
Zakoncz_Tworzenie(id)
}
}
return PLUGIN_CONTINUE;
}

public Zakoncz_Tworzenie(id)
{
if(!is_user_alive(id)||is_user_bot(id)) 
return PLUGIN_CONTINUE;

for(new i=0;i<4;i++) {if(strlen(postac[id][i])==0) postacie++;}
new idpostaci = 1+postacie;
formatex(postac[id][idpostaci],31,"%s",imiebo[id]);
wioska[id][idpostaci] = wioskabo[id];
ColorChat(id,GREEN,"[%s]^x01 Stworzyles bohatera^x03 %s^x01 pochodzacego z^x03 %s!",prefix,imiebo[id],wioskabo[id]);
menu_uzytkownika(id)

return PLUGIN_CONTINUE;

}

Linijka 1011
formatex(postac[id][idpostaci],31,"%s",imiebo[id])

Nie mogę się z tym uproać proszę o pomoc.
  • +
  • -
  • 1

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.07.2012 21:08

pokaż deklaracje zmiennych
postac
postacie
imiebo

i wytłumacz za co one odpowiadają ( domyślam się ale ty wiesz lepiej co miałeś na myśli deklarując je )
  • +
  • -
  • 1

#3 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 05.07.2012 21:13

new imiebo[33], wioskabo[33];
new postac[33][4][32];
new postacie;

imiebo ma przetrzymać Imie.
postac jest to imię już stworzonej postaci posiada nadane wolne id
postacie służy do zliczania posiadanych postaci (potrzebne do nadania id nowo powstałej postaci)
  • +
  • -
  • 1

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.07.2012 21:29

Kod zagmatwany dało by się to zrobić lepiej

w ZakonczTworzenie nie widzę zerowania
postacie

new idpostaci = 1+postacie;
numerowanie w tablicy zaczyna się od 0 więc po co dodawanie 1 ?

for(new i=0;i<4;i++) {if(strlen(postac[id][i])==0) postacie++;}
new idpostaci = 1+postacie;

w najgorszym przypadku idpostaci przyjmie wartość 5 więc będzie poza zakresem


formatex(postac[id][idpostaci],31,"%s",imiebo[id]);
chodzi ci raczej o
formatex(postac[id][idpostaci],31,"%s",imiebo);

( możesz to zrobić też poprzez copy )

ColorChat(id,GREEN,"[%s]^x01 Stworzyles bohatera^x03 %s^x01 pochodzacego z^x03 %s!",prefix,imiebo[id],wioskabo[id]);
tak samo tutaj imiebo i woskabo też jako całą tablice a nie pojedynczą komórke
  • +
  • -
  • 1

#5 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 05.07.2012 22:01

Teraz mój kod wygląda następująco
public Zakoncz_Tworzenie(id)
{
if(!is_user_alive(id)||is_user_bot(id))
return PLUGIN_CONTINUE;

for(new i=0;i<4;i++) {if(strlen(postac[id][i])==0) postacie++;}
new idpostaci = postacie;
formatex(postac[id][idpostaci],31,"%s",imiebo);
wioska[id][idpostaci] = wioskabo[id];
ColorChat(id,GREEN,"[%s]^x01 Stworzyles bohatera^x03 %s^x01 pochodzacego z^x03 %s!",prefix,imiebo,wioskabo);
menu_uzytkownika(id)
postacie = 0;
return PLUGIN_HANDLED;

}
Błąd występuje taki


L 07/05/2012 - 22:57:25: [AMXX] Run time error 4: index out of bounds 
L 07/05/2012 - 22:57:25: [AMXX]    [0] Naruto.sma::Zakoncz_Tworzenie (line 1023)
L 07/05/2012 - 22:57:25: [AMXX]    [1] Naruto.sma::Stworz_Postac_Handler (line 9

  • +
  • -
  • 1

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#6 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 06.07.2012 09:28

Warunki czy gracz żyje i czy nie jest botem daj w tworzeniu menu. Także po wyborze najlepiej niszczyć menu.
public Stworz_Postac_Handler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	switch(item)
	{
		case 0:
		{
			console_cmd(id, "messagemode Imie");

		}
		case 1:
		{
			Wybierz_Wioske(id)
		}
		case 2:
		{
			Zakoncz_Tworzenie(id)
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

  • +
  • -
  • 0

If you can dream it, you can do it.


#7 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 06.07.2012 13:02

Nie działa.

Do Zamknięcia Zapałka pomógł mi rozwiązać problem.
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7





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

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