←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
[ROZWIĄZANE] Poprawienie klasy


Najlepsza odpowiedź Droso 03.05.2015 15:55

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

#define DMG_BULLET (1<<1)

new const nazwa[] = "Ghost (Mega Premium)";
new const opis[] = "Zadajesz 10(+int) obrazen wiecej, posiada m4a1, ubranie wroga, 1/3 z HE, +3skok";
new const bronie = (1<<CSW_M4A1)|(1<<CSW_HEGRENADE);
new const zdrowie = 35;
new const kondycja = 20;
new const inteligencja = 10;
new const wytrzymalosc = 20;

new skoki[33];

new ma_klase[33];

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

public cod_class_enable(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_F))
	{
		client_print(id, print_chat, "[Ghost (Premium)] 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 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 ZmienUbranie(id,reset)
{
	if (id<1 || id>32 || !is_user_connected(id))
	return;

	if (reset)
	cs_reset_user_model(id);
	else
	{
		new Ubrania_CT[4][] = {"sas","gsg9","urban","gign"},
		Ubrania_Terro[4][] = {"arctic","leet","guerilla","terror"};

		new num = random_num(0,3);
		switch(get_user_team(id))
		{
			case 1: cs_set_user_model(id, Ubrania_CT[num]);
			case 2:cs_set_user_model(id, Ubrania_Terro[num]);
		}

	}
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(idattacker) || !is_user_connected(this))
	return HAM_IGNORED;
	
	if(!ma_klase[idattacker])
	return HAM_IGNORED;
	
	if(damagebits & DMG_BULLET)
	{
		new weapon = get_user_weapon(idattacker);
		
		if(weapon == CSW_M4A1)
		cod_inflict_damage(idattacker, this, 10.0, 0.7, idinflictor, damagebits);
	}
	
	if(random(3) == 0 && idattacker != idinflictor)
		cod_inflict_damage(idattacker, this, float(get_user_health(this))+99.0, 0.7, idinflictor, damagebits);
	
	return HAM_IGNORED;
}



Przejdź do postu
Zablokowany

  • +
  • -
Balian3D - zdjęcie Balian3D 03.05.2015

Witam. Czy mógł by ktoś poprawić mi klase którą pisałem albo pokazać błędy i poprawić?

Załączone pliki

Odpowiedz

  • +
  • -
Balian3D - zdjęcie Balian3D 03.05.2015

Parę błędów zauważyłem i poprawiłem lecz nadal coś nie chodzi błąd jest w m.in TakeDamage. 

 

Załączone pliki


Użytkownik Balian3D edytował ten post 03.05.2015 15:24
Odpowiedz

  • +
  • -
Najlepsza odpowiedź Droso - zdjęcie Droso 03.05.2015

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

#define DMG_BULLET (1<<1)

new const nazwa[] = "Ghost (Mega Premium)";
new const opis[] = "Zadajesz 10(+int) obrazen wiecej, posiada m4a1, ubranie wroga, 1/3 z HE, +3skok";
new const bronie = (1<<CSW_M4A1)|(1<<CSW_HEGRENADE);
new const zdrowie = 35;
new const kondycja = 20;
new const inteligencja = 10;
new const wytrzymalosc = 20;

new skoki[33];

new ma_klase[33];

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

public cod_class_enable(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_F))
	{
		client_print(id, print_chat, "[Ghost (Premium)] 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 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 ZmienUbranie(id,reset)
{
	if (id<1 || id>32 || !is_user_connected(id))
	return;

	if (reset)
	cs_reset_user_model(id);
	else
	{
		new Ubrania_CT[4][] = {"sas","gsg9","urban","gign"},
		Ubrania_Terro[4][] = {"arctic","leet","guerilla","terror"};

		new num = random_num(0,3);
		switch(get_user_team(id))
		{
			case 1: cs_set_user_model(id, Ubrania_CT[num]);
			case 2:cs_set_user_model(id, Ubrania_Terro[num]);
		}

	}
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(idattacker) || !is_user_connected(this))
	return HAM_IGNORED;
	
	if(!ma_klase[idattacker])
	return HAM_IGNORED;
	
	if(damagebits & DMG_BULLET)
	{
		new weapon = get_user_weapon(idattacker);
		
		if(weapon == CSW_M4A1)
		cod_inflict_damage(idattacker, this, 10.0, 0.7, idinflictor, damagebits);
	}
	
	if(random(3) == 0 && idattacker != idinflictor)
		cod_inflict_damage(idattacker, this, float(get_user_health(this))+99.0, 0.7, idinflictor, damagebits);
	
	return HAM_IGNORED;
}



Odpowiedz

  • +
  • -
Balian3D - zdjęcie Balian3D 03.05.2015

Nie działają skoki.. I takie pytanie jest to co w opisie czyli 1/3 z HE i 10(+int) 

Odpowiedz

  • +
  • -
MAGNET - zdjęcie MAGNET 04.05.2015

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany