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
CoD Stary

!(IN_ATTACK) a zabijanie z lewego

CoD Stary

  • Zamknięty Temat jest zamknięty
25 odpowiedzi w tym temacie

#1 cedriK

    Profesjonalista

  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 25.01.2011 11:31

Mam problem z zabijaniem klasami (+ item) z LPM (lewy przycisk myszy). Chodzi mi o wszystkie klasy jak Komandos, które mają z noża 1/x lub jakiś item.
Mam ustawione jak w orginale, ale mimo to zabijanie z lewego na te 1/x działa, a ja chcę tylko z PPM.

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) && !(get_user_button(idattacker) & IN_ATTACK))
damage = float(health);


}


Oryginalny kod:

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(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
damage = float(health);
}



P.S Niech ktoś ogarnięty zerknie tutaj przy okazji, bo nie dostałem żadnej odpowiedzi: [CoD Stary] Dodatek - Wskrzeszanie u medyka - Nieoficjalny polski support AMX Mod X

#2 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 25.01.2011 12:01

Spróbuj zrobić tak:
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(!get_user_button(idattacker) & IN_ATTACK)
			damage = float(health);
}

  • +
  • -
  • 0

#3 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 25.01.2011 12:21

Niestety nie pomogło, bo testowałem, ale to jest dziwne bo jak np. komandosa ma 1/1 to zabija i z lewego i prawego na raz .. a mi prawy potrzeba

#4 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 25.01.2011 12:27

A spróbuj rozwiązania z nowego CoD'a:
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 > 20.0)
			damage = float(health);
}

  • +
  • -
  • 2

#5 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 25.01.2011 12:30

if(get_user_button(idattacker) & IN_ATTACK2)
albo get_user_oldbutton() nie jestem pewien co do tego
  • +
  • -
  • 0

#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 25.01.2011 13:04

obrażenie od lewego przycisku myszy nigdy nie są większe niż 50, a od prawego zawsze :) to może być klucz do wykrycia guzika
  • +
  • -
  • 1

#7 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 25.01.2011 19:21

R3X tutaj ile obrażen w normalnym cs zadaje lewy a ile prawy nie ma znaczenia raczej, bo chodzi o zabijanie 1/1 z prawego, a z lewego żeby było własnie normal.

Przetestuje w/w opcje i dam znać.

#8 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 25.01.2011 20:57

Czy ja wiem czy nie ma znaczenia?
if(damage < 50) 
//lewy
else
//prawy

  • +
  • -
  • 2

#9 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 25.01.2011 22:05

Hmm no niby fajne, jeśli mniejsze od 50, a zawsze są, to z prawego tylko można będzie, gdzie to ulokować, żeby dobrze działało ? Przed tamtymi if'ami czy po nich ?

#10 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 25.01.2011 22:12

To jest prawie to samo co napisał Goliath, ale lewym w głowę bez kevlaru to będzie z 35obrażeń, więc 20 jest nie do końca w porządku
  • +
  • -
  • 2

#11 krysteksulek

    Zaawansowany

  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:133
  • GG:
  • Imię:Krystek
  • Lokalizacja:Ateny
Offline

Napisano 25.01.2011 22:57

Jeśli chcesz 1/1 PPM z noża to masz:

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(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK) || klasa_gracza[idattacker] == Haunter && !(get_user_button(idattacker) & IN_ATTACK))


			damage = float(health);
			
         }


-------------------------------------------------------
Pomogłem? Daj +

Użytkownik krysteksulek edytował ten post 25.01.2011 22:58


#12 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 25.01.2011 23:04

krysteksulek, czytaj ze zrozumieniem, ja tak własnie mam, działa, ale dodatkowo działa 1/1 z LPM, której nie chcę.

R3X to zrobie tak jak podał tylko wpisze tam choćby to 50 i powinno więc być git. Nie mam czasu już sprawdzić dzisiaj tego, ale dziękuje za pomoc.

#13 xyz?

    Profesjonalista

  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:223
  • Imię:lukasz
  • Lokalizacja:polska
Offline

Napisano 25.01.2011 23:27

if(weapon == CSW_KNIFE && damage > 20)
{
if(informacje_przedmiotu_gracza[this][0] == 4)
damage=damage*1.4+inteligencja_gracza[idattacker];
if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == twoja klasa && random(2) == 2) || klasa_gracza[idattacker] ==twoja klasa && !(get_user_button(idattacker) & IN_ATTACK))
damage = float(health);

}




Takie cos działa:)
  • +
  • -
  • 0

#14 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 27.01.2011 18:52

Witam ponownie, powyższa metoda z if'em na damage większe od np. 50 smiga idealnie, tylko że ostatnio graczy mi przypomnieli, że na cod'zie jest coś jak "wytrzymałość", jeżeli jakiś gracz ma jej dosyć sporo dodane to obrażenia z kosy wynoszą nawet 30dmg, a wtedy zabicie na raz np. w komandosie nie działa.

Czy ma ktoś jaki pomysł jak ominąć wytrzymałość przy tej metodzie z if'em ?

#15 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 27.01.2011 18:58

Chyba wiem. W TakeDamage masz coś takiego:
if(wytrzymalosc_gracza[this]>0)
		damage -= redukcja_obrazen_gracza[this]*damage;
Przenieś cały warunek if(weapon == CSW_KNIFE), przed ten warunek i napisz, czy coś się zmieniło.
  • +
  • -
  • 0

#16 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 27.01.2011 22:17

Like this:

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
(..........)

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)
damage -= redukcja_obrazen_gracza[this]*damage;


??

#17 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 27.01.2011 22:58

przenieś swoją klasę nad codmoda w plugins.ini czy jak to tam, wtedy Twój callback będzie wykonywany przed przeliczaniem obrażeń z wytrzymałością
  • +
  • -
  • 0

#18 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 27.01.2011 23:13

R3Xiu, ale nie rozumiem, ty myślisz chyba o nowym codzie, w którym klasy są osobno, a ja mam wszystkie w .sma cod'a.

#19 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 27.01.2011 23:15

a no :D to przestaw tak ja Goliath pisał, tylko to nie takie proste

jeśli masz zabicie na hita to potem nie możesz odejmować obrażeń przez wytrzymałość, więc musisz to wyłączyć np. przez wstawienie dodatkowej zmiennej co będzie równa 1 gdy ma odejmować i 0 gdy nie
  • +
  • -
  • 0

#20 cedriK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -2
Nowy

  • Postów:173
  • Lokalizacja:Hogwart
Offline

Napisano 28.01.2011 11:30

Hmm, to co napisałeś:

jeśli masz zabicie na hita to potem nie możesz odejmować obrażeń przez wytrzymałość, więc musisz to wyłączyć np. przez wstawienie dodatkowej zmiennej co będzie równa 1 gdy ma odejmować i 0 gdy nie


如果你要殺死它,然後被擊中,你不能以實力減去損傷,所以需要將其關閉,例如插入一個額外的變量相等於1,如果減去,如果不是0


xD

Tak na serio, to nie rozumiem tego. Czy poproszę o za dużo, jak napiszę, żeby to było w stylu "zamień to na tamto" ?





Również z jednym lub większą ilością słów kluczowych: CoD Stary

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

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