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

dwa razy większe dmg z noża


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 Blondyna

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 07.01.2013 19:00

Cześć, robię klasę do cod mod nowy i mam problem :

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
        if(!is_user_connected(idattacker))
                return HAM_IGNORED;
        
        if(!ma_perk[idattacker])
                return HAM_IGNORED;
        
        if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AK47 && damagebits & DMG_BULLET)
                cod_inflict_damage(idattacker, this, 5.0, 0.0, idinflictor, damagebits);
        
        return HAM_IGNORED;
}

Ten kod daje nam o ile chcemy większe dmg, pytanie jest taki:
Jak będzie wyglądał kod na 2x dmg z noża ;?
  • +
  • -
  • 0

#2 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 07.01.2013 19:36

Myślę że tak:


if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, (damage*2.0), 0.0, idinflictor, damagebits);

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#3 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 07.01.2013 19:37

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

{

				if(!is_user_connected(idattacker))

								return HAM_IGNORED;

				

				if(!ma_perk[idattacker])

								return HAM_IGNORED;

				

				if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET)

								cod_inflict_damage(idattacker, this, damage, 0.0, idinflictor, damagebits); //po wywolaniu obrazen, jeszcze raz zadajesz obrazenia, czyli obrazenia podwoja sie

				

				return HAM_IGNORED;

}

Użytkownik d0n tHe Pr0oo edytował ten post 07.01.2013 19:37

  • +
  • -
  • 1

#4 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 07.01.2013 19:40


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

if(!ma_perk[idattacker])
return HAM_IGNORED;

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_KNIFE)
damage *= 2

SetParamFloat(4, damage)
return HAM_IGNORED;
}


Tak też może być

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#5 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 07.01.2013 19:43

Dzięki ;)
  • +
  • -
  • 0

#6 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 07.01.2013 19:46

Tzn ze działa ?

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#7 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 07.01.2013 19:51

a nie czasem tak ?
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
                if(!is_user_connected(idattacker))
                                return HAM_IGNORED;
                
                if(!ma_perk[idattacker])
                                return HAM_IGNORED;
                
                if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_KNIFE)
                                SetHamParamFloat(4, damage*2)

                return HAM_IGNORED;
}

speedkill (07.01.2013 19:55):
A jaka będzie różnica między tym kodem co jest wyżej ?

  • +
  • -
  • 0

#8 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 07.01.2013 19:55

Własnie brat obok mi mówił, że tak było by lepiej, ale ja myślę, że Vesfper będzie chciał jeszcze dodać inne damage :P więc tak na przyszłość, ale oba roziązania były dobre :D

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#9 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 07.01.2013 21:08

Wszędzie tam gdzie jest sprawdzana broń tylko w taki sposób
get_user_weapon(idattacker) == CSW_KNIFE

jest źle, razem z
damagebits & DMG_BULLET

już jest lepiej choć najlepiej będzie tak, najpierw zapisujemy id broni do zmiennej, a potem dopiero dajemy warunki, z jakiej broni, itp.
new weapon;
if(idinflictor == idattacker) weapon = get_user_weapon(idattacker);
else if(damagebits & (1<<24) && is_valid_ent(idinflictor)) {
new szClass[32];
entity_get_string(idinflictor, EV_SZ_classname, szClass, 31);
if(equal(szClass, "grenade"))
weapon = CSW_HEGRENADE;
}

  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#10 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 07.01.2013 21:30

Szczerze ? - Nie rozumiem :D Ale z tym damagebits to wiedzialem :D

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#11 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 08.01.2013 08:34

Albo po prostu sprawdzić, czy damagebits zawiera DMG_SLASH, który domyślnie występuje jedynie przy obrażeniach z noża.




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

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