←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Losowy gracz


Best Answer Petpat 19.10.2014 21:48

Ajjj.. jednak sobie sam naprawiłem, pomoc zbędna
Linia
get_players(Losowy, numer, "ahe", "TERRORIST");
Wywaliłem ahe zostawiłem puste pole i działa, wybacznie ze tworzylem ten temat Go to the full post
Locked

  • +
  • -
Petpat's Photo Petpat 19.10.2014

Witajcie otóż mam błędy
L 10/19/2014 - 22:36:19: [AMXX] Run time error 4: index out of bounds 
L 10/19/2014 - 22:36:19: [AMXX]    [0] test.sma::LosowyGracz (line 87)
L 10/19/2014 - 22:36:19: [AMXX]    [1] test.sma::NowaRunda (line 170)
Tutaj stock
Błąd wskazuje na
return Losowy[random(numer)];
stock LosowyGracz(){
	for (new i = 1; i<=g_maxplayers;i++)
	if(is_user_connected(i)){
		new Losowy[32], numer;
		get_players(Losowy, numer, "ahe", "TERRORIST"); 
	
		return Losowy[random(numer)];
	}
	return PLUGIN_CONTINUE;
}
Kolejny błąd wskazuje na
new WylosowanyGracz = LosowyGracz();
public NowaRunda(){
	new NazwaGracza[32];
	new WylosowanyGracz = LosowyGracz();
	get_user_name(WylosowanyGracz, NazwaGracza, charsmax(NazwaGracza));
	client_print(0, print_chat, "Nick %s", NazwaGracza);
}
Otóż tak, wszystko działa jak należy wyświetla tekst na czacie w 1 rundzie, gdy jest następna runda wyświetla się błąd w konsoli, na czacie nic nie widać.
Jak to można załatać?
Quote

  • +
  • -
Best Answer Petpat's Photo Petpat 19.10.2014

Ajjj.. jednak sobie sam naprawiłem, pomoc zbędna
Linia
get_players(Losowy, numer, "ahe", "TERRORIST");
Wywaliłem ahe zostawiłem puste pole i działa, wybacznie ze tworzylem ten temat
Quote

  • +
  • -
sebul's Photo sebul 19.10.2014

Ktoś po prostu nie umie programować, czyli przewidywać krytycznych danych
stock LosowyGracz(){
	new i, j, graczeTT[32];
	for(i=1; i<=g_maxplayers; ++i) {
		if(is_user_connected(i) && get_user_team(i) == 1) {
			graczeTT[j++] = i;
		}
	}
	if(j == 1) return graczeTT[0];
	if(j > 0) return graczeTT[random(j)];
	return -1;
}

public NowaRunda(){
	new WylosowanyGracz = LosowyGracz();
	if(WylosowanyGracz < 0) return;
	new NazwaGracza[32];
	get_user_name(WylosowanyGracz, NazwaGracza, charsmax(NazwaGracza));
	client_print(0, print_chat, "Nick %s", NazwaGracza);
}
Quote
Locked