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

Chowany jako wybieranie koloru z CT


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 scg mieszko

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:5
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 05.12.2016 18:08

Witam! Mam problem potrzebuję pluginu gdy CT znalazł chowanego (TT) a TT wybiera kolor w menu.

 

Przykładowo w siz.sma:

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


#define ACCESS_HAS ADMIN_RCON

#define PLUGIN_NAME "Schowaj i Znajdz"
#define HAS_VERSION "2.0"


new hidesongs[][] = 
{ 
	"Prospero03", "Prospero05", "Suspense05", 
	"Suspense03", "Suspense01" 
}

new seekerssongs[][] = 
{ 
	"Half-Life03", "Half-Life04", "Half-Life05", 
	"Half-Life06", "Half-Life07", "Half-Life09", 
	"Half-Life10", "Half-Life14", "Half-Life15" 
}

new seekedsongs[][] = 
{ 
	"Half-Life01", "Half-Life02", "Half-Life08", 
	"Half-Life11", "Half-Life12", "Half-Life13", 
	"Half-Life16", "Half-Life17" 
}

new mincats = 1; 
new mice = 1; 
new Float:hidetime = 45.0; 

new flashlight[33];
new color[33];

new g_color[][] = 
{ 
	{100,0,0},{0,100,0},{0,0,100},{0,100,100},{100,100,0}
}

new skies[][] = { "space" };

new flashlight_custom, flashlight_radius, flashlight_only_ct;
new gmsgFlashlight, gmsgTeamInfo;

new active; 
new phase; 
new killed[32];
new s_gravity, s_roundtime, s_freezetime, s_limitteams, s_autoteambalance, s_alltalk, s_footsteps, s_friendlyfire, s_startmoney;  // Used to save original server CVars values
new Float:s_buytime; 
new transferring[33]; 
new gmsgScreenFade;
//new inround = 0
new counter; 
new hasdbg = 0; 
new sound[33];
new bool:hostageMade;

#define RED get_pcvar_num(soul_bodyglow_r)
#define GREEN get_pcvar_num(soul_bodyglow_g)
#define BLUE get_pcvar_num(soul_bodyglow_b)

new soul_bodyglow_r;
new soul_bodyglow_g;
new soul_bodyglow_b;
new soul_bodyglow;
new g_iCamera[ 33 ];
new bool:g_bFlying[ 33 ];
new bool:g_bActivated[ 33 ];

new amx_hs_light, amx_hs_flash, radius_cvar;
new autolaunch;

new g_opt[33][2];
new g_decompte;

new amx_namegame;

// Fakemeta Convertion
#define OFFSET_TEAM		114
#define OFFSET_NVGOGGLES	129
#define HAS_NVGOGGLES		(1<<0)

#define fm_create_entity(%1)	engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
#define fm_is_valid_ent(%1)	pev_valid(%1)

enum
{
	FM_TEAM_UNASSIGNED,
	FM_TEAM_T,
	FM_TEAM_CT,
	FM_TEAM_SPECTATOR,
	
	FM_TEAM_MAX
};

stock get_maxcats() 
{
	new playersnum, Float:div, ndiv, result;
	playersnum = get_playersnum(1);
	div = float(playersnum) / 6;
	ndiv = floatround(div,floatround_floor);
	
	if( ndiv < mincats )
		result = mincats;
	else
		result = ndiv;

	return result;
}

public plugin_init()
{
	register_plugin(PLUGIN_NAME, HAS_VERSION, "djeyL/xKanGur/INeedHelp/xPaw/Tolsty"); 
	
	register_cvar("amx_cc_version", HAS_VERSION, FCVAR_SERVER);
	set_cvar_string("amx_cc_version", HAS_VERSION)
	register_cvar("amx_cc_decompte", "0");
	amx_hs_light		= register_cvar("siz_light","1");
	amx_hs_flash		= register_cvar("siz_flash","4"); 
	amx_namegame  = register_cvar( "amx_namegame", "Schowaj i Znajdz v2.0" );
	radius_cvar		= register_cvar("siz_radius_cvar","110");
	autolaunch		= register_cvar("amx_autostart","1");	
	flashlight_custom	= register_cvar("siz_flashlight_custom","1");
	flashlight_radius	= register_cvar("siz_flashlight_radius","23");
	flashlight_only_ct	= register_cvar("siz_flashlight_only_ct","1"); 
	
	register_concmd("amx_siz", "hideandseek", ACCESS_HAS, "- <on|off|mincats x|mice x|hidetime x>");
	register_clcmd("jointeam",	"jointeam");
	register_clcmd("say /muzyka",	"stopsound");
	register_clcmd("chooseteam",	"chooseteam");
	register_clcmd("buy",		"buy");

	register_event("SendAudio",	"endround",	"a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw");
	register_event("TextMsg",	"gamestart",	"a", "2&#Game_C", "2&#Game_w");
	register_event("RoundTime",	"newround",	"bc");
	register_event("CurWeapon",	"switchweapon",	"be", "1=1");
	register_event("DeathMsg",	"deathmsg",	"a");
	register_event("ScreenFade",	"FlashedEvent",	"be","4=255","5=255","6=255","7>199");
	register_event("Flashlight",	"event_flashlight", "b");
	
	register_forward(FM_PlayerPreThink, "fwdPlayerPreThink", 0);
	register_forward( FM_GetGameDescription, "GameDesc" );


	soul_bodyglow = register_cvar("soul_bodyglow","1");
	soul_bodyglow_r = register_cvar("soul_bodyglow_r","255");
	soul_bodyglow_g = register_cvar("soul_bodyglow_g","255");
	soul_bodyglow_b = register_cvar("soul_bodyglow_b","0");

	register_forward( FM_CmdStart, "FwdCmdStart" );

	register_clcmd("say /freelook", "CmdActivate");
	register_clcmd("say /firstperson", "CmdActivate");
	register_clcmd("freelook", "CmdActivate");
	register_clcmd("firstperson", "CmdActivate");

	new iEntity;
	new iMaxPlayers = get_maxplayers( );
	for( new client = 1; client <= iMaxPlayers; client++ ) {
		iEntity = create_entity( "info_target" );
		entity_set_string( iEntity, EV_SZ_classname, "player_soul" );
		entity_set_int( iEntity, EV_INT_movetype, MOVETYPE_FLY ); // noclip is buggy when going deep into walls :(
		entity_set_int( iEntity, EV_INT_solid, SOLID_NOT );
		entity_set_model( iEntity, "models/w_usp.mdl" );
		set_rendering( iEntity, kRenderFxNone, 0, 0, 0, kRenderTransTexture, 0 );
		g_iCamera[ client ] = iEntity;

	}
	
	active = 0;
	gmsgScreenFade	= get_user_msgid("ScreenFade");
	gmsgFlashlight	= get_user_msgid("Flashlight");
	gmsgTeamInfo	= get_user_msgid( "TeamInfo" );
	
	set_cvar_num("mp_flashlight",1);
	set_task(15.0, "lauchgame", 165);
}

