Zarejestruj się Użytkownicy Kalendarz Zaznacz Wszystkie Fora jako Przeczytane CS FAQ Regulamin forum =w= Tani STEAM

Wróć   Forum Counter Strike > Serwer HLDS - wszytko o własnym serwerze do Counter Strike 1.6 Steam i Non Steam > Pluginy, dodatki, AMX, AMXX

Pluginy, dodatki, AMX, AMXX Tutaj piszemy o dodatkach do serwerach, pluginach, modach, AMX i AMXX

Potrzebuje plugin do surfo z konkretnymi ustawieniami

- Tagi: , , , ,

Zamknięty Temat
 
LinkBack Narzędzia wątku

Potrzebuje plugin do surfo z konkretnymi ustawieniami

  stare
CyCu102 is Offline
Starsza lamka
 
Postów: 51

Poziom upalenia:
-------- Doświadczenie: abstynent
Zarejestrowany: Mar 2008
   

Witam, przerobi mi ktoś jakiegoś surfmoda tak aby: dało się wychodzić z klatek, można było się zabijać WSZĘDZIE. Z chęcia dam pomógł, proszę o kod :P
  
  stare
Inferno is Offline
el Wymiataczos
 
Postów: 603

Poziom upalenia:
X------- Doświadczenie: palił z lufki
Zarejestrowany: Oct 2007
  Wyślij wiadomośc poprzez AIM do Inferno  

To jest komenda a nie plugin.Opcja szukaj nie gryzie.....
  
  stare
CyCu102 is Offline
Starsza lamka
 
Postów: 51

Poziom upalenia:
-------- Doświadczenie: abstynent
Zarejestrowany: Mar 2008
   

no to badz tak mily i daj komendy
  
  stare
Shitman is Offline
Lamka
 
Postów: 21

Poziom upalenia:
-------- Doświadczenie: abstynent
Zarejestrowany: Mar 2008
  Wyślij wiadomośc poprzez AIM do Shitman  

Kod:
amx_cvar sv_stepsize 999
na wychodzenie z klatki
  
  stare
CyCu102 is Offline
Starsza lamka
 
Postów: 51

Poziom upalenia:
-------- Doświadczenie: abstynent
Zarejestrowany: Mar 2008
   

To może inaczej, tak wygląda moj plugin usurf, niech ktos powie co zmienic zeby mozna bylo wylazic z klatki z zeby mozna bylo sie zabijac w kazdym miejscu, w klatce, na respie i w gr takze. Dam pomógł

