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
CoD Nowy

HP i speed do klasy, bez punktow statystyk

cod nowy

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

#1 wickedmaks

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 30.01.2015 17:29

Jak dodac do klasy HP i szybkosc poruszania sie nie dodajac niczego do punktow statystyk?

 

Jezeli komus pomoze to tutaj jest kod lecz nie dzialajacy:

Spoiler

  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 09.02.2015 21:01

A nie chcesz HP dodać przez cod_set_user_bonus_health()? i szbykość tak samo...

 

Co złego jest w bonusowych statystykach oO?


  • +
  • -
  • 0

#3 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 09.02.2015 21:37

Bo one dodaja punkty w kondycje i zycie a mi zalezy na tym zeby to niczego nie dodawalo tylko po prostu bylo na starcie.


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 09.02.2015 21:44

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

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

#5 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 09.02.2015 21:57

130 hp oraz 140% poruszania sie czyli jakies 350 :)


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#6 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 09.02.2015 22:04

Hm, Ale co ze statystyką kondycja? Bo ona te ustawia sZybkość :/
  • +
  • -
  • 0

#7 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 09.02.2015 22:13

Nie rozumiem? Chodzi mi o to zeby gracz na starcie dostawał:

130 HP + hp ze statystyki zycie

350 kondycji + kondycja ze statystyki 


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#8 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 09.02.2015 22:17

Problem w tym że jak ustawie tutaj prędkość na 350 i Ty to wgrasz to się ustawi tylko któreś z tych:
-z silnika
-z tej klasy
  • +
  • -
  • 0

#9 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 09.02.2015 22:22

To co trzeba zmienic w silniku? :)


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#10 KarlikAśki

    Wszechwidzący

  • Użytkownik

Reputacja: 30
Życzliwy

  • Postów:269
  • Imię:Jakub
  • Lokalizacja:Gdańsk
Offline

Napisano 10.02.2015 00:36

Maksymalny poziom kondycjii.
  • +
  • -
  • 0

#11 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 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

#12 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 10.02.2015 15:54

No chyba cos ci sie zle wkleilo albo nie ten kod bo tu nie ma nic o speedzie ani o HP.

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);
	
	szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
	
	set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}

  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#13 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 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

#14 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 10.02.2015 16:52

Fajna opcja ale troche chujówka bo jak to bedzie 20 kilka klas? 


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#15 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 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

#16 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 10.02.2015 17:27

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);
        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);
        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]);
	}
}

to bedzie poprawnie?


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#17 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 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

#18 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 10.02.2015 20:14

Nawet spoko jest ale HP nie dziala, normalnie mam setke, a speed dziala az za szybko w boki tak zapierdalam ze strach.

 

ale w konsoli errory sie posypaly, pewnie chodzi o warunek if klasa


L 02/10/2015 - 20:14:25: [AMXX] Run time error 10 (plugin "QTM_CodMod.amxx") (native "param_convert") - debug not enabled!
L 02/10/2015 - 20:14:25: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

Użytkownik wickedmaks edytował ten post 10.02.2015 20:15

  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#19 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 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

#20 wickedmaks

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Lokalizacja:Warszawa
Offline

Napisano 10.02.2015 20:32

Podmienilem to co kazales i wszystko dziala, nie wiem czemu wczesniej zle dzialalo.

Bardzo dziekuje za pomoc bo jako jedyny umiales to zrobic, zaslugujesz tutaj na jakas za***ista range.

 

Dziekuje!


  • +
  • -
  • 1

b_350_20_692108_381007_FFFFFF_000000.png






Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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