public GameDesc( ) {
static namegame[32];
get_pcvar_string( amx_namegame, namegame, 31 );
forward_return( FMV_STRING, namegame );
return FMRES_SUPERCEDE;
}

public render(client) {
	set_user_rendering(client,21,0,0,0,0,0)
}

public FwdPlayerSpawn( client ) {
	if( is_user_alive( client ) && g_bFlying[ client ] ) {
		ResetCamera( client );
	}
}

public FwdPlayerDeath( client ) {
	if( !is_user_alive( client ) && g_bFlying[ client ] ) {
		ResetCamera( client );
	}
}

public CmdActivate(client) {
	if(get_user_team(client) == 2) 
		return PLUGIN_HANDLED;

	if( g_bActivated[client] )
		g_bActivated[client] = false;
	else {
		g_bActivated[client] = true;
	}

	return PLUGIN_CONTINUE;
}

public FwdCmdStart( client, ucHandle ) {
	if( !is_user_alive( client ) ) {
		return;
	}

	static iButtons;
	iButtons = get_uc( ucHandle, UC_Buttons );

	if( g_bActivated[client] ) {
		if( g_bFlying[ client ] ) {
			ResetCamera( client );
			g_bActivated[client] = false;
		} else if( pev( client, pev_flags ) & FL_ONGROUND && !( iButtons & IN_DUCK )) {
			g_bFlying[ client ] = true;
			attach_view( client, g_iCamera[ client ] );
			static Float:vOrigin[ 3 ]; 
			entity_get_vector( client, EV_VEC_origin, vOrigin );
			entity_set_vector( g_iCamera[ client ], EV_VEC_origin, vOrigin );
			vOrigin[2] -= 15;
			entity_set_vector( client , EV_VEC_origin, vOrigin );

			g_bActivated[client] = false;

		} else {
			g_bActivated[client] = false;
			client_print(client, print_chat, "[SiZ] Nie mozesz przejsc w tryb freelook bedąc w powietrzu lub kucajac!");
		}
	}
	if( g_bFlying[ client ] ) {

		static Float:vAimVelocity[ 3 ];
		velocity_by_aim( client, 250, vAimVelocity );

		new Float:vVelocity[ 3 ];
		if( iButtons & IN_FORWARD ) {
			vVelocity[ 0 ] += vAimVelocity[ 0 ];
			vVelocity[ 1 ] += vAimVelocity[ 1 ];
			vVelocity[ 2 ] += vAimVelocity[ 2 ];
		}
		if( iButtons & IN_BACK ) {
			vVelocity[ 0 ] -= vAimVelocity[ 0 ];
			vVelocity[ 1 ] -= vAimVelocity[ 1 ];
			vVelocity[ 2 ] -= vAimVelocity[ 2 ];
		}
		if( iButtons & IN_MOVERIGHT ) {
			vVelocity[ 0 ] += vAimVelocity[ 1 ];
			vVelocity[ 1 ] -= vAimVelocity[ 0 ];
		}
		if( iButtons & IN_MOVELEFT ) {
			vVelocity[ 0 ] -= vAimVelocity[ 1 ];
			vVelocity[ 1 ] += vAimVelocity[ 0 ];
		}
		entity_set_vector( g_iCamera[ client ], EV_VEC_velocity, vVelocity );
		entity_get_vector( client, EV_VEC_v_angle, vVelocity );
		entity_set_vector( g_iCamera[ client ], EV_VEC_angles, vVelocity );
	}

}

ResetCamera( client ) {
	g_bFlying[ client ] = false;
	attach_view( client, client );
	static Float:vOrigin[ 3 ]; 
	entity_get_vector( client, EV_VEC_origin, vOrigin );
	vOrigin[2] += 15;
	delay_duck(client)
	entity_set_vector( client , EV_VEC_origin, vOrigin );
	render(client)
}  

delay_duck(client)
{
	set_task(0.01, "force_duck", client);
	set_entity_flags(client, FL_DUCKING, 1);
}

public force_duck(client)
{
	set_entity_flags(client, FL_DUCKING, 1);
} 

public stopsound(id) {

	if(sound[id]) {
		client_cmd(id,"mp3 stop");
		client_cmd(id, "stopsound");
		client_print(id, print_chat, "[SiZ] Muzyka wylaczona!");
		sound[id] = false;
	}
	else {
		new a = random_num(0, sizeof(hidesongs) - 1);
		client_print(id, print_chat, "[SiZ] Muzyka wlaczona!");
		client_cmd(id, "mp3 play media/%s", hidesongs[a]);
		sound[id] = true;
	}
}

public client_putinserver(id) 
{
	sound[id] = true;
	random_num(0, sizeof( g_color ) - 1);
}

