←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
[Silnik] Wytrzymalosc

  • +
  • -
Kmf!p - zdjęcie Kmf!p 08.12.2016

Witajcie,

chcialbym dodac cos takiego w silniku coda ze podczas strzelania sie tracimy tez wytrzymalosc, bo standardowo jest ona stala. gdzie dodac i co zeby taki efekt uzyskac ?

Odpowiedz

  • +
  • -
Kmf!p - zdjęcie Kmf!p 09.12.2016

Wydaje mi sie ze gdzies w tym miejscu:

public Obrazenia(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_alive(idattacker))
		return HAM_IGNORED;

	if(get_user_team(this) == get_user_team(idattacker))
		return HAM_IGNORED;
		
	if(get_user_health(this) <= 1)
		return HAM_IGNORED;
		
	if(PobierzWytrzymalosc(this, 1, 1, 1) <= 0)
		return HAM_IGNORED;
	
	SetHamParamFloat(4, damage*(1.0-redukcja_obrazen_gracza[this]));
		
	return HAM_IGNORED;
}

trzeba dodac cos z tym:

cod_set_user_bonus_stamina(this, cod_get_user_stamina(this, 1, 1, 1) - damage*(1.0-redukcja_obrazen_gracza[this]));

tak bedzie dobrze ?


Użytkownik Kmf!p edytował ten post 09.12.2016 14:32
Odpowiedz

  • +
  • -
AwIlL^^ - zdjęcie AwIlL^^ 09.12.2016

bonusowa_wytrzymalosc_gracza[this] -= damage*(1.0-redukcja_obrazen_gracza[this]));

ale wiesz do czego służy ta statystyka, prawda??
potem będziesz musiał w public Odrodzenie(id)
zmieniać tą wytrzymałość na standardową, a to wymaga kolejnej tablicy globalnej i zapisywania w niej właśnie wytrzymałości przed strzelaniem się graczy
tylko wytrzymałość zmienia się kiedy dostaniemy perk z wytrzymałością
więc musiałbyś wykombinować jak po każdej rundzie wytrzymałość wracała do swojego pierwotnego stanu
jeżeli coś źle zrobisz to wytrzymałość przestanie wogóle działać (graczom spadnie wytrzymałość poniżej zera)

Odpowiedz

  • +
  • -
Kmf!p - zdjęcie Kmf!p 09.12.2016

zmniejsza obrazenia, tylko widze ze wytrzymalosc pobierana jest na starcie rundy. trzeba bylo by pobierac podczas obrazen, zeby ta statystyka dzialala tak jak chce. chce tez pobrac cala wytrzymalosc gracza, a nie tylko bonusowa. dasz rade cos napisac jak to ma mniej wiecej wygladac ?

 

z ta wytrzymaloscia to chce zrobic tak jak z kamizelka/armorem w cs, zeby zmniejszal sie. dziwne troche ze trzeba robic dodatkowa tablice, bo statystyke zdrowie sie traci, a na starcie znow mamy tyle ile mielismy wczesniej. perki z hp tez sa wiec ta statystyka sie zmienia. wlasnie chce zrobic wytrzymalosc tak jak jest zrobione zdrowie.


Użytkownik Kmf!p edytował ten post 09.12.2016 21:06
Odpowiedz

  • +
  • -
AwIlL^^ - zdjęcie AwIlL^^ 10.12.2016

if(redukcja_obrazen_gracza[this]>0)
	redukcja_obrazen_gracza[this] -= 0.03
else if(redukcja_obrazen_gracza[this]<0)
	redukcja_obrazen_gracza[this] = 0.0

ja bym to tak zrobił a nie bawił się wytrzymałością bo diabła narobisz
a punkty hp w cod modzie to nie to samo co hp gracza
hp gracza to 100+pkt hp gracza z coda
jak zrobisz tak jak podałem wyżej to będzie miodzio
około 10-15 strzałów i przeciwnik nie redukuje dmg
zamiast tego 0.03 możesz wstawić coś z użyciem zmiennej damage (jak ci się chce)

Odpowiedz

  • +
  • -
Kmf!p - zdjęcie Kmf!p 10.12.2016

tylko ze ty tu piszesz o redukcji obrazen, a ja nie chce zmieniac redukcji w ogóle. chce pobrac i zmieniac wytrzymalosc klasy zalozmy za 1 strzal / obrazenie odjac np. "damage/2" pkt wytrzymalosci. tylko chce tez zeby na start rundy wytrzymalosc byla spowrotem tyle ile bylo na poczatku.

nowa tablica na pewno bedzie potrzebna zeby zapisac wytrzymalosc klasy standardowa. jesli dalbys rade pokazac jak zrobic z ta tablica i co gdzie dodac zeby dzialalo to bylo by dobrze.

Odpowiedz