←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
[ROZWIĄZANE] Jak można zrobić x sec niewid...


Najlepsza odpowiedź PrezydenT 22.05.2014 19:35

Do includów:

#include <engine>
#include <hamsandwich>

Pod includami:

#define DMG_BULLET (1<<1)
new ma_klase[33];
new ma_niewidke[33];

Do plugin_init:

RegisterHam(Ham_Spawn, "Wylacz_i_Daj", "Spawn");

Do cod_class_enabled:

ma_klase[id] = true;
ma_niewidke[id] = true;

Do cod_class_disabled:

ma_klase[id] = false;
ma_niewidke[id] = false;

Do cod_class_skill_used:

if(ma_niewidke[id] && is_user_alive(id))
	{
		set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 0);
		StworzPasekLadowania(id, 10.0)				
		set_task(10.0, "WylaczNiewidke", id);
		client_print(id, print_center, "Wlaczyles Niewidzialnosc!");
		ma_niewidke[id] = false;
	}
	if(!ma_niewidke[id])
	{
		client_print(id, print_center, "Juz Wykorzystales Niewidzialnosc!");
	}

I na koniec .sma dodajesz:

public WylaczNiewidke(id)
{
	if(ma_klase[id])
	{
		set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
		client_print(id, print_center, "Koniec Niewidzialnosci!");
	}
}

public Wylacz_i_Daj(id)
{
	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
	ma_niewidke[id] = true;
}



stock StworzPasekLadowania(id, Float:fTime, startprogress = 0)
{
	static barTime2;
	if(!barTime2) barTime2 = get_user_msgid("BarTime2");
	message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id)
	write_short( floatround( fTime ) );
	write_short( startprogress );
	message_end(); 
}

Jeżeli wszystko dobrze dodasz, powinno zatrybić :)

Przejdź do postu
Zablokowany

  • +
  • -
.::Respawn::. - zdjęcie .::Respawn::. 20.05.2014

Jak w temacie: Popularna klasa Predator.

Ma 10 sec niewidki co runde.

Ale ja bym chciał kod jak to zrobić, ponieważ tworzę własną klasę.

Odpowiedz

  • +
  • -
Najlepsza odpowiedź PrezydenT - zdjęcie PrezydenT 22.05.2014

Do includów:

#include <engine>
#include <hamsandwich>

Pod includami:

#define DMG_BULLET (1<<1)
new ma_klase[33];
new ma_niewidke[33];

Do plugin_init:

RegisterHam(Ham_Spawn, "Wylacz_i_Daj", "Spawn");

Do cod_class_enabled:

ma_klase[id] = true;
ma_niewidke[id] = true;

Do cod_class_disabled:

ma_klase[id] = false;
ma_niewidke[id] = false;

Do cod_class_skill_used:

if(ma_niewidke[id] && is_user_alive(id))
	{
		set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 0);
		StworzPasekLadowania(id, 10.0)				
		set_task(10.0, "WylaczNiewidke", id);
		client_print(id, print_center, "Wlaczyles Niewidzialnosc!");
		ma_niewidke[id] = false;
	}
	if(!ma_niewidke[id])
	{
		client_print(id, print_center, "Juz Wykorzystales Niewidzialnosc!");
	}

I na koniec .sma dodajesz:

public WylaczNiewidke(id)
{
	if(ma_klase[id])
	{
		set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
		client_print(id, print_center, "Koniec Niewidzialnosci!");
	}
}

public Wylacz_i_Daj(id)
{
	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
	ma_niewidke[id] = true;
}



stock StworzPasekLadowania(id, Float:fTime, startprogress = 0)
{
	static barTime2;
	if(!barTime2) barTime2 = get_user_msgid("BarTime2");
	message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id)
	write_short( floatround( fTime ) );
	write_short( startprogress );
	message_end(); 
}

Jeżeli wszystko dobrze dodasz, powinno zatrybić :)

Odpowiedz
Zablokowany