←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

pokazywanie ników z włączonym semiclip

Zablokowany

  • +
  • -
berix - zdjęcie berix 30.09.2008

Czesc przy włączonym pluginie semiclip (kod poniżej) chciałbym abypo najechaniu na gracza celownikiem pojawiła mi się nazwa gracza
(hud_message lub stndarodwe które jest w engine cs'a)


#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Semiclip"
#define VERSION "1.31"
#define AUTHOR "skyjur"

new bool:plrSolid[33]
new bool:plrRestore[33]
new plrTeam[33]

new maxplayers

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_forward(FM_PlayerPreThink, "preThink")
	register_forward(FM_PlayerPostThink, "postThink")
	
	register_forward(FM_AddToFullPack, "addToFullPack", 1)
	
	maxplayers = get_maxplayers()
}

public addToFullPack(es, e, ent, host, hostflags, player, pSet)
{
	if(player)
	{
		if(plrSolid[host] && plrSolid[ent] && plrTeam[host] == plrTeam[ent])
		{
			set_es(es, ES_Solid, SOLID_NOT)
			set_es(es, ES_RenderMode, kRenderTransAlpha)
			set_es(es, ES_RenderAmt, 85)
		}
	}
}

FirstThink()
{
	for(new i = 1; i <= maxplayers; i++)
	{
		if(!is_user_alive(i))
		{
			plrSolid[i] = false
			continue
		}
		
		plrTeam[i] = get_user_team(i)
		plrSolid[i] = pev(i, pev_solid) == SOLID_SLIDEBOX ? true : false
	}
}

public preThink(id)
{
	static i, LastThink
	
	if(LastThink > id)
	{
		FirstThink()
	}
	LastThink = id

	
	if(!plrSolid[id]) return
	
	for(i = 1; i <= maxplayers; i++)
	{
		if(!plrSolid[i] || id == i) continue
		
		if(plrTeam[i] == plrTeam[id])
		{
			set_pev(i, pev_solid, SOLID_NOT)
			plrRestore[i] = true
		}
	}
}

public postThink(id)
{
	static i
	
	for(i = 1; i <= maxplayers; i++)
	{
		if(plrRestore[i])
		{
			set_pev(i, pev_solid, SOLID_SLIDEBOX)
			plrRestore[i] = false
		}
	}
}
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 30.09.2008

hmm, ale przecież standardowo w csie jest, że po najechaniu na przeciwnika jest jego nick ;>
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 30.09.2008

Możesz też włączyć amxmodmenu, dać 9, potem 5 i tam włączyć ;)
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 30.09.2008

Ale mi się wydaje że przez to że można przechodzić przez innych graczy nie będzie wyświetlało normalnie ich nicków. Są tak jakby widoczni a nieobecni.
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 01.10.2008

Jesli ktos sie uprze, to moze zrobic za pomoca trace_line linie (po celowkiniku) i gdy ktos bedzie na lini to wyswietlic nick, lub prostrza funkcja get_user_aiming, ale jak bedzie przechodzic przez sciany to nie wiadomo czy za dziala ;-)
Odpowiedz

  • +
  • -
berix - zdjęcie berix 01.10.2008

hmm, ale przecież standardowo w csie jest, że po najechaniu na przeciwnika jest jego nick ;>


Możesz też włączyć amxmodmenu, dać 9, potem 5 i tam włączyć ;)


to wiem jakby to działało to bym tu nie pisał

Ale mi się wydaje że przez to że można przechodzić przez innych graczy nie będzie wyświetlało normalnie ich nicków. Są tak jakby widoczni a nieobecni.


czyli nic z tego ?
Odpowiedz
Zablokowany