public lauchgame(taskid) 
{
	if(!get_pcvar_num(autolaunch))
		return;
	
	server_cmd("amx_siz on");
}

public plugin_precache()
{
	new fog = fm_create_entity("env_fog");
	//DispatchKeyValue(fog, "density", "0.000650");
	fm_set_kvd(fog, "density", "0.000650");

	new r = random_num(1, 128);
	new g = random_num(1, 128);
	new b = random_num(1, 128);
	
	new rouge[3], vert[3], bleu[3];
	num_to_str(r,rouge,2);
	num_to_str(g,vert,2);
	num_to_str(b,bleu,2);
	
	new test[12];
	formatex(test,11,"%s %s %s",rouge,vert,bleu);
	//DispatchKeyValue(fog,"rendercolor",test);
	fm_set_kvd(fog,"rendercolor",test);

	new rand = random_num(0, sizeof(skies)-1);
	set_cvar_string("sv_skyname", skies[rand]);

	register_forward(FM_KeyValue, "fwd_KeyValue", 1);
}

public client_connect(id)
{
	sound[id] = true;
	if(!is_user_bot(id)) 
	{
		get_user_info(id,"_vgui_menus",g_opt[id],1);
		set_user_info(id,"_vgui_menus","0");
	}
}

public client_disconnect(id)
{
	sound[id] = true;

	new i;
	transferring[id] = 0;
	
	for (i=0; i<32; i++)
	{
		if (killed[i] == id)
		{
			break;
		}
	}
	
	if(i == 32) 
		return;
	
	if (killed[i] == id)
	{
		for (i++; i<32 && killed[i]!=0; i++)
		{
			killed[i-1] = killed[i];
		}
		killed[i] = 0;
	}

	if( is_user_alive( id ) && g_bFlying[ id ] ) {
		ResetCamera( id );
	}
}


public hideandseek(id, level, cid)
{
	new arg[16];
	new pnum;
	new cts;
	new players[32];
	new i;
	
	if (read_argv(1, arg, 15) == 0)
	{
		console_print(id, "* Schowaj i znajdz v%s by xKanGur jest aktualnie %s [Czas na ukrycie: %d, szukajacych: %d, ukrywajacych: %d, www.CS-Podlasie.com]", HAS_VERSION, active ? "wlaczony." : "wylaczony.", floatround(hidetime), mincats, mice);
		return PLUGIN_HANDLED;
	}
	
	if (!cmd_access(id, level, cid, 1))
	{
		return PLUGIN_HANDLED;
	}
	
	if (equal(arg, "mincats") || equal(arg, "chatsmin"))
	{
		if (read_argv(2, arg, 15) == 0)
		{
			console_print(id, "* SiZ: Ilosc szukajacych = %d", mincats);
			return PLUGIN_HANDLED;
		}
		else
		{
			if (cmd_access(id, level, cid, 1))
			{
				if (active != 0)
				{
					console_print(id, "* SiZ: Nie mozesz zmienic zasad podczas gry!");
					return PLUGIN_HANDLED;
				}
				i = str_to_num(arg);
				if (i>0)
				{
					mincats = i;
					console_print(id, "* SiZ: Ilosc 'szukajacych' ustawiono %d", mincats);
				}
				else
				{
					console_print(id, "* SiZ: bledna wartosc 'szukajacych' (minimum: 1)");
				}
				return PLUGIN_HANDLED;
			}
		}
	}
	else if (equal(arg, "mice") || equal(arg, "souris"))
	{
		if (read_argv(2, arg, 15) == 0)
		{
			console_print(id, "* SiZ: Ilosc ukrywajacych sie = %d", mice);
			return PLUGIN_HANDLED;
		}
		else
		{
			if (cmd_access(id, level, cid, 1))
			{
				if (active != 0)
				{
					console_print(id, "* SiZ: Nie mozesz zmienic zasad podczas gry!");
					return PLUGIN_HANDLED;
				}
				
				i = str_to_num(arg);
				if (i>=0)
				{
					mice = i;
					console_print(id, "* SiZ: Ilosc 'ukrywajacych' ustawiono na %d", mice);
				}
				else
				{
					console_print(id, "* SiZ: bledna wartosc 'ukrywajacych' (minimum: 0)");
				}
				return PLUGIN_HANDLED;
			}
		}
	}
	else if (equal(arg, "hidetime") || equal(arg, "dureeplanque"))
	{
		if (read_argv(2, arg, 15) == 0)
		{
			console_print(id, "* SiZ: Czas na schowanie sie = %d sekund", floatround(hidetime));
			return PLUGIN_HANDLED;
		}
		else
		{
			if (cmd_access(id, level, cid, 1))
			{
				if (active != 0)
				{
					console_print(id, "* SiZ: Nie mozesz zmienic zasad podczas gry!");
					return PLUGIN_HANDLED;
				}
				
				i = str_to_num(arg);
				if (i>=15)
				{
					hidetime = float(i);
					console_print(id, "* SiZ: 'Czas na schowanie' ustawiono na %d sekund", floatround(hidetime));
				}
				else
				{
					console_print(id, "* SiZ: Bledna wartosc 'czasu na schowanie' (minimum: 15 sekund)");
				}
				return PLUGIN_HANDLED;
			}
		}
	}
	else if ((equali(arg, "on") || equal(arg, "1") || equal(arg, "start")) && active == 0)
	{
		client_print(0, print_chat, "[SiZ] Rozpoczecie gry!");
		
		new ConfigsDir[128]
		get_configsdir(ConfigsDir, 127)
		server_cmd("exec %s/siz-on.cfg", ConfigsDir);
		
		active = 1;
		phase = 0;
		
		s_gravity = get_cvar_num("sv_gravity");
		s_roundtime = get_cvar_num("mp_roundtime");
		s_freezetime = get_cvar_num("mp_freezetime");
		s_limitteams = get_cvar_num("mp_limitteams");
		s_autoteambalance = get_cvar_num("mp_autoteambalance");
		s_alltalk = get_cvar_num("sv_alltalk");
		s_footsteps = get_cvar_num("mp_footsteps");
		s_friendlyfire = get_cvar_num("mp_friendlyfire");
		s_startmoney = get_cvar_num("mp_startmoney");
		s_buytime = get_cvar_float("mp_buytime");
		server_cmd("amx_restrict on");
		
		set_cvar_num("sv_gravity", 150);
		set_cvar_num("mp_roundtime", 6);
		set_cvar_num("mp_freezetime", 1);
		set_cvar_num("mp_limitteams", 0);
		set_cvar_num("mp_autoteambalance", 0);
		set_cvar_num("sv_alltalk", 1);
		set_cvar_num("mp_friendlyfire", 0);
		set_cvar_num("mp_startmoney", 16000);
		set_cvar_num("mp_buytime", 5);
		
		if(get_pcvar_num(amx_hs_light)) {
			fm_set_lights("d"); 
		}
		
		new maxcats = get_maxcats();
		get_players(players, cts, "e", "CT");
		if (cts > maxcats)
		{
			for (i=maxcats; i<cts; i++)
			{
				if (hasdbg) 
					client_print(0, print_chat,"* SiZ[init]: Wystarczajaco graczy w druzynie szukajacych")
				
				fm_set_user_team(players[i], FM_TEAM_T);
			}
		}
		else if (cts < mincats)
		{
			get_players(players, pnum, "e", "TERRORIST");
			for (i=0; cts<mincats && i<pnum; i++)
			{
				if (hasdbg) 
					client_print(0, print_chat, "* SiZ[init]: Potrzeba wiecej graczy w druzynie szukajacych")
				
				fm_set_user_team(players[i], FM_TEAM_CT);
				cts++;
			}
		}
		set_task(2.0, "plugin_timer", 412563, "", 0, "b")
	}
	else if ((equali(arg, "off") || equal(arg, "0") || equal(arg, "stop")) && active != 0)
	{
		client_print(0, print_chat, "[SiZ] Gra przerwana!");
		
		new ConfigsDir[128]
		get_configsdir(ConfigsDir, 127)
		server_cmd("exec %s/siz-off.cfg", ConfigsDir)
		
		active = 0;
		
		if (task_exists(412563))
			remove_task(412563);
		
		set_cvar_num("sv_gravity", s_gravity);
		set_cvar_num("mp_roundtime", s_roundtime);
		set_cvar_num("mp_freezetime", s_freezetime);
		set_cvar_num("mp_limitteams", s_limitteams);
		set_cvar_num("mp_autoteambalance", s_autoteambalance);
		set_cvar_num("sv_alltalk", s_alltalk);
		set_cvar_num("mp_footsteps", s_footsteps);
		set_cvar_num("mp_friendlyfire", s_friendlyfire);
		set_cvar_num("mp_startmoney", s_startmoney);
		set_cvar_float("mp_buytime", s_buytime);
		server_cmd("amx_restrict off");
		if(get_pcvar_num(amx_hs_light)) {
				fm_set_lights("d"); 
		}

		remove_task(412564);
		remove_task(412565);
		remove_task(412566);
		remove_task(147258);
		
		get_players(players, pnum);
		for(i=0; i<pnum; i++)
		{
			fm_set_user_maxspeed(players[i], 240.0);
			fm_set_user_gravity(players[i], 1.0);
			fm_set_user_godmode(players[i], 0);
		}
		set_cvar_num("sv_restart", 3);
	}
	return PLUGIN_HANDLED;
}

