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

[ROZWIĄZANE] poprawa 2 klas

CoD Nowy

  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 shoote

    Profesjonalista

  • Zbanowany

Reputacja: -6
Nowy

  • Postów:180
  • GG:
  • Imię:Patryk
  • Lokalizacja:Kętrzyn
Offline

Napisano 27.08.2012 12:59

chcialbym aby ta klasa miala 3 rakiety i +500dmg z jednej

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
#include <fun>

#define DMG_BULLET (1<<1)
#define DMG_HE (1<<24)

#define PLUGIN "Klasa"
#define VERSION "1.0"
#define AUTHOR "flk"
new const nazwa[]   = "EMEJZING (Mega Premium)";
new const opis[]	= "180hp bazowe, 1/8 Krowa, 1/7 AK, 1/5 Deagle, 1/2 HE, 3 skoki, 5 rakiet";
new const bronie	= (1<<CSW_HEGRENADE)|(1<<CSW_M249)|(1<<CSW_AK47)|(1<<CSW_DEAGLE);
new const zdrowie   = 80;
new const kondycja  = 50;
new const inteligencja = 0;
new const wytrzymalosc = 0;
  
new sprite_blast;
new ilosc_rakiet_gracza[33];
new poprzednia_rakieta_gracza[33];
new skoki[33];
new ma_klase[33];
public plugin_init()
{
	register_plugin(nazwa, "1.0", "amxx.pl");
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	register_touch("rocket", "*" , "DotykRakiety");
	RegisterHam(Ham_Spawn, "player", "fwSpawn_Rakiety", 1);

	register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
  
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public plugin_precache()
{
	sprite_blast = precache_model("sprites/dexplo.spr");
	precache_model("models/rpgrocket.mdl");
}
public client_disconnect(id)
{
	new entRakiety = find_ent_by_class(0, "rocket");
	while(entRakiety > 0)
	{
			if(entity_get_edict(entRakiety, EV_ENT_owner) == id)
					remove_entity(entRakiety);
			entRakiety = find_ent_by_class(entRakiety, "rocket");
	}
}
public cod_class_enabled(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
			client_print(id, print_chat, "[EMEJZING (Mega Premium)] Nie masz uprawnien, aby uzywac tej klasy.")
			return COD_STOP;
	}
	ilosc_rakiet_gracza[id] = 5;
	give_item(id, "weapon_hegrenade");
	entity_set_float(id, EV_FL_gravity, 420.0/800.0);
	ma_klase[id] = true;

	return COD_CONTINUE;
}
public cod_class_disabled(id)
{
  entity_set_float(id, EV_FL_gravity, 1.0);
	ma_klase[id] = false;
}
public fwSpawn_Grawitacja(id)
{
if(ma_klase[id])
  entity_set_float(id, EV_FL_gravity, 420.0/800.0);
}
public cod_class_skill_used(id)
{
	if (!ilosc_rakiet_gracza[id])
	{
			client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");
	}
	else
	{
			if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
			{
					client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");
			}
			else
			{
					if (is_user_alive(id))
					{
							poprzednia_rakieta_gracza[id] = floatround(get_gametime());
							ilosc_rakiet_gracza[id]--;
							new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
							entity_get_vector(id, EV_VEC_v_angle, vAngle);
							entity_get_vector(id, EV_VEC_origin , Origin);
							new Ent = create_entity("info_target");
							entity_set_string(Ent, EV_SZ_classname, "rocket");
							entity_set_model(Ent, "models/rpgrocket.mdl");
							vAngle[0] *= -1.0;
							entity_set_origin(Ent, Origin);
							entity_set_vector(Ent, EV_VEC_angles, vAngle);
							entity_set_int(Ent, EV_INT_effects, 2);
							entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
							entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
							entity_set_edict(Ent, EV_ENT_owner, id);
							VelocityByAim(id, 1000 , Velocity);
							entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
					}
			}
	}
}
public fwSpawn_Rakiety(id)
{
	if(is_user_alive(id))
			ilosc_rakiet_gracza[id] = 3;
}
public DotykRakiety(ent)
{
	if (!is_valid_ent(ent))
			return;
	new attacker = entity_get_edict(ent, EV_ENT_owner);

	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_EXPLOSION);
	write_coord(iOrigin[0]);
	write_coord(iOrigin[1]);
	write_coord(iOrigin[2]);
	write_short(sprite_blast);
	write_byte(32);
	write_byte(20);
	write_byte(0);
	message_end();
	new entlist[33];
	new numfound = find_sphere_class(ent, "player", 190.0, entlist, 32);
	for (new i=0; i < numfound; i++)
	{
			new pid = entlist[i];
			if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
					continue;
			cod_inflict_damage(attacker, pid, 55.0, 0.9, ent, (1<<24));
	}
	remove_entity(ent);
}
public fwCmdStart_MultiJump(id, uc_handle)
{
	if(!is_user_alive(id) || !ma_klase[id])
			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;
	return FMRES_IGNORED;
}
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_DEAGLE && damage > 20.0 && random_num(1,5) == 1)
																					cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
												
												   if(weapon == CSW_AK47 && damage > 20.0 && random_num(1,7) == 1)
																					cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
													if(weapon == CSW_M249 && damage > 20.0 && random_num(1,8) == 1)
																					cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
	}
  
	if(damagebits & DMG_HE && !random(2))
			cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
  
	return HAM_IGNORED;
}


A ta 3 miny + 500 dmg z jednej

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
#include <fun>
		  
