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

[ROZWIĄZANE] max dmg z he i odpornosc na swoj dmg


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

#1 Żuk

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 01.05.2019 01:11

Mam taki kod, który działał i nagle nie wiem co się stało ale głowa mi pęka od kombinowania..

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>



new g_MaxDmg;
new pCvarHE;
new fdamage;

public plugin_init()
{
  register_plugin("start", "0.0", "xxx")

  register_event("TextMsg","start","a","2&#Game_C")
 

 
  RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage", 0);
  g_MaxDmg = register_cvar("amx_he_maxdmg", "60");
    
  pCvarHE = register_cvar("kaboom_he","1")
  fdamage = register_cvar("mp_friendly_grenade_damage", "2")

/////////////////////////////////////////////////////////////////////    
 



}
public Player_TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) {
	static Float:he_damage; he_damage = get_pcvar_float(g_MaxDmg);
	if(damagebits & (1<<24) && damage > he_damage) {
		SetHamParamFloat(4, he_damage);
		return HAM_HANDLED;
	}
	new damage = get_pcvar_num(fdamage)
	if (damage && ( damagebits & DMG_GRENADE ))
	{
	if(is_user_alive(this) && this==idattacker)
	SetHamParamFloat(4, 0.0)
	return HAM_IGNORED;
	if (damage == 2)
		{
	if(is_user_alive(this) && get_user_team(this)==get_user_team(idattacker))
			{
	SetHamParamFloat(4, 0.0)
			}
		}
	
	return HAM_IGNORED;
		
	}
}

granat he powinien zadawać max 60dmg drużynie przeciwnej tylko i wyłącznie, a jakkolwiek bym tego kodu nie zmieniał, to he zadaje 60dmg samemu sobie, a przeciwnikom różnie :o  kodu jest więcej, to tylko część która mi nagle przestała działać


  • +
  • -
  • 0

#2 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 01.05.2019 02:37

Ten kod działa tak:

nie zadaje dmg sobie

nie zadaje dmg wlasnej druzynie

ALE

- gdy cvar amx_he_maxdmg ustawie na "1" - to obrazenia z HE wynoszą 1, jednak jesli go zmienie na jakakolwiek inna wartosc cos sie psuje i obrazenia sa zwyczajne :/

public Player_TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) {
	static Float:he_damage; he_damage = get_pcvar_float(g_MaxDmg);
	//if(damagebits & (1<<24) && damage > he_damage) {
	//	SetHamParamFloat(4, he_damage);
	//	return HAM_HANDLED;
	//}
	//return HAM_IGNORED;
	new damage = get_pcvar_num(fdamage)
	if (damage && ( damagebits & DMG_GRENADE ))
	{
		if(is_user_alive(this) && this==idattacker)
		{
			SetHamParamFloat(4, 0.0)
			return HAM_IGNORED
		}
		if (damage == 2)
		{
			if(is_user_alive(this && get_user_team(this)==get_user_team(idattacker)))
			{
				SetHamParamFloat(4, 0.0)
			}
		}
		if(damagebits & (1<<24) && damage > he_damage) {
		SetHamParamFloat(4, he_damage);
		return HAM_HANDLED;
	}
}
	return HAM_IGNORED;
} 

  • +
  • -
  • 0

#3 wonsz żeczny

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:254
  • Imię:Wonsz
  • Lokalizacja:Żeka
Offline

Napisano 24.05.2019 00:04

#include <amxmodx>
#include <hamsandwich>

new g_MaxDmg;

public plugin_init()
{
	register_plugin("start", "0.0", "xxx")
	RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage", 0);
	g_MaxDmg = register_cvar("amx_he_maxdmg", "60");
}
public Player_TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	static Float:he_damage;
	he_damage = get_pcvar_float(g_MaxDmg);

	if( damagebits & (1<<24) )
	{
		if( !is_user_alive(this) || !is_user_alive(idattacker) || this==idattacker || get_user_team(this)==get_user_team(idattacker) )
			return HAM_IGNORED;

		if(damage >= he_damage)
		{
			SetHamParamFloat(4, he_damage);
			return HAM_HANDLED;
		}
	}
	return HAM_IGNORED;
}

Użytkownik wonsz żeczny edytował ten post 24.05.2019 00:31

  • +
  • -
  • 0

#4 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 24.05.2019 13:00

Pisałem to miesiąc temu, już to dawno ogarnąłem sam xD


  • +
  • -
  • 0

#5 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 28.05.2019 06:47

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

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


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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