public plugin_timer()
{
	new ts[32];
	new cts[32];
	new tnum;
	new ctnum;
	new i;
	new specialcase = 0;
	new maxcats = get_maxcats();
	get_players(ts, tnum, "e", "TERRORIST");
	get_players(cts, ctnum, "e", "CT");
	
	if(ctnum==0)
		specialcase = 1;
	
	if(tnum>=mice && ctnum>=mincats)
	{
		if(active == 1)
		{
			client_print(0, print_chat, "[SiZ] Wystarczajaca ilosc graczy!");
			active = 2;
			set_cvar_num("sv_restart", 1);
		}
		else if (active == 3)
		{
			if (phase == 1)
			{
				for(i=0; i<tnum; i++)
				{
					fm_set_user_maxspeed(ts[i], 400.0);
					fm_set_user_gravity(ts[i], 1.0);
				}
				for(i=0; i<ctnum; i++)
				{
					fm_set_user_maxspeed(cts[i], 0.1);
					fm_set_user_gravity(cts[i], 10.0);
				}
			}
			else if (phase == 2)
			{
				for(i=0; i<tnum; i++)
				{
					fm_set_user_maxspeed(ts[i], 0.1);
					fm_set_user_gravity(ts[i], 10.0);
				}
				for(i=0; i<ctnum; i++)
				{
					fm_set_user_maxspeed(cts[i], 400.0);
					fm_set_user_gravity(cts[i], 1.0);
				}
			}
		}
	}
	else
	{
		if (ctnum < mincats)
		{
			for(i=tnum-1; i>=0 && ctnum<maxcats; i--)
			{
				if (hasdbg) 
					client_print(0,print_chat,"* SiZ[timer]: Potrzeba wiecej graczy w druzynie szukajacych")
				
				fm_set_user_team(ts[i], FM_TEAM_CT);
				ctnum++;
				tnum--;
			}
		}
		else if (ctnum>maxcats)
		{
			for(i=ctnum-maxcats; i>=0 && tnum<mice; i--)
			{
				if (hasdbg) 
					client_print(0,print_chat,"* SiZ[timer]: Potrzeba wiecej graczy w druzynie szukajacych");
				
				fm_set_user_team(cts[i], FM_TEAM_T);
				ctnum --;
				tnum ++;
			}
		}
		
		if (ctnum>=mincats && ctnum<=maxcats && tnum>=mice)
		{
			if(!specialcase)
				set_cvar_num("sv_restart", 1);

		}
		else
		{
			if (active == 1)
			{
				set_hudmessage(0, 255, 0, 0.05, 0.4, 0, 6.0, 5.0, 0.5, 0.15, 7);
				show_hudmessage(0, "[SiZ] Oczekiwanie na graczy...");
			}
			else
			{
				set_hudmessage(0, 255, 0, 0.05, 0.4, 0, 6.0, 5.0, 0.5, 0.15, 7);
				show_hudmessage(0, "[SiZ] Oczekiwanie na graczy...");
				
				active = 1;
				remove_task(412564);
				remove_task(412565);
				
				for(i=0; i<tnum; i++)
				{
					fm_set_user_maxspeed(ts[i], 240.0);
					fm_set_user_gravity(ts[i], 1.0);
				}
				for(i=0; i<ctnum; i++)
				{
					fm_set_user_maxspeed(cts[i], 240.0);
					fm_set_user_gravity(cts[i], 1.0);
				}
				if(get_pcvar_num(amx_hs_light)) {
					fm_set_lights("d"); 
						
				}
				
				set_cvar_num("sv_restart", 1);
			}
		}
	}
	
	get_players(ts, tnum, "b");
	for(tnum--; tnum>=0; tnum--)
	{
		fm_set_user_maxspeed(ts[tnum], 240.0);
		fm_set_user_gravity(ts[tnum], 1.0);
	}
}

