←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
!(IN_ATTACK) a zabijanie z lewego

  • +
  • -
Goliath - zdjęcie Goliath 28.01.2011

A może po prostu wyłączyć redukcję dla obrażeń zadanych z noża? O tak:
if(wytrzymalosc_gracza[this]>0 && weapon != CSW_KNIFE)
		damage -= redukcja_obrazen_gracza[this]*damage;
Odpowiedz

cedriK - zdjęcie cedriK 28.01.2011

Wydaje się najrozsądniejsze, to dać do tego if'a z CSW_KNIFE czy przed nim, bo po nim to raczej nie ?
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 28.01.2011

To już chyba wszystko jedno. Chociaż na twoim miejscu dałbym po tym.
Odpowiedz

cedriK - zdjęcie cedriK 29.01.2011

if(weapon == CSW_KNIFE)
{
if(informacje_przedmiotu_gracza[this][0] == 4)
damage=damage*1.4+inteligencja_gracza[idattacker];
if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(3) == 2) || (klasa_gracza[idattacker] == Predator && random_num(0, 3) == 1) || klasa_gracza[idattacker] == Komandos || klasa_gracza[idattacker] == Blade || (klasa_gracza[idattacker] == Hunter && random_num(0, 1) == 1))
if(damage > 50.0)
damage = float(health);
}

if(wytrzymalosc_gracza[this]>0 && weapon != CSW_KNIFE)
damage -= redukcja_obrazen_gracza[this]*damage;


Dodanie twojego kodu spowdowało tragiczne skutki, gracze mi donieśli, że

awp nie dziala granaty nie dzialaja i mniejsze dmg wchodzi
w banke za 30 dmg wchodzi a w reszte 6-12dmg


Z tego co wiem to "!" to negacja, a zauważyłem
!= CSW_KNIFE
, czyli, że jeżeli wytrzymałość ktoś ma większą od 0 i nieNóż to redukuje mu obrażenia.

Ja czegoś nie rozumiem, czy to jest źle jednak ? W dalszym ciągu proszę o pomoc.
Użytkownik cedriK edytował ten post 29.01.2011 08:49
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 30.01.2011

if(wytrzymalosc_gracza[this]>0 && weapon != CSW_KNIFE)
	damage -= redukcja_obrazen_gracza[this]*damage;

if(weapon == CSW_KNIFE)
{
	if(informacje_przedmiotu_gracza[this][0] == 4)
		damage=damage*1.4+inteligencja_gracza[idattacker];
	if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(3) == 2) || (klasa_gracza[idattacker] == Predator && random_num(0, 3) == 1) || klasa_gracza[idattacker] == Komandos || klasa_gracza[idattacker] == Blade || (klasa_gracza[idattacker] == Hunter && random_num(0, 1) == 1))
		if(damage > 50.0)
			damage = float(health);
}
Daj tak, a (raczej) zadziała.

Z tego co wiem to "!" to negacja, a zauważyłem

!= CSW_KNIFE

, czyli, że jeżeli wytrzymałość ktoś ma większą od 0 i nieNóż to redukuje mu obrażenia.

Tak, "!" to negacja. Ale to sprawdza, czy this (ofiara) ma wytrzymałość większą od 0 i czy idattacker (atakujący) ma inną broń niż nóż.
Odpowiedz

cedriK - zdjęcie cedriK 30.01.2011

Hmm, znowu problem, w sumie to ten sam efekt jak dałem to 'po', dalej zmniejszone dmg i chyba dodatkowe problem :|

Czy to, zmieni coś (o ile jest dobrze):

if(weapon == CSW_KNIFE)
{


if(wytrzymalosc_gracza[this]>0 && weapon != CSW_KNIFE)
{
damage -= redukcja_obrazen_gracza[this]*damage;
}

if(informacje_przedmiotu_gracza[this][0] == 4)
{
damage=damage*1.4+inteligencja_gracza[idattacker];
if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(3) == 2) || (klasa_gracza[idattacker] == Predator && random_num(0, 3) == 1) || klasa_gracza[idattacker] == Komandos || klasa_gracza[idattacker] == Blade || (klasa_gracza[idattacker] == Hunter && random_num(0, 1) == 1))
if(damage > 50.0)
damage = float(health);
}

}


?? Chyba, że masz jeszcze inny pomysł, bo ja nie bardzo.
Użytkownik cedriK edytował ten post 30.01.2011 18:25
Odpowiedz