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
 

wickedmaks - zdjęcie

wickedmaks

Rejestracja: 21.12.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 19.02.2015 23:51
-----

#687553 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 10.02.2015 21:08

STÓJ

 

Jest źle!

public ZastosujAtrybuty(id)
{
	redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
	
	switch(klasa_gracza[id])
	{
            case PobierzKlasePrzezNazwe("Komandos"):
            {
                  szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
                  maksymalne_zdrowie_ gracza[id] = 130.0+PobierzZdrowie(id, 1, 1, 1);
            }
            case PobierzKlasePrzezNazwe("Sanitariusz"):
            {
                  szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
                  maksymalne_zdrowie_ gracza[id] = 130.0+PobierzZdrowie(id, 1, 1, 1);
            }
            case PobierzKlasePrzezNazwe("Technik"):
            {
                  szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
                  maksymalne_zdrowie_ gracza[id] = 130.0+PobierzZdrowie(id, 1, 1, 1);
            }
            default:
            {
                  szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
                  maksymalne_zdrowie_ gracza[id] = 130.0+PobierzZdrowie(id, 1, 1, 1);
            }
      }
      
      set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}

Lub druga metoda ( z if'ami)

public ZastosujAtrybuty(id)
{
      redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
    
      if(klasa_gracza[id] == PobierzKlasePrzezNazwe("Komandos"))
      {
            szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
            maksymalne_zdrowie_gracza[id] = 130.0+PobierzZdrowie(id, 1, 1, 1);
      }
      else if(klasa_gracza[id] == PobierzKlasePrzezNazwe("Sanitariusz"))
      {
            szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
            maksymalne_zdrowie_gracza[id] = 130.0+PobierzZdrowie(id, 1, 1, 1);
      }
      else if(klasa_gracza[id] == PobierzKlasePrzezNazwe("Technik"))
      {
            szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
            maksymalne_zdrowie_gracza[id] = 130.0+PobierzZdrowie(id, 1, 1, 1);
      }
      else
      {
            szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
            maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);
      }
    
      set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}

  • +
  • -
  • 1


#687560 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 10.02.2015 21:19

A no to że to że jakbyś miał item co leczy max hp to brakowałoby tyle ile dodatkowego ustawiłeś....

 

Bo ja dodawałem "na sztywno", a teraz dodaje do zmiennej maksymalne_zdrowie_gracza, która trzyma maksymalną wartość hp gracza :D


  • +
  • -
  • 1


#687469 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 10.02.2015 16:51

Ten kod klasy taki ma być.

Ogółem to każdą klasę można zrobić bezpośrednio w silniku.

A tu taki trik. Zastąp w silniku starą funkcję tą nową, wgraj ten kod co dałem (klasa)

public ZastosujAtrybuty(id)
{
	redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
	
	maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);
	
	if(klasa_gracza[id] == PobierzKlasePrzezNazwe("Komandos"))
	{
            szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
            
            set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]+30);
	}
	else
	{
            szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
            
            set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
	}
}

I daj znać


  • +
  • -
  • 1


#687537 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 10.02.2015 20:18

W ZastosujAtrybuty() zamień: PobierzKlasePrzezNazwe na PobierzKlasePrzezNazwe2

 

i na sam dół silnika:

stock PobierzKlasePrzezNazwe2(const nazwa[])
{
   for(new i=1; i <= ilosc_klas; i++)
      if(equal(nazwa, nazwy_klas[i]))
         return i;
   return 0;
}

Speed sobie reguluj (wartość 350.0, a to po tym to ze statystyk).

 

Opowiedz o HP więcej

 

 

@down

Nie przesadzajmy :P


  • +
  • -
  • 1


#687517 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 10.02.2015 18:52

public ZastosujAtrybuty(id)
{
    redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
    
    maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);
    
    if(klasa_gracza[id] == PobierzKlasePrzezNazwe("Komandos"))
    {
            szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
            set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]+30);
      }
      else if(klasa_gracza[id] == PobierzKlasePrzezNazwe("Sanitariusz"))
    {
            szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
            set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]+30);
      }
      else if(klasa_gracza[id] == PobierzKlasePrzezNazwe("Technik"))
    {
            szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
            set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]+20);
    }
    else
    {
            szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
            set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
    }
}

Albo:

(nie wiem czy styknie)

public ZastosujAtrybuty(id)
{
	redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
	
	maksymalne_zdrowie_ gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);
	
	switch(klasa_gracza[id])
	{
            case PobierzKlasePrzezNazwe("Komandos"):
            {
                  szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
                  set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]+30);
            }
            case PobierzKlasePrzezNazwe("Sanitariusz"):
            {
                  szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
                  set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]+30);
            }
            case PobierzKlasePrzezNazwe("Technik"):
            {
                  szybkosc_gracza[id] = 350.0+PobierzKondycje(id, 1, 1, 1)*1.3;
                  set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]+20);
            }
            default:
            {
                  szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
                  set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
            }
      }
}