public newround()
{

	new players[32];
	new pnum;
	new i;
	new maxcats = get_maxcats();
	
	if (read_data(1) == floatround(get_cvar_float("mp_roundtime")*60.0))
	{
		remove_task(147258);
		//inround = 1;
		
		if(active < 2)
			return;
			
		get_players(players, pnum, "e", "CT");
		get_players(players, i, "e", "TERRORIST");
		if (pnum>=mincats && pnum<=maxcats && i>=mice)
		{
			set_hudmessage(0, 255, 0, 0.05, 0.4, 0, 6.0, 5.0, 0.5, 0.15, 7);
			show_hudmessage(0, "[SiZ] Terrorysci, macie %d sekund na ukrycie sie!", floatround(hidetime));
			client_cmd(0, "spk radio/com_getinpos");
			set_cvar_num("mp_footsteps", 0);
			
			if (active == 2)
				active = 3;
			
			phase = 1;
			
			if(get_pcvar_num(amx_hs_light)) {
				fm_set_lights("d"); 

			}
			
			for (i=0; i<32; i++)
			{
				killed[i] = 0;
			}
			
			get_players(players,pnum,"e","TERRORIST");
			new a = random_num(0, sizeof(hidesongs) - 1);
			for (i=0; i<pnum; i++)
			{
				engclient_cmd(players[i], "weapon_knife");
				fm_set_user_godmode(players[i], 1);
				fm_set_user_nvg(players[i], 1);
				
				
				flashlight[players[i]] = 0
				render(players[i])
				if(sound[players[i]])
					client_cmd(players[i], "mp3 play media/%s", hidesongs[a]);
			}
			
			get_players(players,pnum,"e","CT");
			for (i=0; i<pnum; i++)
			{
				engclient_cmd(players[i], "weapon_knife");
				f2b(players[i], 1);
				fm_set_user_godmode(players[i], 1);
				fm_set_user_nvg(players[i], 0);
				printad(players[i], hidetime);
				render(players[i])
				if(sound[i])
					client_cmd(players[i], "mp3 play media/%s", hidesongs[a]);
			}
			
			remove_task(412564);
			set_task(hidetime, "round_timer", 412564);
			
			remove_task(412565);
			set_task(hidetime - 3.0, "soon_timer", 412565);
			
			remove_task(412566);
			counter = floatround(hidetime);
			set_task(1.0, "countdown", 412566, "", 0, "b");
			
			//set_task(240.0,"kill", 0 );
			
			new decompte = get_cvar_num("amx_cc_decompte");
			if(decompte > 0) 
			{
				new Float:tasktime = get_cvar_float("mp_roundtime")*60.0 - float(decompte);
				
				if(tasktime > 4.0) 
					set_task(tasktime-3.0, "lancerDecompte", 789456+decompte);
			}
		}
	}
}
public kill()
{

   
        new iPlayers[32], iNum
        get_players(iPlayers, iNum, "ah")

        for(new i; i<iNum ; i++)
        {
            user_kill(iPlayers[i], 1)
        }

}  

public lancerDecompte(id) 
{
	g_decompte = id - 789456;
	set_task(1.0, "afficherDecompte", 147258, "", 0, "b");
}

public afficherDecompte() 
{
	set_hudmessage(255, 255, 255, 0.05, 0.45, 0, 1.0, 1.0, 0.2, 0.2, 8);
	
	g_decompte--;
	if(g_decompte == 0) 
	{
		new players[32], inum, id;
		get_players(players, inum, "ae", "TERRORIST");
		for(new i = 0; i < inum; i++) 
		{
			id = players[i];
			set_pdata_int(id, 444, get_user_deaths(id) - 1);
			user_kill(id, 1);
		}
		remove_task(147258);
		return
	}
	show_hudmessage(0, "%d przed koncem!", g_decompte);
}

public countdown()
{
	set_hudmessage(255, 20, 0, 0.10, 0.50, 0, 1.0, 1.0, 0.2, 0.2, 9);
	counter--;
	show_hudmessage(0, "%d", counter);
}

public round_timer()
{
	new players[32];
	new pnum;
	
	if (active == 3)
	{
		remove_task(412566);
		client_print(0, print_chat, "[SiZ] CT, znajdzcie Terrorystow i zabijcie ich!");
		client_print(0, print_chat, "[SiZ] T, mozecie przejsc do trybu freelook, Wpisz /freelook, aby wrocic /firstperson !");
		client_cmd(0, "spk radio/com_go");
		phase = 2;
		
		if(get_pcvar_num(amx_hs_light)) {
			fm_set_lights("a"); 
		
		}
		get_players(players, pnum, "ae", "CT");
		new a = random_num(0, sizeof(seekerssongs) - 1);
		
		for (pnum--; pnum>=0; pnum--)
		{
			f2b(players[pnum], 0);
			if(sound[players[pnum] ])
				client_cmd(players[pnum], "mp3 play media/%s",seekerssongs[a]);
			fm_give_item(players[pnum], "weapon_knife");
			fm_give_item(players[pnum], "weapon_deagle");
			fm_give_item(players[pnum], "ammo_50ae");
			fm_give_item(players[pnum], "ammo_50ae");
			fm_give_item(players[pnum], "ammo_50ae");
			fm_give_item(players[pnum], "ammo_50ae");
			fm_give_item(players[pnum], "ammo_50ae");
			fm_give_item(players[pnum], "ammo_50ae");
			fm_give_item(players[pnum], "weapon_m4a1");
			fm_give_item(players[pnum], "ammo_556nato");
			fm_give_item(players[pnum], "ammo_556nato");
			fm_give_item(players[pnum], "ammo_556nato");
			fm_give_item(players[pnum], "ammo_556nato");
			fm_give_item(players[pnum], "ammo_556nato");
			fm_give_item(players[pnum], "ammo_556nato");
			new flashs = get_pcvar_num(amx_hs_flash);
			
			if(flashs ==1)
				fm_give_item(players[pnum], "weapon_flashbang");
			else if(flashs ==2) 
			{
				fm_give_item(players[pnum], "weapon_flashbang");
				fm_give_item(players[pnum], "weapon_flashbang");
			}
		}
		
		a = random_num(0, sizeof(seekedsongs) - 1);
		get_players(players, pnum, "ae", "TERRORIST");
		for (pnum--; pnum>=0; pnum--)
		{
			fm_set_user_godmode(players[pnum], 0);
			if(sound[players[pnum] ])
				client_cmd(players[pnum], "mp3 play media/%s",seekedsongs[a]);

			fm_set_user_maxspeed(players[pnum], 400.0)
		}
	}
}

public soon_timer()
{
	if (active == 3)
	{
		client_print(0, print_chat,"[SiZ] Terrorysci zostaniecie przytwierdzeni do ziemi!");
		client_cmd(0, "spk radio/position");
	}
}

public jointeam(id) 
{
	if (active == 0)
	{
		return PLUGIN_CONTINUE;
	}
	
	if (transferring[id] == 1)
	{
		transferring[id] = 0;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_HANDLED;
}

public chooseteam(id)
{
	if (active == 0)
	{
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_HANDLED;
}

public switchweapon(id)
{
	if(!active)
		return;
	
	if( active > 0 && active < 3 ) 
	{
		fm_set_user_maxspeed(id, 400.0);
		return;
	}
	new team = get_user_team(id);
	
	switch( phase )
	{
		case 1:
		{
			switch( team ) {
				case 2:
				{
					fm_set_user_maxspeed(id, 0.1);
				}
				case 1:
				{
					fm_set_user_maxspeed(id, 400.0);
				}
			}
		}
		case 2:
		{
			switch( team ) {
				case 1:
				{
					fm_set_user_maxspeed(id, 0.1);
				}
				case 2:
				{
					fm_set_user_maxspeed(id, 400.0);
				}
			}
		}
	}
}

public buy(id)
{
	if (active == 3)
	{
		new team[32];
		get_user_team(id, team, 31);
		
		if (equali(team, "TERRORIST"))
		{
			return PLUGIN_HANDLED;
		}
	}
	return PLUGIN_CONTINUE;
}

public deathmsg()
{
	new i;
	new team[32];
	new victim = read_data(2);

	flashlight[victim] = 0;

	if (active == 3)
	{
		printad(victim, 1000.0);
		get_user_team(victim, team, 31);
		
		if (equali(team, "TERRORIST"))
		{
			client_cmd(0, "spk radio/enemydown");
			for (i=0; i<32 && killed[i]!=0; i++)
			{
			}
		
			if (i == 32)
			{
				for (i=1; i<32; i++)
					killed[i-1] = killed[i];
			}
			killed[i] = victim;
		}
	}

}

public gamestart() 
{
	remove_task(147258);
}

public endround()
{
	//inround = 0;
	if (active)
	{
		set_task(2.5,"delayed_endround");
		
		if(get_pcvar_num(amx_hs_light)) {
			fm_set_lights("d"); 
		}
	}
}

public delayed_endround()
{
	remove_task(147258);
	new newcats = 0;
	new players[32];
	new cts[32];
	new ctnum;
	new pnum;
	new i;
	
	if (active != 3)
	{
		return PLUGIN_CONTINUE;
	}
	remove_task(412564);
	remove_task(412565);
	remove_task(412566);
	
	get_players(cts, ctnum, "e", "CT");
	get_players(players, pnum, "e", "TERRORIST");
	
	if (ctnum<mincats || pnum<mice)
	{
		client_print(0, print_chat,"[SiZ] Gracz wyszedl z serwera! Nastepuje wymieszanie skladow...");
		return PLUGIN_CONTINUE;
	}
	
	new maxcats = get_maxcats();
	get_players(players,pnum,"ae","TERRORIST");
	for (i=0; i<pnum && newcats<maxcats; i++)
	{
		if (hasdbg) 
			client_print(0,print_chat,"* SiZ[endround]: Terrorysta ktory nie zostal znaleziony bedzie szukal w nastepnej rundzie")
		
		fm_set_user_team(players[i], FM_TEAM_CT);
		newcats++;
	}
	
	if (newcats < maxcats)
	{
		for (i=31; i>=0 && killed[i]==0; i--)
		{
			
		}
		for (; i>=0 && newcats<maxcats; i--)
		{
			if (hasdbg) 
				client_print(0,print_chat,"* SiZ[endround]: Zostal zabity, przenosze do CT");
			
			fm_set_user_team(killed[i], FM_TEAM_CT);
			newcats++;
		}
	}
	
	for(i=0; i < ctnum; i++)
	{
		if (hasdbg) 
			client_print(0,print_chat,"* SiZ: CT przenosze do druzyny Terrorystow");
	
		fm_set_user_team(cts[i], FM_TEAM_T);
	}
	return PLUGIN_CONTINUE;
}

public printad(id, Float:duration)
{
	set_hudmessage(255, 127, 0, -1.0, 0.1, 2, 1.0, duration, 0.0, 1.0, 8);
	show_hudmessage(id, "www.CS-Podlasie.com");
}

stock f2b(id, type)
{
	message_begin(MSG_ONE_UNRELIABLE, gmsgScreenFade, _, id);
	write_short(5000);
	write_short(5000);
	write_short(type==1?5:0);
	write_byte(0);
	write_byte(20);
	write_byte(40);
	write_byte(255);
	message_end();
}

public emitsound(entity, const sample[])
{
	if(!get_pcvar_num(amx_hs_flash))
		return PLUGIN_CONTINUE;
	
	if(!equali(sample,"weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav"))
		return PLUGIN_CONTINUE;
	
	flashbang_explode(entity);
	return PLUGIN_CONTINUE;
}

public flashbang_explode(greindex)
{
	if(!fm_is_valid_ent(greindex)) 
		return;
	
	new Float:origin[3];
	//entity_get_vector(greindex,EV_VEC_origin,origin);
	pev(greindex,pev_origin,origin);
	
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(27);
	write_coord(floatround(origin[0])); 
	write_coord(floatround(origin[1]));
	write_coord(floatround(origin[2])); 
	write_byte(get_pcvar_num(radius_cvar)); 
	write_byte(205);	
	write_byte(255); 
	write_byte(205); 
	write_byte(150); 
	write_byte(200); 
	message_end();
}

public FlashedEvent(id)
{
	if(get_pcvar_num(amx_hs_flash))
		return PLUGIN_HANDLED;
	
	return PLUGIN_CONTINUE;
}

public event_flashlight(id) 
{
	if(!get_pcvar_num(flashlight_custom)) 
		return;
	
	//new CsTeams:team = cs_get_user_team(id)
	
	new team = get_user_team(id)
	
	if(team != 2 && get_pcvar_num(flashlight_only_ct))
	{
		flashlight[id] = 0;
	}
	else
	{
		if(flashlight[id]) 
		{
			flashlight[id] = 0;
			color[id] = random_num(0, sizeof( g_color ) - 1);
		}
		else 
		{
			flashlight[id] = 1;
		}
	}
	
	message_begin(MSG_ONE,gmsgFlashlight,_,id);
	write_byte(flashlight[id]);
	write_byte(100);
	message_end();
	//entity_set_int(id,EV_INT_effects,entity_get_int(id,EV_INT_effects) & ~EF_DIMLIGHT);
	set_pev(id,pev_effects,pev(id,pev_effects) & ~EF_DIMLIGHT);
}

public fwdPlayerPreThink(id) 
{
	if(get_pcvar_num(flashlight_custom)) {
		
	
		new a = color[id];
		if(flashlight[id]) 
		{
			new origin[3];
			get_user_origin(id,origin,3);
			message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
			write_byte(TE_DLIGHT);
			write_coord(origin[0]); 
			write_coord(origin[1]); 
			write_coord(origin[2]); 
			write_byte(get_pcvar_num(flashlight_radius)); 
			write_byte(g_color[a][0]); 
			write_byte(g_color[a][1]); 
			write_byte(g_color[a][2]); 
			write_byte(1);
			write_byte(60); 
			message_end();
		}
	}

	new weapon = get_user_weapon(id);
   	new team = get_user_team(id);
   	if(team == 2) {	

   		if( pev(id, pev_takedamage) )
   		{
			set_pev(id, pev_takedamage, 0.0);
		
   		}
   	} else if( !(pev(id, pev_takedamage)) ){
		set_pev(id, pev_takedamage, 1.0);
   	}

	if(team == 1) {

			if( weapon != CSW_KNIFE )
			{
					client_cmd(id, "drop");
					engclient_cmd(id, "weapon_knife");
			}
 	}
	return FMRES_IGNORED;

}

public fwd_KeyValue(entId, kvd_id)
{
    if(!pev_valid(entId))
        return FMRES_IGNORED;
    
    static className[64];
    get_kvd(kvd_id, KV_ClassName, className, 63);
    
    if(containi(className, "func_bomb_target") != -1
    || containi(className, "info_bomb_target") != -1
    || containi(className, "hostage_entity") != -1
    || containi(className, "monster_scientist") != -1
    || containi(className, "func_hostage_rescue") != -1
    || containi(className, "info_hostage_rescue") != -1
    || containi(className, "info_vip_start") != -1
    || containi(className, "func_vip_safetyzone") != -1
    || containi(className, "func_escapezone") != -1)
        engfunc(EngFunc_RemoveEntity, entId);
    
    if(!hostageMade)
    {
        hostageMade = true;
        new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "hostage_entity"));
        engfunc(EngFunc_SetOrigin, ent, Float:{0.0,0.0,-55000.0});
        engfunc(EngFunc_SetSize, ent, Float:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
        dllfunc(DLLFunc_Spawn, ent);
    }
    
    return FMRES_HANDLED;
}  

// Stocks
stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0;

	new ent = fm_create_entity(item);
	if (!pev_valid(ent))
		return 0;

	new Float:origin[3];
	pev(index, pev_origin, origin);
	set_pev(ent, pev_origin, origin);
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
	dllfunc(DLLFunc_Spawn, ent);

	new save = pev(ent, pev_solid);
	dllfunc(DLLFunc_Touch, ent, index);
	if (pev(ent, pev_solid) != save)
		return ent;

	engfunc(EngFunc_RemoveEntity, ent);

	return -1;
}

