←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Niewidzialność dla telegrafisty

Zablokowany

  • +
  • -
s60v5 - zdjęcie s60v5 13.12.2010

Witam, zrobiłem dla telegrafisty niewidzialność, ale nie jest on niestety niewidzialny.
Oto moje sma: - czy może ktoś mi powiedzieć o jest nie tak?


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <colorchat>

new const nazwa[] = "Telegrafista";
new const opis[] = "Brak";
new const bronie = 1<<CSW_AK47;
new const zdrowie = 10;
new const kondycja = 0;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new g_msgHostageAdd, g_msgHostageDel;

new bool:ma_klase[33];


public plugin_init() {
	register_plugin(nazwa, "1.0", "QTM_Peyote");
	
	g_msgHostageAdd = get_user_msgid("HostagePos");
	g_msgHostageDel = get_user_msgid("HostageK");
	
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	
	set_task (2.0,"radar_scan",_,_,_,"b");
}

public cod_class_enabled(id) {
	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
	ma_klase[id] = true;
}
	
public cod_class_disabled(id) {
	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
	ma_klase[id] = false;
}

public radar_scan(id)
{
	new PlayerCoords[3];
                
	for (new id=1; id<=32; id++)
	{
		if((!is_user_alive(id))||(!ma_klase[id])) continue;
                        
		for (new i=1;i<=32;i++)
		{       
			if(!is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue;
			
			get_user_origin(i, PlayerCoords)
                                
			message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
			write_byte(id)
			write_byte(i)           
			write_coord(PlayerCoords[0])
			write_coord(PlayerCoords[1])
			write_coord(PlayerCoords[2])
			message_end()
                                
			message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
			write_byte(i)
			message_end()
		}
	}
}

Kompiluje się ok.
Pozdrawiam.
Odpowiedz

  • +
  • -
Hadziuk - zdjęcie Hadziuk 29.12.2010

public cod_class_enabled(id) {
	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
	ma_klase[id] = true;

kRenderTransAlpha ustaw na 0. Wtedy bedzie calkowicie niewidzialny a nie w okolo 80-90%
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 30.12.2010

Czasami przy zmianie broni, niewidzialność się resetuje. Jest na to sposób. W plugin_init dodaj to:
register_event("CurWeapon","CurWeapon","be", "1=1");
A to daj na końcu .sma:
public CurWeapon(id)
{
	new weapon = read_data(2);
	if(ma_klase[id])
	{
		if(weapon == CSW_KNIFE)
		{
			set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
		}
		if(weapon != CSW_KNIFE)
		{
			set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
		}
	}
}
Odpowiedz
Zablokowany