PS, W Twoim kodzie pogubiłeś klamry! Uważaj na to!


  • +
  • -
  • 1


#687474 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 10.02.2015 16:55

No to tam zrobisz switch'a

 

 

Niestety, ja nie potrafię tego z poziomu klasy, chociaż HP by się dało pewnie...


  • +
  • -
  • 1


#687338 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 10.02.2015 02:11

Nie! Nie maksymalny poziom kondycji.
 

 

Daj funkcję ZastosujAtrybuty() z silnika CoD.

 

To będzie Twoja klasa:

#include <amxmodx>
#include <codmod>
#include <hamsandwich>


#define DMG_BULLET (1<<1)


new bool:ma_klase[33];

new const nazwa[] = "Komandos";
new const opis[] = "Natychmiastowe zabicie z noza(PPM)";
new const bronie    = (1<<CSW_SMOKEGRENADE)|(1<<CSW_USP)|(1<<CSW_DEAGLE);
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;

public plugin_init()
{
	register_plugin(nazwa, "1.0", "QTM_Peyote");
	
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_class_enabled(id)
{
	
	ma_klase[id] = true;
	
}

public cod_class_disabled(id)
{
	
	ma_klase[id] = false;
	
}

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_KNIFE && damagebits & DMG_BULLET && damage > 20.0)
		cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
	
	return HAM_IGNORED;
}

Teraz tylko czekam na funkcję z silnika CoD...


  • +
  • -
  • 1


#687298 HP i speed do klasy, bez punktow statystyk

Napisane przez Rivit w 09.02.2015 21:44

Ale ta funkcja co podałem to dodaje jako bonus...

Ile tego hp i speeda?
  • +
  • -
  • 1


#686799 Prosba o klasę Komandos [inny!]

Napisane przez KarlikAśki w 06.02.2015 21:19

Proszę na internecie znalazłem to

amxx.pl/topic/77389

wpisz w google wyskoczy paczka z awansami ściągnij i weź komandosa myśle że własnie o takiego chodzi.
  • +
  • -
  • 1


#685154 Szybkosc i HP w klasie

Napisane przez KarlikAśki w 27.01.2015 21:23

To napisz w dziale kompilacja i jutro ci to wykonam po szkolę około godz18.
  • +
  • -
  • 0


#684876 Szybkosc i HP w klasie

Napisane przez Wielkie Jol w 26.01.2015 16:02

1. spowodowane to jest tym kodem

	new classname[32]
	for(new i=1;i<31;++i)	if(i!=2)
		
	{
		register_plugin(nazwa, "1.0", "QTM_Peyote");
		
		cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
		
		RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
		
		RegisterHam(Ham_Spawn, "player", "respawn", 1);
		
		get_weaponname(i,classname,31);
		
		RegisterHam( Ham_CS_Item_GetMaxSpeed, classname, "GetItemMaxSpeed");
	}

2. A spróbowałeś to zmienić wartośćz  350 do np. 1000?

3.Usuń to

	new gracz[32]
	
	read_argv(1, gracz, 31)
	
	new player = cmd_target(1, gracz, 31)

        spawn(player)
        spawn(player)

  • +
  • -
  • 1


#684775 Szybkosc i HP w klasie

Napisane przez Wielkie Jol w 25.01.2015 17:23

1.

public cod_class_enabled(id)
{
    
    ma_klase[id] = true;
    set_user_health(id, 130);
    
}

2. http://amxx.pl/topic...ędkości-gracza/

 

  • +
  • -
  • 1


#684769 Szybkosc i HP w klasie

Napisane przez Wielkie Jol w 25.01.2015 17:15

Dodaj w takim razie też dodawanie życia przy aktywowaniu klasy

Co do szybkości pewnie nie odczuwasz bo mając podstawowo 250 speeda dodajesz mu ok. 0.4 tej wartości czyli łącznie jest jakieś 380 na oko. Daj sobie np. 1000 to różnice odczujesz. Ponadto do zmiany prędkości gracza polecam sposób BlackPerfuma - szukaj "lepszy sposób zmiany prędkości gracza"
  • +
  • -
  • 1


#684691 Szybkosc i HP w klasie

Napisane przez Wielkie Jol w 25.01.2015 09:17

Spróbuj chociaż, jeżeli nie zadziała wstaw kod i powiemy co źle. Zróbmy sobie przysługę na forum i nie czekajmy na gotowe, ale próbujmy sami.
  • +
  • -
  • 1


#684756 Szybkosc i HP w klasie

Napisane przez Wielkie Jol w 25.01.2015 16:17

Kiedy wywołuje się funkcja respawn?
  • +
  • -
  • 1