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
 

diablo9816 - zdjęcie

diablo9816

Rejestracja: 16.04.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 29.05.2019 10:47
-----

#718468 Jak pisać pluginy - przykład Exp Mod

Napisane przez diablo9816 w 18.01.2016 17:12

@up Jak już to pisze się "możesz"


  • +
  • -
  • 1


#446122 Prośba o przeróbkę 3 klas.

Napisane przez diablo9816 w 14.08.2012 12:36

Poprawiony rozpruwacz ;P

Załączone pliki


  • +
  • -
  • 2


#446117 Prośba o 2 klasy latwe ;D

Napisane przez diablo9816 w 14.08.2012 12:30

Sprinter
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <fakemeta>
	  
new const nazwa[]   = "Sprinter";
new const opis[]	= "";
new const bronie	= (1<<CSW_MP5NAVY);
new const zdrowie   = -20;
new const kondycja  = 130;
new const inteligencja = 2;
new const wytrzymalosc = 5;
  
new ma_klase[33];

public plugin_init()
{
	register_plugin(nazwa, "1.0", "Diablo");

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

	register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1);

}

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

}

public cod_class_disabled(id)
{
	set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
		ma_klase[id] = false;

}


//Przy kucaniu
public fwPrethink_Niewidzialnosc(id)
{
	if(!ma_klase[id])
		return;

	new button = get_user_button(id);
	if( button & IN_DUCK )
	{
		set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 50);
	}
	else
	{
		set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
	}
}

  • +
  • -
  • 1


#446060 prośba o 11 perków i jedną klase

Napisane przez diablo9816 w 14.08.2012 10:12


/* Plugin generated by AMXX-Studio */

#include <amxmodx>

#include <fakemeta>

#include <cstrike>

#include <codmod>

new const nazwa[] = "Bezlik ammo";

new const opis[] = "Natychmiastowe przeladowanie";

new bool:ma_perk[33];

new const max_clip[31] = { -1, 13, -1, 10,  1,  7,  1,  30, 30,  1,  30,  20,  25, 30, 35, 25,  12,  20,

10,  30, 100,  8, 30,  30, 20,  2,  7, 30, 30, -1,  50 };

public plugin_init()

{

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

	  

		cod_register_perk(nazwa, opis);

	  

		register_forward(FM_CmdStart, "CmdStart");

}

public cod_perk_enabled(id)

		ma_perk[id] = true;

	  

public cod_perk_disabled(id)

		ma_perk[id] = false;

public CmdStart(id, uc_handle)

{

		if(!is_user_alive(id) || !ma_perk[id])

				return FMRES_IGNORED;

	  

		new buttons = get_uc(uc_handle, UC_Buttons);

		new oldbuttons = pev(id, pev_oldbuttons);

		new clip, ammo, weapon = get_user_weapon(id, clip, ammo);

	  

		if(max_clip[weapon] == -1 || !ammo)

				return FMRES_IGNORED;

	  

		if((buttons & IN_RELOAD && !(oldbuttons & IN_RELOAD) && !(buttons & IN_ATTACK)) || !clip)

		{

				cs_set_user_bpammo(id, weapon, ammo-(max_clip[weapon]-clip));

				new new_ammo = (max_clip[weapon] > ammo)? clip+ammo: max_clip[weapon]

				set_user_clip(id, new_ammo);

		}

	  

		return FMRES_IGNORED;

}

stock set_user_clip(id, ammo)

{

		new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);

		get_weaponname(weapon, weaponname, 31);

		while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)

				if (pev(weaponid, pev_owner) == id) {

				set_pdata_int(weaponid, 51, ammo, 4);

				return weaponid;

		}

		return 0;

}


  • +
  • -
  • 1


#445878 Kilka Klas

Napisane przez diablo9816 w 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>
  • +
  • -
  • 0


#445823 Kilka Klas

Napisane przez diablo9816 w 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


#445783 Zmiana w komandosie 1/1 z noża

Napisane przez diablo9816 w 13.08.2012 19:59

Jak chcesz zeby działa musi być napisana tak jako premium chyba ze to nie premium


#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>
#include <cstrike>

#define DMG_BULLET (1<<1)



new const nazwa[] = "Komandos";
new const opis[] = "Ma 1/3 z ppm";
new const bronie = (1<<CSW_DEAGLE);
new const zdrowie = 40;
new const kondycja = 60;
new const inteligencja = 5;
new const wytrzymalosc = 0;

new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_A))
{
client_print(id, print_chat, "[Komandos] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
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(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,3) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}
  • +
  • -
  • 1