Kod:
/*

Copyleft 2007
Plugin thread: http://forums.alliedmods.net/showthread.php?t=16418

USURF
=====

Description
This mod is designed to assist in the running of a surf server. It
includes many features, such as surfing help, semiclip, checkpoints,
"BOOM" button removal and many more features.

Was previously known as "Surf Management / Tools"

Changelog:

	March 4, 2007 - v5.0 	- Renamed and fixed major bugs
	March 13, 2007 - v5.1 	- [FEATURE] Added timer
				  [FEATURE] Added bunnyhop
				  [FEATURE] Added team stack
				  [FEATURE] Added godmode
				  [BUG] Improved semiclip
				  [BUG] Fixed crashing on Linux servers
				  [BUG] Fixed crouching with checkpoints
				  [BUG] Fixed respawn to send people back
				  to their spawns rather than killing them
	March 16, 2007 - v5.2	- [FEATURE] Cleaned up the /surfhelp MOTD display
				  [FEATURE] Added menu to /surfhelp
				  [BUG] Fixed surf help showing more than once
				  [BUG] Optimized surf help section
				  [BUG] Added new commands to /surfhelp display
				  [BUG] Removed some old semiclip code that was
				  causing problems only for people on the same team
				  [BUG] Fixed checkpoints and timers working on
				  non-surf maps

Credits:
	XxAvalanchexX	- Post about blocking knife hits
					
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <time>

#define TIMER_TASK 23981293
#define TIMER_INTERVAL 1.0

new p_On
new p_AutoCvars
new p_Help
new p_HelpInterval
new p_Respawn
new p_RemoveDropped
new p_RemoveButton
new p_NoGuns
new p_SpawnDist
new p_Semiclip
new p_Cp
new p_CpDelay
new p_BunnyHop
new p_BunnyHopAutoJump
new p_Timer
new p_X
new p_Y
new p_R
new p_G
new p_B
new p_TeamStack
new p_Godmode

new bool:g_SurfMap

new Float:g_Origin[33][3]
new Float:g_Velocity[33][3]
new Float:g_Angles[33][3]
new Float:g_LastSave[33]

new g_Time[33]
new g_Timing[33]
new g_Timer[33]

new g_Menu[512]

new g_TimerMenu[] = "TimerMenu"

new g_TimerTask = TIMER_TASK
new Float:g_TimerInterval = TIMER_INTERVAL

new g_HudObject

new g_SemiclipThinkerClassname[] = "usurf_semiclip"
new g_SemiclipThinker

new g_Models[2][4] =
{
	{_:CS_T_ARCTIC,_:CS_T_GUERILLA,_:CS_T_LEET,_:CS_T_TERROR},
	{_:CS_CT_GIGN,_:CS_CT_GSG9,_:CS_CT_SAS,_:CS_CT_URBAN}
}

new g_SurfHelpMenu

public plugin_init()
{	
	new VERSION[] = "5.2"
	
	register_plugin("uSurf",VERSION,"Hawk552")
	register_cvar("usurf_version", VERSION, FCVAR_SERVER)
	
	new NewVersion[10]
	format(NewVersion,9,"usurf %s",VERSION)
	register_cvar("surf_base_version",NewVersion,FCVAR_SERVER)
	
	// Global Commands / Cvars
	p_On = register_cvar("usurf_on","1")
	
	//Auto Cvars
	p_AutoCvars = register_cvar("usurf_autocvars","1")
	
	// Before we do ANYTHING, let's see if it's a surf map or not.
	CheckSurf()
	
	if(get_pcvar_num(p_On))
		set_task(5.0,"ExecCvars")
	
	// Surf Help
	register_clcmd("say /surfhelp","CmdSurfhelp")
	register_clcmd("say /help","CmdSurfhelp")
	p_Help = register_cvar("usurf_help","1")
	p_HelpInterval = register_cvar("usurf_help_interval","60.0")
	set_task(get_pcvar_float(p_HelpInterval),"ShowSurfHelp")
	g_SurfHelpMenu = menu_create("Surf Help","SurfHelpHandle")
	menu_additem(g_SurfHelpMenu,"Surfing Help")
	menu_additem(g_SurfHelpMenu,"uSurf Commands")
	menu_additem(g_SurfHelpMenu,"About uSurf")
	
	// Checkpoints
	register_clcmd("say /checkpoint","CmdCheckpoint")
	register_clcmd("say /gocheck","CmdGoCheck")
	p_Cp = register_cvar("usurf_checkpoint","1")
	p_CpDelay = register_cvar("usurf_checkpoint_delay","20")
	
	// extra stuff
	p_RemoveDropped = register_cvar("usurf_remove_dropped","1")
	p_RemoveButton = register_cvar("usurf_remove_button","1")
	p_NoGuns = register_cvar("usurf_noguns","0")
	p_SpawnDist = register_cvar("usurf_spawn_dist","500")
	p_Semiclip = register_cvar("usurf_semiclip","0")
	p_TeamStack = register_cvar("usurf_teamstack","0")
	p_Godmode = register_cvar("usurf_godmode","1")
	
	// bunny hopping
	p_BunnyHop = register_cvar("usurf_bunnyhop","1")
	p_BunnyHopAutoJump = register_cvar("usurf_bunnyhop_autojump","1")
	
	// timer
	p_Timer = register_cvar("usurf_timer","1")
	p_X = register_cvar("usurf_timer_x","0.8")
	p_Y = register_cvar("usurf_timer_y","-0.8")
	p_R = register_cvar("usurf_timer_r","0")
	p_G = register_cvar("usurf_timer_g","0")
	p_B = register_cvar("usurf_timer_b","255")
	register_clcmd("say /timer","CmdTimer")
	register_menucmd(register_menuid(g_TimerMenu),1023,"TimerHandle")
	register_menucmd(register_menuid("Team_Select",1),MENU_KEY_1|MENU_KEY_2|MENU_KEY_5|MENU_KEY_6,"TeamHandle") 
	register_clcmd("jointeam","TeamHandle")
	g_HudObject = CreateHudSyncObj()
	register_dictionary("time.txt")
	
	register_forward(FM_SetModel,"ForwardSetModel")
	register_forward(FM_PlayerPreThink,"ForwardPlayerPreThink")
	register_forward(FM_Touch,"ForwardTouch")
	register_forward(FM_Think,"ForwardThink")
	register_forward(FM_TraceLine,"ForwardTraceLine",1)
	register_forward(FM_TraceHull,"ForwardTraceHull",1)
	
	CheckSurf()
	CheckButton()
	
	// Respawn
	p_Respawn = register_cvar("usurf_respawn","1")
	register_event("DeathMsg","EventDeathMsg","a")
	register_clcmd("say /respawn","CmdRespawn")
	set_task(1.0,"StandardTimer",_,_,_,"b")
	
	new Ent = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"info_target"))
	if(!Ent)
		return
	
	set_pev(Ent,pev_classname,g_SemiclipThinkerClassname)
	new Float:Time
	global_get(glb_time,Time)
	set_pev(Ent,pev_nextthink,Time + 0.01)
	dllfunc(DLLFunc_Spawn,Ent)
	
	g_SemiclipThinker = Ent
}

public CheckSurf()
{
	new MapName[32]
	get_mapname(MapName,31)
	if(containi(MapName,"surf") != -1 || containi(MapName,"wurf_") != -1 || equali(MapName,"tentical"))
		g_SurfMap = true
		
	return PLUGIN_CONTINUE
}

public ExecCvars()
{
	if(get_pcvar_num(p_On) && get_pcvar_num(p_AutoCvars) && g_SurfMap)
	{
		new ConfigsDir[50],FileLocation[50]
		get_configsdir(ConfigsDir,49)
		
		format(FileLocation,49,"%s/surf.cfg",ConfigsDir)
		
		// I'm not going to update this, because the old file
		// natives are actually much easier to work with for
		// this purpose.
		if(file_exists(FileLocation))
			server_cmd("exec ^"%s^"",FileLocation)
		else
		{
			write_file(FileLocation,"sv_airaccelerate 100")
			write_file(FileLocation,"mp_freezetime 0")
			write_file(FileLocation,"amxx pause statsx.amxx")
			write_file(FileLocation,"amxx pause miscstats.amxx")
			write_file(FileLocation,"amxx pause stats_logging.amxx")
			// people seem to be stupid to fucking RTFM, so I really have to disable this by default
			write_file(FileLocation,"//humans_join_team ct // if you want all players on one team, use this")
			write_file(FileLocation,"echo Executing surf map config.",2)
			server_cmd("exec %s",FileLocation)
			
			format(FileLocation,49,"%s/amxx.cfg",ConfigsDir)
			if(file_exists(FileLocation))
			{
				write_file(FileLocation,"// AUTO WRITTEN BY USURF")
				write_file(FileLocation,"^n^nhumans_join_team any")
				write_file(FileLocation,"sv_airaccelerate 10")
			}
		}
	}
}

public client_disconnect(id)
{
	g_Origin[id][0] = 0.0
	
	g_Timing[id] = 0
	g_Time[id] = 0
	g_Timer[id] = 0
	g_LastSave[id] = 0.0
	
	g_Origin[id] = Float:{0.0,0.0,0.0}
}

public TeamHandle(id,Item)
{
	// to prevent memory corruption
	new Key = Item
	
	new Arg[2]
	read_argv(0,Arg,1)
	
	if(Arg[0] == 'j')
	{
		read_argv(1,Arg,1)
		Key = str_to_num(Arg) - 1
	}
	
	new TeamStack = get_pcvar_num(p_TeamStack)
	if(Key != 5 && Key != TeamStack - 1 && (TeamStack == _:CS_TEAM_T || TeamStack == _:CS_TEAM_CT))
	{
		client_print(id,print_center,"You must join the %s team.",TeamStack == 1 ? "Terrorist" : "Counter-Terrorist")
		engclient_cmd(id,"chooseteam")
		
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}

public CmdTimer(id)
{
	if(!get_pcvar_num(p_Timer) || !get_pcvar_num(p_On) || !g_SurfMap)
		return
	
	new Len = format(g_Menu,sizeof g_Menu - 1,"uSurf Timer Menu^n^n1. %s Timer^n",g_Timer[id] ? "Disable" : "Enable")
	if(g_Timer[id])
		Len += format(g_Menu[Len],sizeof g_Menu - Len - 1,"2. %s Timing^n3. Reset Timer^n",g_Timing[id] ? "Stop" : "Begin")
	format(g_Menu[Len],sizeof g_Menu - Len - 1,"^n0. Exit")
	
	new Keys = g_Timer[id] ? MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_0 : MENU_KEY_1|MENU_KEY_0
		
	show_menu(id,Keys,g_Menu,-1,g_TimerMenu)
}

public TimerHandle(id,Key)
{
	switch(Key)
	{
		case 0 :
		{
			g_Timer[id] = !g_Timer[id]
			if(!g_Timer[id])
				ShowSyncHudMsg(id,g_HudObject,"")
		}
		case 1 :
		{
			g_Timing[id] = !g_Timing[id]
			g_Timing[id] ? set_task(g_TimerInterval,"Timer",id + g_TimerTask) : remove_task(id + g_TimerTask)
		}
		case 2 :
			g_Time[id] = 0
	}
	
	if(Key != 9)
		CmdTimer(id)
}

public Timer(id)
{
	g_Time[id - g_TimerTask] += floatround(g_TimerInterval)
	
	set_task(g_TimerInterval,"Timer",id)
}

public CmdSurfhelp(id)
{
	if(!get_pcvar_num(p_On) || !get_pcvar_num(p_Help) || !g_SurfMap)
		return PLUGIN_CONTINUE
	
	menu_display(id,g_SurfHelpMenu,0)		
	
	return PLUGIN_CONTINUE
}

public SurfHelpHandle(id,Menu,Key)
{
	static MOTD[4096], Title[16],Pos
	
	switch(Key)
	{
		case 0 :
		{
			copy(Title,15,"Surf Help")
			
			Pos = format(MOTD,sizeof MOTD - 1,"<style type=^"text/css^"></style><body bgcolor=^"#000000^"><span class=^"sty1^"><div align=^"center^">Surf Discipline</div></span></p><table width=^"100%%^" border=^"1^"><table width=^"100%%^" border=^"1^">")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">To surf, jump or walk onto one of the curved walls (hereby referted to as 'ramps'). Then simply hold strafe (Default are the A and D keys). This will cause you to glide along the walls, or &quot;surf&quot;. </span></td></tr>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">While surfing, never press up, down, or crouch; pressing those will cause you to slide off the wall and fall, which, in most surf maps, will cause you to get sent back to your spawn. </span></td></tr>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">To change direction (in order to make it to the next ramp), press the button for the direction you wish to go before flying off of your current ramp.</span></td></tr>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">Surfing takes pratice, so don't be discouraged if you don't get it right the first time.</span></td></tr>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"</table><p align=^"center^"><span class=^"sty1^">Powered by uSurf</span></p></body></html>")
		}
		case 1 :
		{
			copy(Title,15,"uSurf Commands")
			
			Pos = format(MOTD,sizeof MOTD - 1,"<style type=^"text/css^"></style>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<body bgcolor=^"#000000^"><span class=^"sty1^"><div align=^"center^">

uSurf Commands</p></span></div><table width=^"100%%^" border=^"1^">")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">say /surfhelp</span></td><td><span class=^"sty1^">Brings up this window.</span>/td></tr>")
			if(get_pcvar_num(p_Respawn))
				Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">say /respawn</span></td><td><span class=^"sty1^">Sends you back to your spawn, or, in the event of a malfunction, allows you to respawn yourself manually.</span></td></tr>")
			if(get_pcvar_num(p_Cp))
			{
				new Cvar = get_pcvar_num(p_CpDelay)
				Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">say /checkpoint</span></td><td><span class=^"sty1^">Saves a checkpoint at your current location. Use &quot;say /gocheck&quot; to go to it. You can save or load a checkpoint every %d seconds.</span></td></tr>",Cvar)
				Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">say /gocheck</span></td><td><span class=^"sty1^">Allows you to go to one of your saved checkpoints. You can save or load a checkpoint every %d seconds.</span></td></tr>",Cvar)
			}
			if(get_pcvar_num(p_Timer))
				Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<tr><td><span class=^"sty1^">say /timer</span></td><td><span class=^"sty1^">Brings up a menu with various timer options, allowing you to time various events.</span></td></tr>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"</table><p align=^"center^"><span class=^"sty1^">Powered by uSurf</span></p></body></html>")
		}
		case 2 :
		{
			copy(Title,15,"About uSurf")
			
			Pos = format(MOTD,sizeof MOTD - 1,"<style type=^"text/css^"></style>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<body bgcolor=^"#000000^"><span class=^"sty1^"><div align=^"center^">About uSurf</span></div>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"<span class=^"sty1^">

This plugin is designed to manage surf servers. It is the successor to Surf Management / Tools.</p>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"

For more information or to download this plugin, go <a href=^"http://forums.alliedmods.net/showthread.php?t=16418^">here</a> (<a href=^"http://forums.alliedmods.net/showthread.php?t=16418^">http://forums.alliedmods.net/showthread.php?t=16418</a>)</p>")
			Pos += format(MOTD[Pos],sizeof MOTD - 1 - Pos,"</span><p align=^"center^"><span class=^"sty1^">Powered by uSurf</span></p></body></html")
		}
		default :
			return
	}
	
	show_motd(id,MOTD,Title)
	menu_display(id,g_SurfHelpMenu,0)
}

public ShowSurfHelp()
{	
	if(g_SurfMap && get_pcvar_num(p_Help) && get_pcvar_num(p_On))
		client_print(0,print_chat,"[USURF] Need help surfing? Say /surfhelp")
		
	set_task(get_pcvar_float(p_HelpInterval),"ShowSurfHelp")
}

public CmdCheckpoint(id)
{
	if(!get_pcvar_num(p_Cp) || !get_pcvar_num(p_On) || !g_SurfMap)
		return PLUGIN_HANDLED
	
	new Float:Time,Float:Delay = get_pcvar_float(p_CpDelay)
	global_get(glb_time,Time)
	
	new Float:TimePassed = Time - g_LastSave[id] 
	
	if(TimePassed < Delay)
	{
		client_print(id,print_chat,"[USURF] You must wait %d seconds before saving again.",floatround(Delay - TimePassed))
		return PLUGIN_HANDLED
	}
	
	pev(id,pev_origin,g_Origin[id])
	if(pev(id,pev_button) & IN_DUCK)
		g_Origin[id][2] += 24.0
	pev(id,pev_velocity,g_Velocity[id])
	pev(id,pev_angles,g_Angles[id])
	g_LastSave[id] = Time
	
	client_print(id,print_chat,"[USURF] You have saved this checkpoint.")
	
	return PLUGIN_HANDLED
}

public CmdGoCheck(id)
{
	if(!get_pcvar_num(p_Cp) || !get_pcvar_num(p_On) || !g_SurfMap)
		return PLUGIN_HANDLED
	
	if(!g_Origin[id][0])
	{
		client_print(id,print_chat,"[USURF] You have not saved a checkpoint.")
		return PLUGIN_HANDLED
	}
	
	new Float:Time,Float:Delay = get_pcvar_float(p_CpDelay)
	global_get(glb_time,Time)
	
	new Float:TimePassed = Time - g_LastSave[id] 
	
	if(TimePassed < Delay)
	{
		client_print(id,print_chat,"[USURF] You must wait %d seconds before going to a checkpoint.",floatround(Delay - TimePassed))
		return PLUGIN_HANDLED
	}
	
	engfunc(EngFunc_SetOrigin,id,g_Origin[id])
	set_pev(id,pev_velocity,g_Velocity[id])
	set_pev(id,pev_fixangle,1)
	set_pev(id,pev_angles,g_Angles[id])
	g_LastSave[id] = Time
	
	client_print(id,print_chat,"[USURF] You have gone to your last checkpoint.")
	
	return PLUGIN_HANDLED
}

public CmdRespawn(id)
{	
	new CsTeams:Team = cs_get_user_team(id)
	
	if(!get_pcvar_num(p_On))
		return client_print(id,print_chat,"[USURF] Sorry, the surf plugin is currently disabled.")
	else if(!get_pcvar_num(p_Respawn))
		return client_print(id,print_chat,"[USURF] Respawning is currently disabled.")
	else if(!g_SurfMap)
		return client_print(id,print_chat,"[USURF] This is not a surf map.")
	
	if(Team == CS_TEAM_T || Team == CS_TEAM_CT)
		set_task(0.5,"Spawn",id)
	else
		return client_print(id,print_chat,"[USURF] You must be on a team to respawn.")
	
	client_print(id,print_chat,is_user_alive(id) ? "[USURF] You have been sent back to your spawn." : "[USURF] You have been respawned.")
		
	return PLUGIN_CONTINUE
}

public StandardTimer()
{
	if(!get_pcvar_num(p_On) || !g_SurfMap)
		return
	
	static Players[32],Playersnum,Player,CsTeams:Team
	
	new TeamStack = get_pcvar_num(p_TeamStack)
	if(TeamStack == _:CS_TEAM_CT || TeamStack == _:CS_TEAM_T)
	{
		get_players(Players,Playersnum)
		
		for(new Count;Count < Playersnum;Count++)
		{
			Player = Players[Count]
			
			Team = cs_get_user_team(Player)
			if(_:Team != TeamStack && (Team == CS_TEAM_T || Team == CS_TEAM_CT))
				cs_set_user_team(Player,CsTeams:TeamStack,CsInternalModel:g_Models[TeamStack - 1][random_num(0,3)])
		}
	}
		
	if(!get_pcvar_num(p_Respawn))
		return
	
	get_players(Players,Playersnum,"b")
	
	for(new Count = 0;Count < Playersnum;Count++)
	{
		Player = Players[Count]
		Team = cs_get_user_team(Player)
		
		if(Team == CS_TEAM_T || Team == CS_TEAM_CT)
			Spawn(Player)
	}
}

public EventDeathMsg()	
{
	new id = read_data(2)
	set_task(0.5,"Spawn",id)
	
	global_get(glb_time,g_LastSave[id])
	g_LastSave[id] -= get_pcvar_num(p_CpDelay)
}

public Spawn(id)
{
	new CsTeams:Team = cs_get_user_team(id)
	
	if(is_user_connected(id) && (Team == CS_TEAM_T || Team == CS_TEAM_CT) && get_pcvar_num(p_On) && get_pcvar_num(p_Respawn) && g_SurfMap)
	{
		dllfunc(DLLFunc_Spawn,id)
		set_task(0.2,"GiveSuit",id)
		set_task(0.3,"GiveItems",id)
	}
}

public GiveSuit(id)
	fm_give_item(id,"item_suit")

public GiveItems(id)
{
	fm_give_item(id,"weapon_knife")
	fm_give_item(id,"weapon_scout")
}

// no, VEN did not write this, I did (although I found out later that he wrote something like it)
fm_give_item(id,Item[])
{
	if(containi(Item,"item_") == -1 && containi(Item,"weapon_") == -1 && containi(Item,"ammo_") == -1 && containi(Item,"tf_weapon_") == -1)
		return
	
	new Ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, Item)),Float:vOrigin[3]
	
	if(!pev_valid(Ent))
		return
		
	pev(id,pev_origin,vOrigin)
	set_pev(Ent,pev_origin,vOrigin)
	
	set_pev(Ent,pev_spawnflags,pev(Ent,pev_spawnflags)|(1<<30))
	
	dllfunc(DLLFunc_Spawn,Ent)
	
	new Solid = pev(Ent,pev_solid)
	
	dllfunc(DLLFunc_Touch,Ent,id)
	
	if(pev(Ent,pev_solid) == Solid)
		engfunc(EngFunc_RemoveEntity,Ent)
}

CheckButton()
	if(get_pcvar_num(p_RemoveButton) && get_pcvar_num(p_On) && g_SurfMap)
	{
		new Ent,Value[] = "classname",ClassName[] = "env_explosion"
		while((Ent = engfunc(EngFunc_FindEntityByString,Ent,Value,ClassName)) != 0)
			if(pev_valid(Ent))
				set_pev(Ent,pev_flags,pev(Ent,pev_flags)|FL_KILLME)
	}

public ForwardPlayerPreThink(id)
{
	if(!is_user_alive(id) || !get_pcvar_num(p_On) || !g_SurfMap)
		return
		
	new NoGuns = get_pcvar_num(p_NoGuns)
	
	if(NoGuns == 1)
	{
		new SpawnDistance = get_pcvar_num(p_SpawnDist)
		
		static Float:vOrigin[3]
		pev(id,pev_origin,vOrigin)
	
		new DeathMatch = engfunc(EngFunc_FindEntityByString,-1,"classname","info_player_deathmatch")
		new PlayerStart = engfunc(EngFunc_FindEntityByString,-1,"classname","info_player_start")
		
		if(DeathMatch && PlayerStart)
		{
			static Float:vDeathMatch_Origin[3]
			pev(DeathMatch,pev_origin,vDeathMatch_Origin)
	
			static Float:vPlayerStart_Origin[3]
			pev(PlayerStart,pev_origin,vPlayerStart_Origin)
		
			new Float:DeathMatch_Distance = get_distance_f(vOrigin,vDeathMatch_Origin)
			new Float:PlayerStart_Distance = get_distance_f(vOrigin,vPlayerStart_Origin)
		
			new Clip,Ammo,Weapon = get_user_weapon(id,Clip,Ammo)
			
			if(DeathMatch_Distance < SpawnDistance || PlayerStart_Distance < SpawnDistance)
			{
				if(Weapon != CSW_KNIFE && Weapon != CSW_C4 && Weapon != CSW_HEGRENADE && Weapon != CSW_FLASHBANG && Weapon != CSW_SMOKEGRENADE)
					client_cmd(id,"drop")
			} // Argh, stupid thing doesn't understand this if I don't add the brackets.
			else if(DeathMatch_Distance > SpawnDistance || PlayerStart_Distance > SpawnDistance)
				if(!user_has_weapon(id,CSW_SCOUT))
					fm_give_item(id,"weapon_scout")
		}
	}
	else if(NoGuns == 2)
	{		
		new Clip, Ammo, Weapon = get_user_weapon(id,Clip,Ammo)
			
		if(Weapon != CSW_KNIFE && Weapon != CSW_C4 && Weapon != CSW_HEGRENADE && Weapon != CSW_FLASHBANG && Weapon != CSW_SMOKEGRENADE)
			client_cmd(id,"drop")
	}
	else if(NoGuns == 3)
	{
		new Clip, Ammo, Weapon = get_user_weapon(id,Clip,Ammo)
			
		if(Weapon != CSW_KNIFE && Weapon != CSW_C4)
		{
			fm_strip_user_weapons(id)
			fm_give_item(id,"weapon_knife")
		}
	}
	
	if(get_pcvar_num(p_BunnyHop))
	{
		set_pev(id,pev_fuser2,0.0)
		
		if(get_pcvar_num(p_BunnyHopAutoJump) && pev(id,pev_button) & IN_JUMP)
		{
			new Flags = pev(id,pev_flags)
			if(!(Flags & FL_WATERJUMP) && pev(id,pev_waterlevel) < 2 && Flags & FL_ONGROUND)
			{
				new Float:Velocity[3]
				pev(id,pev_velocity,Velocity)
				Velocity[2] += 250.0
				set_pev(id,pev_velocity,Velocity)

				set_pev(id,pev_gaitsequence,6)
			}
		}
	}
	
	if(get_pcvar_num(p_Timer) && g_Timer[id])
	{
		static Time[33]
		
		set_hudmessage(get_pcvar_num(p_R),get_pcvar_num(p_G),get_pcvar_num(p_B),get_pcvar_float(p_X),get_pcvar_float(p_Y),0,0.0,6.0,0.0,0.0,-1)
		get_time_length(id,g_Time[id],timeunit_seconds,Time,32)
		ShowSyncHudMsg(id,g_HudObject,"Timer: %s",Time)
	}
}

public ForwardSetModel(id,Model[])
{	
	if(!pev_valid(id) || !g_SurfMap || !get_pcvar_num(p_On) || !strlen(Model) || !get_pcvar_num(p_RemoveDropped))
		return
	
	static ClassName[33]
	pev(id,pev_classname,ClassName,32)
	
	if(equali(ClassName,"weaponbox"))	
		set_task(0.1,"RemoveGun",id)
}

public RemoveGun(id)	
	if(pev_valid(id))
		engfunc(EngFunc_RemoveEntity,id)

public ForwardTouch(Ptr,Ptd)
{
	if(!pev_valid(Ptr) || !pev_valid(Ptd) || !g_SurfMap || !get_pcvar_num(p_On) || !get_pcvar_num(p_Respawn))
		return FMRES_IGNORED
	
	new id
	if(is_user_alive(Ptr))
		id = Ptr
	else if(is_user_alive(Ptd))
		id = Ptd
	
	if(!id)
		return FMRES_IGNORED
		
	static Classname[33]
	pev(id == Ptr ? Ptd : Ptr,pev_classname,Classname,32)
	if(equali(Classname,"trigger_hurt"))
	{
		Spawn(id)
		return FMRES_SUPERCEDE
	}
	
	return FMRES_IGNORED
}

public ForwardThink(Ent)
{
	if(Ent != g_SemiclipThinker || !g_SurfMap)
		return
	
	if(get_pcvar_num(p_Semiclip) && get_pcvar_num(p_On))
	{
		static Players[32],Playersnum,Player
		get_players(Players,Playersnum)
		
		for(new Count;Count < Playersnum;Count++)
		{			
			Player = Players[Count]
			if(!is_user_alive(Player))
				continue
			
			set_pev(Player,pev_solid,IsColliding(Player) ? SOLID_NOT : SOLID_BBOX)
		}
	}
	
	new Float:Time
	global_get(glb_time,Time)
	set_pev(Ent,pev_nextthink,Time + 0.01)
}

public ForwardTraceLine(Float:v1[3],Float:v2[3],EntToSkip,NoMonsters,TR)
{
	if(!get_pcvar_num(p_Godmode) || !g_SurfMap || !get_pcvar_num(p_On))
		return FMRES_IGNORED
	
	new id = get_tr(TR_pHit)
	if(!is_user_alive(id))
		return FMRES_IGNORED
		
	new Attacker
	while((Attacker = engfunc(EngFunc_FindEntityInSphere,Attacker,v1,10.0)) != 0)
		if(Attacker < 33 && Attacker > 0)
			break
	
	if(!is_user_alive(Attacker))
		return FMRES_IGNORED
	
	new Button = pev(Attacker,pev_button)
	if(!(Button & IN_ATTACK) && !(Button & IN_ATTACK2))
		return FMRES_IGNORED
	
	set_tr(TR_flFraction,1.0)
	
	return FMRES_IGNORED
}

public ForwardTraceHull(Float:v1[3],Float:v2[3],NoMonsters,Hull,EntToSkip,TR)
{
	if(!g_SurfMap || !get_pcvar_num(p_On) || !get_pcvar_num(p_Godmode))
		return FMRES_IGNORED
	
	new Button = pev(EntToSkip,pev_button)
	if(!(Button & IN_ATTACK) && !(Button & IN_ATTACK2))
		return FMRES_IGNORED
	
	set_tr(TR_flFraction,1.0)
	
	return FMRES_IGNORED
}

// thanks to VEN for this stock from Fakemeta Utilities
fm_strip_user_weapons(index) {
	new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"))
	if (!pev_valid(ent))
		return 0

	dllfunc(DLLFunc_Spawn, ent)
	dllfunc(DLLFunc_Use, ent, index)
	
	engfunc(EngFunc_RemoveEntity, ent)

	return 1
}

IsColliding(id)
{
	if(pev(id,pev_flags) & FL_ONGROUND || pev(id,pev_button) & IN_JUMP)
		return false
	
	new Ent,Float:Origin[3]
	pev(id,pev_origin,Origin)
		
	while((Ent = engfunc(EngFunc_FindEntityInSphere,Ent,Origin,36.0)) != 0)
		if(Ent > 0 && Ent <= 32 && is_user_alive(Ent) && Ent != id)
			return true
	
	return false
}

  
  stare
automat15 is Offline
Starsza lamka
 
Postów: 50

Poziom upalenia:
-------- Doświadczenie: abstynent
Zarejestrowany: Mar 2008
   

nie potrzebujesz pluginu a rozumu. jest taka komenda sv_striptize ktora ustawiasz na 250
  
Zamknięty Temat

Narzędzia wątku

Podobne wątki
Temat Forum
Potrzebuje PLUGIN!
Pluginy, dodatki, AMX, AMXX
Potrzebuje dam +
Pluginy, dodatki, AMX, AMXX
potrzebuje sma
Szukam pluginu AMX/AMXX
Potrzebuje Css
Instalacja Counter Strike Source Steam i Non Steam
PLUGIN POTRZEBUJE :)
Pluginy, dodatki, AMX, AMXX
Plugin-potrzebuje !!!
Szukam pluginu AMX/AMXX
Problem ! A mianowicie potrzebuje plugin !
Szukam pluginu AMX/AMXX
plugin prometheus umieszczam plugin nie moj
Pluginy, dodatki, AMX, AMXX
Problem z ustawieniami
Problemy z Counter Strike 1.6 Non Steam
potrzebuje map do CS:D
Instalacja i podstawy Counter Strike 1.6 Non Steam

Zasady Postowania
Nie możesz zakładać nowych tematów
Nie możesz pisać wiadomości
Nie możesz dodawać załączników
Nie możesz edytować swoich postów

BB Code jest Włączony
EmotikonyWłączony
[IMG] kod jest Włączony
HTML kod jest Wyłączony
Trackbacks are Włączony
Pingbacks are Włączony
Refbacks are Wyłączony


X Przeglądasz forum jako gość, zarejestruj się aby uzyskać pełen dostęp do wiaderkowego stuff'u ganja

zalogowani nie widzą reklam

Najpopularniejsze zapytania na forum
Chmura zapytań powered by mosh
śmieszne pluginy do cs śmieszne pluginy do cs śmieszne plugins ściągnij pluginy na serwer cs zrobic wlasny plugin do cs zombie swarm plugin download zombie mod pluginy zombie mod plugins zombie mod plugin download zombie mod plugin zombie infection plugin download zombie infection plugin zombie plugin cs zombie plugin zombi laser plugin zmiana nicka graczowi plugin zmiana nick mani admin plugin zmiana nazwy gry plugin zbiór pluginów do cs 1.6 zbiór pluginów do cs zbiór pluginów do amx zbiór pluginów amxx zasady serwera cs plugin zasady serwera plugin zasady plugin zajebisty plugin cs zajebiste pluginy do cs zabawa w chowanego cs plugin zabawa w chowanego plugin download zabawa w chowanego plugin cs screensaver desktop fondo build personal converter Serwery CS 1.6 non-steam non steam counter strike 1.6

Powered by vBulletin ® =w= Edition
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
Spolszczenie: vBHELP.pl - Polski Support vBulletin

Inne strony korporacji ;) wiaderko: Portal Counter Strike | Katalog Counter Strike | Forum Wielotematyczne | Free download | Free software download

Copyright © 2007-2008 Counter Strike wiaderko.com