←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Dodatkowe dmg z broni

Locked

Blondyneczka ;*'s Photo Blondyneczka ;* 31.05.2012

Część .! Posiadam kod na dodatkowe dmg w ,którym ustawiam + ile ma ją być. Lecz jak będzie wyglądał kod na 2x większe obrażenia ???

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;
}
Quote

  • +
  • -
Kołodziej's Photo Kołodziej 31.05.2012

nie ma na 2x dmg jest na 1/x z broni oraz tym co ty dysponujesz.
Quote

Blondyneczka ;*'s Photo Blondyneczka ;* 31.05.2012

Czyli co, nie można zrobić aby klasa miała 2 razy większe dmg ???
Quote

  • +
  • -
Kołodziej's Photo Kołodziej 31.05.2012

nie ale możesz zwiększyć dmg zrobić dmg + int lub 1/x z broni innych możliwości nie ma.
Quote

Blondyneczka ;*'s Photo Blondyneczka ;* 31.05.2012

Widziałem na serwerze ,że klasa posiada 2x dmg ;/
Quote

  • +
  • -
Jak się nazwać's Photo Jak się nazwać 31.05.2012

nie ale możesz zwiększyć dmg zrobić dmg + int lub 1/x z broni innych możliwości nie ma.


Co ty człowieku chrzanisz? Nie znasz się a wypowiadasz i dodatkowo wprowadzasz w błąd, idź kolegom w szkole takie kity pociskaj a nie na forum piszesz.
Tu masz na 2* większy dmg
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, damage, 0.0, idinflictor, damagebits);
                
                return HAM_IGNORED;
}
Quote

Gość_21977_* 31.05.2012

Nie słuchaj w ogóle kolodzieja.
Aby zmienić parametr dla funkcji z HamSandwich, używasz funkcji SetHamParamTYP, gdzie za TYP wpisujesz typ zmienianego typu parametrów, tj.:W Twoim przypadku,
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)
SetHamParamFloat(4, damage*2);

return HAM_IGNORED;
}


Użyjesz SetHamParamFloat(4, damage*2); w ten sposób zmieniając parametr 4. (numerujemy od 1) na damage (obrażenia) *2, czyli, de facto, powodując jego zwiększenie dwukrotnie.
Użyjesz SetHamParamFloat, gdyż jest to parametr typu Float.

edit. Edycja dot. dwóch literówek, mnożnik był od samego początku. Dodatkowo opisałem wszystkie typy SetHamParam, zamiast tylko 3 i skrótu "m.in."
Edited by benio101, 31.05.2012 15:01.
Quote

  • +
  • -
dasiek's Photo dasiek 31.05.2012

Toz góry nie będzie działało (brak mnożnika albo ślepy jestem)

Spróbuj tego.

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)
{
  damage*=2;
}
SetHamParamFloat(4, damage);
return HAM_IGNORED;
}

@Down i w tym samym czasie :D
Edited by CheQ, 31.05.2012 16:08.
Quote

Gość_21977_* 31.05.2012

@up: napisałeś to samo, co ja, tylko w innej formie :)
Quote

Blondyneczka ;*'s Photo Blondyneczka ;* 31.05.2012

kolodziej dzięki za wprowadzenie w błąd.

Dzięki wam !
Temat do zamknięcia.
Quote

  • +
  • -
Ojciec Dyrektor's Photo Ojciec Dyrektor 31.05.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked