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

25% dmg więcej


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

#1 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 25.04.2011 18:00

Sieeema... Jak zrobić aby z 2 broni były zadawane większe obrażenia? O 25%?

Chcę aby oprócz ak było jeszcze m4
Czy wystarczy dodać kolejną linijkę? O w ten sposób:

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

	if(get_user_weapon(idattacker) == CSW_M4 && damagebits & DMG_BULLET)
		cod_inflict_damage(idattacker, this, damage*0.25, 0.0, idinflictor, damagebits);
		
	return HAM_IGNORED;
}
?
  • +
  • -
  • 0

#2 Bialy^

    Zaawansowany

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:97
  • GG:
  • Steam:steam
  • Imię:Igor
  • Lokalizacja:GK
Offline

Napisano 25.04.2011 18:10

Tak powinno Ci działać
  • +
  • -
  • 0
Dołączona grafikaPomogłem? daj+

#3 Zapalka

    Wszechwidzący

  • Użytkownik

Reputacja: 194
Profesjonalista

  • Postów:283
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Janów Lubelski
Offline

Napisano 25.04.2011 19:04

Nie prawda, Ty zmniejszyłeś zadawane obrażenia o 25%.
Przypuśćmy, że damage=100
Ty pomnożysz damage razy 0.25, i wtedy damage będzie równe 5.
Aby wyszło ci dobrze, musisz pomnożyć razy 1.25, lub razy (125/100)


/*
Jeśli gdzieś się pomyliłem, to przepraszam ale głowa mnie boli :/
Ale w ogólnym sensie jest dobrze :)
*/

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

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(get_user_weapon(idattacker) == CSW_AK47 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, damage*1.25, 0.0, idinflictor, damagebits);

if(get_user_weapon(idattacker) == CSW_M4 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, damage*1.25, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

  • +
  • -
  • 0
Zapraszam na http://zapalka.net.pl

#4 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 26.04.2011 00:47

Nie ma offsetu dla czegoś takiego jak M4.. I ja bym to trochę zoptymalizował


#define IsAlivePlayer(%1) (1 <= %1 <= get_maxplayers() && is_user_alive(%1))

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

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(!(damagebits & DMG_BULLET)) return HAM_IGNORED;

new iWeapon = get_user_weapon(idattacker);

switch(iWeapon){
case CSW_AK47, CSW_M4A1: SetHamParamFloat(4, (damage * 1.25));
default: return HAM_IGNORED;
}

return HAM_IGNORED;
}

Użytkownik diablix edytował ten post 26.04.2011 00:47

  • +
  • -
  • 0




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

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