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
Klasa

Prosba o naprawe klasy (Nie dzialaja skoki)

klasa

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

#1 NNK

    Zaawansowany

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:102
  • GG:
  • Imię:Kamil
  • Lokalizacja:Limanowa
Offline

Napisano 18.10.2016 20:05

Witam, dlaczego w tej klasie nie dziala triple jump ?

 

Załączone pliki


  • +
  • -
  • 0

#2 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

Napisano 19.10.2016 01:12

W cod_class_enabled :
ma_klase[id] = true;
  • +
  • -
  • 1

#3 NEQU#

    Wszechpomocny

  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 19.10.2016 11:50

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

#define RedukcjaWProcentach 15
#define Redukcja ((100-RedukcjaWProcentach)/100.0)

new bool:ma_klase[33];
new skoki[33];

new const nazwa[] = "(Premium) Obronca";
new const opis[] = "Otrzymujesz 15 procent mniejsze obrazenia, trzy skoki i dwie apteczki";
new const bronie    = (1<<CSW_FAMAS)|(1<<CSW_DEAGLE);
new const zdrowie = 20;
new const kondycja = 20;
new const inteligencja = 0;
new const wytrzymalosc = 10;


public plugin_init()
{
	register_plugin(nazwa, "1.0", "BlackPerfum");
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
	register_forward(FM_CmdStart, "CmdStart");

	register_think("medkit", "Think_Apteczki");

	RegisterHam(Ham_Spawn, "player", "fwSpawn_Apteczki", 1);

}

public plugin_precache()
{

	sprite_white_apteczki = precache_model("sprites/white.spr");
	precache_model("models/w_medkit.mdl");

}


public client_disconnect(id)
{

	new entApteczki = find_ent_by_class(0, "medkit");
	while(entApteczki > 0)
	{
		if(entity_get_edict(entApteczki, EV_ENT_owner) == id)
			remove_entity(entApteczki);
		entApteczki = find_ent_by_class(entApteczki, "medkit");
	}

}

public cod_class_enabled(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_A))
	{
		client_print(id, print_chat, "[(Premium) Obronca] Nie masz uprawnien, aby uzywac tej klasy.")
		return COD_STOP;
	}

	ilosc_apteczek_gracza[id] = 2;

	ma_klase[id] = true;
   
	return COD_CONTINUE;
}


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


public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!ma_klase[this]) return HAM_IGNORED;
SetHamParamFloat(4, damage*Redukcja);
return HAM_IGNORED;
}

public cod_class_skill_used(id)
{
        
	if (!ilosc_apteczek_gracza[id])
	{
		client_print(id, print_center, "Masz tylko 2 apteczki na runde!");
	}
	else
	{

		ilosc_apteczek_gracza[id]--;

		new Float:origin[3];
		entity_get_vector(id, EV_VEC_origin, origin);

		new ent = create_entity("info_target");
		entity_set_string(ent, EV_SZ_classname, "medkit");
		entity_set_edict(ent, EV_ENT_owner, id);
		entity_set_int(ent, EV_INT_solid, SOLID_NOT);
		entity_set_vector(ent, EV_VEC_origin, origin);
		entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);


		entity_set_model(ent, "models/w_medkit.mdl");
		set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 )     ;
		drop_to_floor(ent);


		entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
	}
}

public fwSpawn_Apteczki(id)
{
	if(is_user_alive(id))
		ilosc_apteczek_gracza[id] = 2;
}


public Think_Apteczki(ent)
{
	if(!is_valid_ent(ent))
		return PLUGIN_CONTINUE;

	new id = entity_get_edict(ent, EV_ENT_owner);
	new dist = 300;
	new heal = 10+floatround(cod_get_user_intelligence(id)*0.3);

	if (entity_get_edict(ent, EV_ENT_euser2) == 1)
	{
		new Float:forigin[3];
		entity_get_vector(ent, EV_VEC_origin, forigin);

		new entlist[33];
		new numfound = find_sphere_class(0,"player", float(dist),entlist, 32,forigin);

		for (new i=0; i < numfound; i++)
		{
			new pid = entlist[i];

			if (get_user_team(pid) != get_user_team(id))
				continue;

			new maksymalne_zdrowie = 100+cod_get_user_health(pid);
			new zdrowie = get_user_health(pid);
			new Float:nowe_zdrowie = (zdrowie+heal<maksymalne_zdrowie)?zdrowie+heal+0.0:maksymalne_zdrowie+0.0;
			if (is_user_alive(pid)) entity_set_float(pid, EV_FL_health, nowe_zdrowie);
		}

		entity_set_edict(ent, EV_ENT_euser2, 0);
		entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);

		return PLUGIN_CONTINUE;
	}

	if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
	{
		remove_entity(ent);
		return PLUGIN_CONTINUE;
	}

	if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
		set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 );

	new Float:forigin[3];
	entity_get_vector(ent, EV_VEC_origin, forigin);

	new iOrigin[3];
	for(new i=0;i<3;i++)
		iOrigin[i] = floatround(forigin[i]);

 	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
	write_byte( TE_BEAMCYLINDER );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] );
	write_coord( iOrigin[2] );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] + dist );
	write_coord( iOrigin[2] + dist );
	write_short( sprite_white_apteczki );
	write_byte( 0 ); // startframe
	write_byte( 0 ); // framerate
	write_byte( 10 ); // life
	write_byte( 10 ); // width
	write_byte( 255 ); // noise
	write_byte( 255 ); // r, g, b
	write_byte( 100 );// r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 128 ); // brightness
	write_byte( 0 ); // speed
	message_end();

	entity_set_edict(ent, EV_ENT_euser2 ,1);
	entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);


	return PLUGIN_CONTINUE;

}

public CmdStart(id, uc_handle)

{

	if(!is_user_alive(id) || !ma_klase[id]) //jeśli tworzymy perk, wstawiamy ma_perk zamiast ma_klase

		return FMRES_IGNORED;

	

	new flags = pev(id, pev_flags);

	

	if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])

	{

		skoki[id]--;

		new Float:velocity[3];

		pev(id, pev_velocity,velocity);

		velocity[2] = random_float(265.0,285.0);

		set_pev(id, pev_velocity,velocity);

	}

	else if(flags & FL_ONGROUND)

		skoki[id] = 2; //tutaj podajemy ilość skokow w powietrzu, jaką może wykonać klasa

	

	return FMRES_IGNORED;

}

  • +
  • -
  • 1

#4 NNK

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:102
  • GG:
  • Imię:Kamil
  • Lokalizacja:Limanowa
Offline

Napisano 30.10.2016 17:25

Teraz mam maly problem bo po zmianie klasy z obecnej na inna skoki zostaja, jakas pomoc ? xD gdzie jeszcze wciasnac warunek ma_klase 


  • +
  • -
  • 0

#5 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

Napisano 30.10.2016 18:47

Wystarczą dwa warunki: w Cod class enabled i disabled.
W funkcji cmd start warunki też wydają się poprawne. Sprawdź, czy Twoja wersja zgadza się z wersją kolegi wyżej.
Wklej też: client_print(id, 3, "Skoki klasy Obronca");
Zaraz po pierwszym fmres_ignored funkcji cmd_start.
Jeżeli, podczas gry inna klasą, napis w cudzysłowie się wyświetla na chacie, to znaczy, że klasa odziedziczyła skoki po klasie Obrońca. Jeżeli nic się nie pokazuje, to problem leży zupełnie gdzie indziej.

Użytkownik _McHappy edytował ten post 30.10.2016 18:49

  • +
  • -
  • 1

#6 FinalRing

    Pomocny

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:43
  • Imię:Kacper
  • Lokalizacja:Bydgoszcz
Offline

Napisano 31.10.2016 21:07

Zamiast mu pisać niepotrzebne tezy poprawili byście klasę...

 

Proszę poprawione powinno wszystko śmigać.

 

Załączony plik  codclass_Obronca.sma   5,58 KB  66 Ilość pobrań
  codclass_Obronca.amxx


  • +
  • -
  • 1

#7 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

Napisano 01.11.2016 10:37

Zamiast mu pisać niepotrzebne tezy poprawili byście klasę...

Proszę poprawione powinno wszystko śmigać.

Chyba nie czytałeś pierwszego postu...
Na gotowe to każdy potrafi, wytłumaczyć to już inna sprawa.

Użytkownik _McHappy edytował ten post 01.11.2016 10:38

  • +
  • -
  • 0

#8 FinalRing

    Pomocny

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:43
  • Imię:Kacper
  • Lokalizacja:Bydgoszcz
Offline

Napisano 01.11.2016 12:21

 

Zamiast mu pisać niepotrzebne tezy poprawili byście klasę...

Proszę poprawione powinno wszystko śmigać.

Chyba nie czytałeś pierwszego postu...
Na gotowe to każdy potrafi, wytłumaczyć to już inna sprawa.

 

Proszę bardzo co w moim kodzie sie różni przede wszystkim:

 

cod_class enabled i disabled  koniecznie z nawiasami { oraz }

 

dodana bilbioteka <engine> usunięty registerham hamspawn

 

nie potrzebnie mu jakies warunki pisaliście bo wystarczy popatrzeć jak klasa ma wyglądać mogłes zacząć edytowac klase podstawową z codmod medyk i dodac do niej tylko umiejętność mniejszych obrażen i skoki a skoki to kwestia minuty lub 2 by dodać bo to tylko jeden register_forward new skoki oraz public i gotowe

 

 


Użytkownik FinalRing edytował ten post 01.11.2016 12:28

  • +
  • -
  • 1

#9 NNK

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:102
  • GG:
  • Imię:Kamil
  • Lokalizacja:Limanowa
Offline

Napisano 03.11.2016 16:39

Mc happy dzięki za fajny pomysl na sprawdzanie bugow bo ja bym nie pomyslal zeby tak zrobic, będę z tego korzystal jesli moge, a co do klasy, to dzięki za poprawienie jej chlopaki :D Oczywiscie plusy poszly


  • +
  • -
  • 0





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

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

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