←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Problem z dropem "perków"

  • +
  • -
DyeR - zdjęcie DyeR 17.08.2015

Witam, przerabiam system perków. Plugin ładnie się kompiluje bez żadnych błędów jednak podczas testów napotkaliśmy błąd otóż Na serwerze poniekąd jest ustawiony drop tego "artefaktu" jednak zabijając np.  4 razy z rzędu cały czas dropi, nie uwzlegniając wcale tej szansy i w którymś tam momencie wcale przestaje dropić i w konsoli wyskakują takie błędy: 

3atam4.jpg

 

 

zarzucam ten public

public UstawArtefakt(id, artefakt, wartosc, pokaz_info)
{
	if(!ilosc_artefakty)
		return PLUGIN_CONTINUE;
	
	static obroty[33];
	
	if(obroty[id]++ >= 5)
	{
		UstawArtefakt(id, 0, 0, 0);
		obroty[id] = 0;
		return PLUGIN_CONTINUE;
	}
	
	artefakt = (artefakt == -1)? random_num(1, ilosc_artefakty): artefakt;
	wartosc = (wartosc == -1 || min_wartosci_artefakty[artefakt] > wartosc ||  wartosc > max_wartosci_artefakty[artefakt])? random_num(min_wartosci_artefakty[artefakt], max_wartosci_artefakty[artefakt]): wartosc; 
	
	new ret;
	
	new forward_handle = CreateOneForward(pluginy_artefakty[artefakt_gracza[id]], "artefakt_disabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, artefakt);
	DestroyForward(forward_handle);
	
	artefakt_gracza[id] = 0;
	
	forward_handle = CreateOneForward(pluginy_artefakty[artefakt], "artefakt_enabled", FP_CELL, FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, wartosc, artefakt);
	DestroyForward(forward_handle);
	
	if(ret == 4)
	{
		UstawArtefakt(id, -1, -1, 1);
		return PLUGIN_CONTINUE;
	}
	
	ExecuteForward(artefakt_zmieniony, ret, id, artefakt, wartosc);
	
	if(ret == 4)
	{
		UstawArtefakt(id, -1, -1, 1);
		return PLUGIN_CONTINUE;
	}
	
	artefakt_gracza[id] = artefakt;	
	wartosc_artefaktu_gracza[id] = wartosc;
	
	obroty[id] = 0;
	
	if(pokaz_info && artefakt_gracza[id]) 
		chat_color(id, "!g[ARTEFAKT] !yZdobyles %s.", nazwy_artefakty[artefakt_gracza[id]]);
	
	return PLUGIN_CONTINUE;
}

Proszę o jakąkolwiek pomoc. Z góry dziękuje

 

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 18.08.2015

Nawet nie raczył napisać, która linia to 259

 

I jaki typ błędu

 

 

 

Ciekawie się zapowiada

Odpowiedz

  • +
  • -
DyeR - zdjęcie DyeR 18.08.2015

" Ta linia"

UstawArtefakt(id, 0, 0, 0);

Typ błędu? Chyba wszystko omówiłem.

Czy Perki z artefaktami ^^ mogą się w jakiś sposób kolidować?

Jeżeli mają te same funkcje chodzi mi o "0, 0, 0" Jednakże było ustawione inaczej problem był ten sam

Odpowiedz

  • +
  • -
Linux' - zdjęcie Linux' 18.08.2015

" Ta linia"

UstawArtefakt(id, 0, 0, 0);
Typ błędu? Chyba wszystko omówiłem.
Czy Perki z artefaktami ^^ mogą się w jakiś sposób kolidować?
Jeżeli mają te same funkcje chodzi mi o "0, 0, 0" Jednakże było ustawione inaczej problem był ten sam

Jezeli korzystaja z tych samych funkcji/zmiennych to tak ale to o czym piszesz to skladnia i te kuleczka nie maja na to zadnego wplywu.
Odpowiedz

  • +
  • -
DyeR - zdjęcie DyeR 19.08.2015

Funkcje i zmienne mają inne, więc w czym moze tkwić problem?


Użytkownik DyeR edytował ten post 19.08.2015 10:37
Odpowiedz

  • +
  • -
Linux' - zdjęcie Linux' 19.08.2015

Problem raczej na pewno nie tkwi w tej linii ktora podales. Musialbys podac wieksza czesc kodu bo bez tego raczej nie dojdziemy co jest przyczyna. Piszac wieksza mam na mysli calosc.


 

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 19.08.2015

Albo podaj błąd z logów

 

 

Bo zazwyczaj jest coś a ty dałeś tylko screena na którym jest jedno i to samo, zobacz na początek tego logu

 

Odpowiedz