#define DMG_BULLET (1<<1)
#define DMG_HE (1<<24)
new const nazwa[]   = "KOKSU (Mega Premium)";
new const opis[]	= "200hp bazowe, 1/6 DGL, 1/3 HE, 1/10 MP5, 1/9 M4, 1/9 Krowa, zmiejszona grawitacja, 2 skoki + 8 min";
new const bronie	= (1<<CSW_HEGRENADE)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE);
new const zdrowie   = 200;
new const kondycja  = 50;
new const inteligencja = 0;
new const wytrzymalosc = 0;
  
new const modelMiny[] = "models/QTM_CodMod/mine.mdl"
new sprite_blast_miny;
new ilosc_min_gracza[33];
new skoki[33];
new bool: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_Spawn, "player", "fwSpawn_Grawitacja", 1);
register_touch("mine", "player",  "DotykMiny");
register_event("HLTV", "NowaRunda_Miny", "a", "1=0", "2=0");
RegisterHam(Ham_Spawn, "player", "fwSpawn_Miny", 1);

register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
			RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public plugin_precache()
{
precache_model(modelMiny);
sprite_blast_miny = precache_model("sprites/dexplo.spr");
}
public client_disconnect(id)
{
new entMiny = find_ent_by_class(0, "mine");
while(entMiny > 0)
{
  if(entity_get_edict(entMiny, EV_ENT_owner) == id)
   remove_entity(entMiny);
  entMiny = find_ent_by_class(entMiny, "mine");
}
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
  client_print(id, print_chat, "[KOKSU (Mega Premium)] Nie masz uprawnien, aby uzywac tej klasy.")
  return COD_STOP;
}
  entity_set_float(id, EV_FL_gravity, 420.0/800.0);
ilosc_min_gracza[id] = 8;
give_item(id, "weapon_hegrenade");
ma_klase[id] = true;

return COD_CONTINUE;
}
public cod_class_disabled(id)
{
  entity_set_float(id, EV_FL_gravity, 1.0);
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
		  
if (!ilosc_min_gracza[id])
{
  client_print(id, print_center, "Wykorzystales juz wszystkie miny!");
}
else
{
  ilosc_min_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, "mine");
  entity_set_edict(ent ,EV_ENT_owner, id);
  entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
  entity_set_origin(ent, origin);
  entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
  entity_set_model(ent, modelMiny);
  entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
  drop_to_floor(ent);
  set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50);
}
}
public fwSpawn_Grawitacja(id)
{
if(ma_klase[id])
  entity_set_float(id, EV_FL_gravity, 450.0/800.0);
}

public fwSpawn_Miny(id)
{
if(is_user_alive(id))
  ilosc_min_gracza[id] = 3;
}
public DotykMiny(ent, id)
{
if(!is_valid_ent(ent))
  return;
new attacker = entity_get_edict(ent, EV_ENT_owner);
if (get_user_team(attacker) != get_user_team(id))
{
  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_EXPLOSION);
  write_coord(iOrigin[0]);
  write_coord(iOrigin[1]);
  write_coord(iOrigin[2]);
  write_short(sprite_blast_miny);
  write_byte(32);
  write_byte(20);
  write_byte(0);
  message_end();
  new entlist[33];
  new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
  for (new i=0; i < numfound; i++)
  {
   new pid = entlist[i];
   if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
	continue;
   cod_inflict_damage(attacker, pid, 70.0, 0.8, ent, (1<<24));
  }
  remove_entity(ent);
}
}
public NowaRunda_Miny()
{
new entMiny = find_ent_by_class(-1, "mine");
while(entMiny > 0)
{
  remove_entity(entMiny);
  entMiny = find_ent_by_class(entMiny, "mine");
}
}
public fwCmdStart_MultiJump(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id])
  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;
return FMRES_IGNORED;
}
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_DEAGLE && damage > 20.0 && random_num(1,6) == 1)
											cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
							if(weapon == CSW_MP5NAVY && damage > 20.0 && random_num(1,10) == 1)
											cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
							if(weapon == CSW_M249 && damage > 20.0 && random_num(1,9) == 1)
											cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
							if(weapon == CSW_M4A1 && damage > 20.0 && random_num(1,9) == 1)
											cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}

if(damagebits & DMG_HE && !random(3))
  cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

Będą plusiki
Dołączona grafika

IP : 31.186.84.46:27082

#2 shoote

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -6
Nowy

  • Postów:180
  • GG:
  • Imię:Patryk
  • Lokalizacja:Kętrzyn
Offline

Napisano 28.08.2012 13:43

ref
Dołączona grafika

IP : 31.186.84.46:27082

#3 shoote

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -6
Nowy

  • Postów:180
  • GG:
  • Imię:Patryk
  • Lokalizacja:Kętrzyn
Offline

Napisano 31.08.2012 07:52

ref
Dołączona grafika

IP : 31.186.84.46:27082

#4 Mr.Dziobak

    Zaawansowany

  • Zbanowany

Reputacja: -1
Nowy

  • Postów:101
  • Lokalizacja:ZST
Offline

Napisano 31.08.2012 10:14

Proszę o to 2 klasy ,

Emejzing ma 5 rakiet +500dmg(+int) czyli jak dodasz i inteligencje bd wieksze obrazenia

Koksu 3 miny +500dmg(+int) czyli jak dodasz i inteligencje bd wieksze obrazenia

Załączone pliki



#5 shoote

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: -6
Nowy

  • Postów:180
  • GG:
  • Imię:Patryk
  • Lokalizacja:Kętrzyn
Offline

Napisano 31.08.2012 10:21

ok dzięki, stestuje
Dołączona grafika

IP : 31.186.84.46:27082

#6 Ojciec Dyrektor

    papa smerf.

  • Przyjaciel

Reputacja: 477
Wszechobecny

  • Postów:3 035
  • Imię:Paweł
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 01.09.2012 20:54

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





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