stock fm_set_user_gravity(index, Float:gravity = 1.0) {
	set_pev(index, pev_gravity, gravity);

	return 1;
}

stock fm_set_user_godmode(index, godmode = 0) {
	set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);

	return 1;
}

stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
	engfunc(EngFunc_SetClientMaxspeed, index, speed);
	set_pev(index, pev_maxspeed, speed);

	return 1;
}

stock fm_set_user_nvg(index, nvgoggles = 1)
{
    new current = get_pdata_int(index, OFFSET_NVGOGGLES);
    
    if( !(current & HAS_NVGOGGLES) && nvgoggles )
    {
        current |= HAS_NVGOGGLES;
    }
    else if( (current & HAS_NVGOGGLES) && !nvgoggles )
    {
        current &= ~HAS_NVGOGGLES;
    }
    else
    {
        return 0;
    }
    
    set_pdata_int(index, OFFSET_NVGOGGLES, current);
    
    return 1;
}

fm_set_lights(const lights[])
    engfunc(EngFunc_LightStyle, 0, lights);

stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
	if (classname[0])
		set_kvd(0, KV_ClassName, classname);
	else {
		new class[32];
		pev(entity, pev_classname, class, sizeof class - 1);
		set_kvd(0, KV_ClassName, class);
	}

	set_kvd(0, KV_KeyName, key);
	set_kvd(0, KV_Value, value);
	set_kvd(0, KV_fHandled, 0);

	return dllfunc(DLLFunc_KeyValue, entity, 0);
}

stock fm_set_user_team(client, team) {
	set_pdata_int(client, OFFSET_TEAM, team);

	static const TeamInfo[FM_TEAM_MAX][] =
	{
		"UNASSIGNED",
		"TERRORIST",
		"CT",
		"SPECTATOR"
	};

	message_begin(MSG_ALL, gmsgTeamInfo);
	write_byte(client);
	write_string(TeamInfo[team]);
	message_end();
}

===================================================================================================================================================================================

public showColorMenu(id)
{
    new menu = menu_create("\yZostales znaleziony! Wybierz nastepny kolor latarki!^nMasz\w 5\y sekund", "Handel_Kolor");

    menu_additem(menu, "Czerwony");
    menu_additem(menu, "Zielony");
    menu_additem(menu, "Niebieski");
    menu_additem(menu, "Pomaranczowy");
    menu_additem(menu, "Aqua");
    menu_additem(menu, "Zolty");
    menu_additem(menu, "Rozowy");

    menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
    menu_display(id, menu);
}

public Handel_Kolor(id, menu, item)
{
    if(item == MENU_EXIT || get_user_team(id) != 1 || !is_user_alive(id))
        return;
   
    new szColor[32], szName[32], acces, callback, data[2];
    get_user_name(id, szName, 31);
    menu_item_getinfo(menu, item, acces, data, 1, szColor, 31, callback);

    set_user_rendering(id, kRenderFxGlowShell, g_FlashlightColors[item][0], g_FlashlightColors[item][1], g_FlashlightColors[item][2], kRenderNormal, 1);
    ColorChat(0, TEAM_COLOR, "^x04[Chowany]^x03 %s^x01 wybral kolor^x03 %s", szName, szColor);
   
    SprwaczCzyOstatni();
}

SprwaczCzyOstatni()
{
    new bool:koniec = false;
    for(new i=1; i<=MAX; i++)
    {
        if(!is_user_connected(i) || !is_user_alive(i) || get_user_team(i) != 1)
            continue;
           
        koniec = true;
        if(!g_ChoosenColor[i])
        {
            koniec = false;
            break;
        }
    }
    if(koniec)
    {
        jail_remove_game_hud();
        jail_set_play_game(USUWANIE_DANYCH, true);
       
        set_lights("#OFF");   
           
        RegisterChowany(false);
   
        for(new i=1; i<=MAX; i++)
        {
            g_ChoosenColor[i] = false;
            if(is_user_alive(i) && is_user_connected(i))           
                set_user_maxspeed(i, 250.0);
        }
    }
}

public fwCmdStart(id, uc)
{
    if(!is_user_alive(id) || get_user_team(id) != 2)
        return FMRES_HANDLED;
       
    if(get_uc(uc, UC_Buttons) & IN_USE && !(pev(id, pev_oldbuttons) & IN_USE))
    {
        new id2, body;
        get_user_aiming(id, id2, body);
       
        if(is_user_connected(id2) && is_user_alive(id2) && get_user_team(id2) == 1)
        {
            if(!g_ChoosenColor[id2])
            {
                new szName[2][32];
                get_user_name(id, szName[0], 31);
                get_user_name(id2, szName[1], 31);
               
                client_cmd(id, "spk fvox/blip");
                client_cmd(id2, "spk fvox/blip");
                showColorMenu(id2);
       
                set_user_rendering(id2, kRenderFxPulseFastWide, 0, 0, 0, kRenderTransAdd, 128);
                ColorChat(0, TEAM_COLOR, "^x04[Chowany]^x03 %s^x01 znalazl^x03 %s^x01 !", szName[0], szName[1]);
                g_ChoosenColor[id2] = true;
            }
            else
            {
                ColorChat(id, TEAM_COLOR, "^x04[Chowany]^x03 Ten gracz juz wybral kolor!");
            }
        }
    }

Taki przykład z JB Chowany :)

 

Proszę o pomoc :(


  • +
  • -
  • 0

#2 scg mieszko

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:5
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 06.12.2016 19:13

Ref


  • +
  • -
  • 0

#3 scg mieszko

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:5
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 06.12.2016 20:20

Ref


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych