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

Kilka Klas


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

#1 GoldenKill

    Guru

  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 13.08.2012 11:08

Medyk
inta 20
zdrowie 20
wytrzymałość 20
kondycja 15
bronie sg552
Opis
Posiada 2 apteczki oraz moze wskrzeszac umarlych (klawiszem z)

Navi
inta 10
zdrowie 0
wytrzymałość 0
kondycja 50
bronie xm1014
opis
Ma 1/6 szansy po zabujstwie wroga na kradziez jego ubrania


Za każdą klasę leci +
  • +
  • -
  • 0

#2 Hleb

    FC Barcelona <3

  • Użytkownik

Reputacja: 991
Master

  • Postów:405
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Sochaczew
Offline

Napisano 13.08.2012 11:12

Niestety nie da się klawiszem Z dac wskrzeszenia

Łap moją wersję, klawiszem Z zmieniasz między rozdawaniem apteczek a wskrzeszeniem (po wyborze klasy jest ładnie opisane)

Załączony plik  codclass_medyk.sma   5,49 KB  16 Ilość pobrań
  codclass_medyk.amxx
  • +
  • -
  • 1

Sprzedam:

System odznak premium do BF2 Rank Mod (dodatkowy sposób na zarobek)

 

Więcej Informacji na STEAM/GG/PW

 

 


#3 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 13.08.2012 11:59

Dzięki łap plus teraz navi

Nie działa medyk
  • +
  • -
  • 0

#4 diablo9816

    Życzliwy

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:29
  • Lokalizacja:lublin
Offline

Napisano 13.08.2012 20:19


#include <amxmodx>

#include <hamsandwich>

#include <codmod>

#include <engine>



native cod_add_wskrzes(id, ile)



new sprite_white;

new ilosc_apteczek_gracza[33];



new const nazwa[] = "Medyk";

new const opis[] = "Posiada 5 apteczek oraz bron mp5";

new const bronie = 1<<CSW_SG552;

new const zdrowie = 20;

new const kondycja = 15;

new const inteligencja = 0;

new const wytrzymalosc = 20;



new ma_klase[33];



public plugin_init()

{

    register_plugin("Medyk", "1.0", "QTM_Peyote");

   

    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

   

    register_think("medkit","MedkitThink");

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

}



public plugin_precache()

{

    sprite_white = precache_model("sprites/white.spr");

    precache_model("models/w_medkit.mdl");

}



public cod_class_enabled(id)

{

    ilosc_apteczek_gracza[id] = 5;

    cod_add_wskrzes(id, 1)

    ma_klase[id] = true

}



public cod_class_disabled(id)

{

    cod_add_wskrzes(id, 0)

    ma_klase[id] = false

}



public cod_class_skill_used(id)

{

    if (!ilosc_apteczek_gracza[id])

    {

        client_print(id, print_center, "Masz tylko 2 apteczki na runde!");

        return PLUGIN_CONTINUE;

    }

       

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

   

    return PLUGIN_CONTINUE;

}



public MedkitThink(ent)

{

    if(!is_valid_ent(ent))

        return PLUGIN_CONTINUE;

   

    new id = entity_get_edict(ent, EV_ENT_owner);

    new dist = 300;

    new heal = 5+floatround(cod_get_user_intelligence(id)*0.5);



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

    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 client_disconnect(id)

{

    new ent = -1

    while((ent = find_ent_by_class(ent, "medkit")))

    {

        if(entity_get_int(ent, EV_ENT_owner) == id)

            remove_entity(ent);

    }

}



public Spawn(id)

{

    if(!is_user_alive(id) || !is_user_connected(id))

        return PLUGIN_CONTINUE;



    if(ma_klase[id])

    {

        cod_add_wskrzes(id, 1)

        ilosc_apteczek_gracza[id] = 4;

    }

    return PLUGIN_CONTINUE;

}

  • +
  • -
  • 1

#5 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 13.08.2012 20:35

Dzięki a teraz navi chociaż ten medyk nie zgadza się z opisem
  • +
  • -
  • 0

#6 diablo9816

    Życzliwy

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:29
  • Lokalizacja:lublin
Offline

Napisano 13.08.2012 20:41

#include <amxmodx>
#include <hamsandwich>
#include <codmod>
#include <engine>
native cod_add_wskrzes(id, ile)
new sprite_white;
new ilosc_apteczek_gracza[33];
new const nazwa[] = "Medyk";
new const opis[] = "Posiada 2 apteczek oraz bron mp5";
new const bronie = 1<<CSW_SG552;
new const zdrowie = 20;
new const kondycja = 15;
new const inteligencja = 20;
new const wytrzymalosc = 20;
new ma_klase[33];
public plugin_init()
{
		register_plugin("Medyk", "1.0", "QTM_Peyote");
  
		cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
  
		register_think("medkit","MedkitThink");
		RegisterHam(Ham_Spawn, "player", "Spawn", 1);
}
public plugin_precache()
{
		sprite_white = precache_model("sprites/white.spr");
		precache_model("models/w_medkit.mdl");
}
public cod_class_enabled(id)
{
		ilosc_apteczek_gracza[id] = 2;
		cod_add_wskrzes(id, 1)
		ma_klase[id] = true
}
public cod_class_disabled(id)
{
		cod_add_wskrzes(id, 0)
		ma_klase[id] = false
}
public cod_class_skill_used(id)
{
		if (!ilosc_apteczek_gracza[id])
		{
				client_print(id, print_center, "Masz tylko 2 apteczki na runde!");
				return PLUGIN_CONTINUE;
		}
		  
		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);
  
		return PLUGIN_CONTINUE;
}
public MedkitThink(ent)
{
		if(!is_valid_ent(ent))
				return PLUGIN_CONTINUE;
  
		new id = entity_get_edict(ent, EV_ENT_owner);
		new dist = 300;
		new heal = 5+floatround(cod_get_user_intelligence(id)*0.5);
		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 );
		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 client_disconnect(id)
{
		new ent = -1
		while((ent = find_ent_by_class(ent, "medkit")))
		{
				if(entity_get_int(ent, EV_ENT_owner) == id)
						remove_entity(ent);
		}
}
public Spawn(id)
{
		if(!is_user_alive(id) || !is_user_connected(id))
				return PLUGIN_CONTINUE;
		if(ma_klase[id])
		{
				cod_add_wskrzes(id, 1)
				ilosc_apteczek_gracza[id] = 2;
		}
		return PLUGIN_CONTINUE;
}

Już sie zgadza :D <ciach>
Ojciec Dyrektor (13.08.2012 21:21):
Upraszanie się o punkty reputacji jest niemile widziane a w konsekwencji może zostać nagrodzone ujemnymi punktami lub ostrzeżeniem.

  • +
  • -
  • 0

#7 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 13.08.2012 21:11

Jeszcze navi
  • +
  • -
  • 0




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

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