Server Furien.

Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
fenomeNNN.xD
Membru, skill 0
Membru, skill 0
Posts: 4
Joined: 05 Apr 2013, 16:21
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 1 time
Contact:

10 Apr 2013, 20:09

De ce cand Furienii stau pe loc nu sunt invizivili?
si cand trec peste o arma furienii por sa o ia.



Anti furienii sunt transparenti ,dc? [/color][/b]
RoyalServer 2
fenomeNNN.xD
Membru, skill 0
Membru, skill 0
Posts: 4
Joined: 05 Apr 2013, 16:21
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 1 time
Contact:

11 Apr 2013, 21:59

up....
User avatar
FireFox
Membru, skill +3
Membru, skill +3
Posts: 1207
Joined: 23 Jul 2009, 18:03
Detinator Steam: Nu
Detinator server CS: Surf2.MnX.Ro
Reputatie: Membru Club eXtreamCS: 2 luni
Nume anterior: CaTaL!N
Fost Moderator ajutator
Has thanked: 67 times
Been thanked: 104 times

11 Apr 2013, 22:10

Incearcal pe acesta si zi-mi daca mai ai probleme
| Afiseaza codul
/*	Formatright © 2009, ConnorMcLeod 

	Furiens is free software;
	you can redistribute it and/or modify it under the terms of the
	GNU General Public License as published by the Free Software Foundation.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with Furiens; if not, write to the
	Free Software Foundation, Inc., 59 Temple Place - Suite 330,
	Boston, MA 02111-1307, USA.
	
	// plugin editted by sPuf ?
	// the plugin works now 47+48
	// it`s not using querry_client_cvar anymore !
*/

#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <fakemeta>
#include <hamsandwich>

#include "furien.inc"

#define MAX_PLAYERS 32

#define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame

new g_iMaxPlayers
#define FIRST_PLAYER_ID	1
#define IsPlayer(%1)	( FIRST_PLAYER_ID <= %1 <= g_iMaxPlayers )

new CsTeams:g_iFuriensTeam = CS_TEAM_T

// players offsets
#define XTRA_OFS_PLAYER 5
#define m_iAccount 115
#define cs_set_money_value(%1,%2)	set_pdata_int(%1, m_iAccount, %2, XTRA_OFS_PLAYER)

// "weaponbox" offsets
#define XO_WEAPONBOX				4
#define m_rgpPlayerItems_wpnbx_Slot5	39
#define IsWeaponBoxC4(%1)	( get_pdata_cbase(%1, m_rgpPlayerItems_wpnbx_Slot5, XO_WEAPONBOX) > 0 )

new g_iFurienTeamChangeForward

new g_iFurienRoundRestartForward, bool:g_bRestarting

new Float:g_flFurienGravity = 0.375
new g_iInvisFactor = 1
new Float:g_flMaxSpeed = 500.0
new g_iFurienReward = 1337
new g_iAntiReward = 400
new g_iAnnounce = 1

new bool:g_bSwitchTeam = true
new bool:g_bSwitchInProgress

new Trie:g_tPreventEntityKeyvalue
new g_iPickUp = 2

new g_szSpeedCommand[128]

new g_szFurienWinSound[64]
new g_szAntiWinSound[64]

new g_szGameDescription[32]

new g_bitBombPlant

new g_iNewMoney
new g_iMsgHookMoney

new g_iTextMsg, g_iMoney

new HamHook:g_iHhTakeDamage

public plugin_natives()
{
	register_library("furien")
	register_native("furien_get_user_team", "fr_get_user_team")
}

public plugin_precache()
{
	if( !ReadCfgFile() )
	{
		log_amx("Configuration file doesn't exist !!")
	}
}

public plugin_init()
{
	register_plugin("Furiens", FURIEN_VERSION, "ConnorMcLeod")

	register_dictionary("common.txt")
	register_dictionary("furiens.txt")

	new pCvar = register_cvar("furien_version", FURIEN_VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
	set_pcvar_string(pCvar, FURIEN_VERSION)

	register_clcmd("say ?", "A_Propos")
	register_clcmd("say_team ?", "A_Propos")
	register_clcmd("?", "A_Propos")	

	RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)
	RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1)

	register_message(get_user_msgid("SendAudio"), "Message_SendAudio")

	new iEnt
	iEnt = create_entity("info_target")
	set_pev(iEnt, pev_classname, "check_speed")
	set_pev(iEnt, pev_nextthink, get_gametime() + 0.1)
	register_think("check_speed", "Set_Furiens_Visibility")

	g_iFurienTeamChangeForward = CreateMultiForward("furien_team_change", ET_IGNORE, FP_CELL)

	register_event("TextMsg", "Event_TextMsg_Restart", "a", "2&#Game_C", "2&#Game_w")
	register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0")
	g_iFurienRoundRestartForward = CreateMultiForward("furien_round_restart", ET_IGNORE)

	register_event("DeathMsg", "Event_DeathMsg", "a")

	if( get_cvar_float("sv_maxspeed") < g_flMaxSpeed )
	{
		set_cvar_float("sv_maxspeed", g_flMaxSpeed)
	}

	formatex(g_szSpeedCommand, charsmax(g_szSpeedCommand), 
			";cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f",
							g_flMaxSpeed, g_flMaxSpeed, g_flMaxSpeed)

	g_iMaxPlayers = get_maxplayers()
	g_iTextMsg = get_user_msgid("TextMsg")
	g_iMoney = get_user_msgid("Money")
}

ReadCfgFile()
{
	new szConfigFile[128]
	get_localinfo("amxx_configsdir", szConfigFile, charsmax(szConfigFile))
	format(szConfigFile, charsmax(szConfigFile), "%s/furien/furien.ini", szConfigFile);

	new fp = fopen(szConfigFile, "rt")
	if( !fp )
	{
		return 0
	}

	new szDatas[96], szKey[32], szValue[64]
	while( !feof(fp) )
	{
		fgets(fp, szDatas, charsmax(szDatas))
		trim(szDatas)
		if(!szDatas[0] || szDatas[0] == ';' || szDatas[0] == '#' || (szDatas[0] == '/' && szDatas[1] == '/'))
		{
			continue
		}

		if( parse(szDatas, szKey, charsmax(szKey), szValue, charsmax(szValue)) < 2 || szValue[0] == 0 )
		{
			continue
		}

		switch( szKey[0] )
		{
			case 'B':
			{
				switch( szKey[1] )
				{
					case 'U':
					{
						if( equal(szKey, "BUY") )
						{
							switch( clamp(str_to_num(szValue), 0, 1) )
							{
								case 0:
								{
									new iEnt

									g_tPreventEntityKeyvalue = TrieCreate()
									TrieSetCell(g_tPreventEntityKeyvalue, "player_weaponstrip", 1)
									TrieSetCell(g_tPreventEntityKeyvalue, "game_player_equip", 1)
									TrieSetCell(g_tPreventEntityKeyvalue, "info_map_parameters", 1)

									iEnt = create_entity("info_map_parameters")
									DispatchKeyValue(iEnt, "buying", "3")
									DispatchSpawn(iEnt)

									register_buy_cmd()
								}
							}
						}
					}
					case 'O':
					{
						if( equal(szKey, "BOMB_PLANT") )
						{
							g_bitBombPlant = clamp(str_to_num(szValue), 0, 3)
							if( g_bitBombPlant != 3 )
							{
								RegisterHam(Ham_AddPlayerItem, "player", "Player_AddPlayerItem")
							}
						}
					}
				}
			}
			case 'F':
			{
				if( equal(szKey, "FURIEN_ANNOUNCE") )
				{
					g_iAnnounce = str_to_num(szValue)
				}
			}
			case 'G':
			{
				switch( szKey[1] )
				{
					case 'A':
					{
						if( equal(szKey, "GAMENAME") )
						{
							replace(szValue, charsmax(szValue), "%v", FURIEN_VERSION)
							copy(g_szGameDescription, charsmax(g_szGameDescription), szValue)
							register_forward(FM_GetGameDescription, "GetGameDescription")
						}
					}
					case 'R':
					{
						if( equal(szKey, "GRAVITY") )
						{
							g_flFurienGravity = floatclamp(str_to_float(szValue), 0.0125, 1.0)
						}
					}
				}
			}
			case 'H':
			{
				if( equal(szKey, "HOSTAGE_REMOVE") && str_to_num(szValue) )
				{
					RegisterHam(Ham_Spawn, "hostage_entity", "Hostage_Spawn")
				}
			}
			case 'I':
			{
				if( equal(szKey, "INVIS_FACTOR") )
				{
					g_iInvisFactor = clamp(str_to_num(szValue), 1, 4)
				}
			}
			case 'K':
			{
				switch( szKey[5] )
				{
					case 'A':
					{
						if( equal(szKey, "KILL_ANTI_REWARD") )
						{
							g_iAntiReward = str_to_num(szValue)
						}
					}
					case 'F':
					{
						if( equal(szKey, "KILL_FURIEN_REWARD") )
						{
							g_iFurienReward = str_to_num(szValue)
						}
					}
				}
			}
			case 'M':
			{
				if( equal(szKey, "MAXSPEED") )
				{
					g_flMaxSpeed = floatclamp(str_to_float(szValue), 100.0, 2000.0)
				}
			}
			case 'P':
			{
				if( equal(szKey, "PICK_UP") )
				{
					g_iPickUp = clamp(str_to_num(szValue), 0, 3)
					switch( g_iPickUp )
					{
						case 0,1,2:
						{
							RegisterHam(Ham_Touch, "weaponbox", "CWeaponBox_Touch")
							RegisterHam(Ham_Touch, "armoury_entity", "GroundWeapon_Touch")
							RegisterHam(Ham_Touch, "weapon_shield", "GroundWeapon_Touch")
						}
					}
				}
			}
			case 'S':
			{
				if( equal(szKey, "SWITCH_TEAMS") )
				{
					g_bSwitchTeam = !!clamp(str_to_num(szValue), 0, 1)
					if( g_bSwitchTeam )
					{
						g_iHhTakeDamage = RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage")
						DisableHamForward( g_iHhTakeDamage )
					}
				}
			}
			case 'W':
			{
				if( equal(szKey, "WIN_SOUND_", 10) )
				{
					new szFullPath[128]
					switch(szKey[10])
					{
						case 'F':
						{
							formatex(szFullPath, charsmax(szFullPath), "sound/%s", szValue)
							if( file_exists(szFullPath) )
							{
								copy(g_szFurienWinSound, charsmax(g_szFurienWinSound), szValue)
								precache_sound(szValue)
							}
						}
						case 'A':
						{
							formatex(szFullPath, charsmax(szFullPath), "sound/%s", szValue)
							if( file_exists(szFullPath) )
							{
								copy(g_szAntiWinSound, charsmax(g_szAntiWinSound), szValue)
								precache_sound(szValue)
							}
						}
					}
				}
			}
		}
	}
	fclose( fp )

	return 1
}

public GetGameDescription()
{
	forward_return(FMV_STRING, g_szGameDescription)
	return FMRES_SUPERCEDE
}

public Event_TextMsg_Restart()
{
	g_bRestarting = true
}

public Event_HLTV_New_Round()
{
	if( g_bRestarting )
	{
		g_bRestarting = false
		new iRet
		ExecuteForward(g_iFurienRoundRestartForward, iRet)
	}

	if( g_bSwitchInProgress )
	{
		g_bSwitchInProgress = false
		DisableHamForward( g_iHhTakeDamage )
	}
}

public GroundWeapon_Touch(iWeapon, id)
{
	if( IsPlayer(id) )
	{
		if( !g_iPickUp )
		{
			remove_entity(iWeapon)
			return HAM_SUPERCEDE
		}

		if( !is_user_alive(id) )
		{
			return HAM_SUPERCEDE
		}

		new iTeam = __get_user_team(id)
		if(	( iTeam == -1 )
		||	(iTeam == Furien && g_iPickUp != 1)
		||	(iTeam == AntiFurien && g_iPickUp != 2)	)
		{
			return HAM_SUPERCEDE
		}
	}
	return HAM_IGNORED
}

public CWeaponBox_Touch(iWeaponBox, id)
{
	if( IsPlayer(id) )
	{
		if( !is_user_alive(id) )
		{
			return HAM_SUPERCEDE
		}

		if( IsWeaponBoxC4(iWeaponBox) )
		{
			return HAM_IGNORED
		}

		if( !g_iPickUp )
		{
			remove_entity(iWeaponBox)
			return HAM_SUPERCEDE
		}

		new iTeam = __get_user_team(id)
		if(	( iTeam == -1 )
		||	(iTeam == Furien && g_iPickUp != 1)
		||	(iTeam == AntiFurien && g_iPickUp != 2)	)
		{
			return HAM_SUPERCEDE
		}
	}
	return HAM_IGNORED
}

register_buy_cmd()
{
	register_clcmd("buy", "ClientCommand_Buy")
	register_clcmd("bUy", "ClientCommand_Buy")
	register_clcmd("buY", "ClientCommand_Buy")
	register_clcmd("bUY", "ClientCommand_Buy")
	register_clcmd("Buy", "ClientCommand_Buy")
	register_clcmd("BUy", "ClientCommand_Buy")
	register_clcmd("BuY", "ClientCommand_Buy")
	register_clcmd("BUY", "ClientCommand_Buy")
}

public ClientCommand_Buy(id)
{
	return PLUGIN_HANDLED_MAIN
}

public pfn_keyvalue( iEnt ) 
{
	if( g_tPreventEntityKeyvalue )
	{
		new szClassName[32], szCrap[2]
		copy_keyvalue(szClassName, charsmax(szClassName), szCrap, charsmax(szCrap), szCrap, charsmax(szCrap)) 
		if( TrieKeyExists(g_tPreventEntityKeyvalue, szClassName) )
		{
			remove_entity(iEnt)
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_CONTINUE
}

public plugin_cfg()
{
	if( g_tPreventEntityKeyvalue )
	{
		TrieDestroy(g_tPreventEntityKeyvalue)
		set_cvar_float("sv_restart", 1.0)
	}
}

public fr_get_user_team(/*iPlugin, iParams*/)
{
	return __get_user_team( get_param(1) )
}

__get_user_team(id)
{
	new CsTeams:iTeam = cs_get_user_team(id)
	if( CS_TEAM_T <= iTeam <= CS_TEAM_CT )
	{
		if( iTeam == g_iFuriensTeam )
		{
			return Furien
		}
		return AntiFurien
	}
	return -1
}

public client_putinserver( id )
{
	client_cmd( id, g_szSpeedCommand );

	if( g_iAnnounce )
	{
		set_task(random_float(11.0, 19.0), "A_Propos", id)
	}
}

public Player_Spawn_Post( id )
{
	if( is_user_alive(id) )
	{
		client_cmd( id, g_szSpeedCommand );
		
		strip_user_weapons(id)

		if( __get_user_team(id) == Furien )
		{
			set_user_gravity(id, g_flFurienGravity)
			set_user_footsteps(id, 1)
		}
		else
		{
			set_user_footsteps(id, 0)
			set_user_gravity(id, 1.0)
		}

		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
	}
}

public Player_ResetMaxSpeed( id )
{
	if( is_user_alive(id) && __get_user_team(id) == Furien && get_user_maxspeed(id) != 1.0 )
	{
		set_pev(id, pev_maxspeed, g_flMaxSpeed)
	}
}

public Set_Furiens_Visibility( iEnt ) {
	
	entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1)

	new iPlayers[MAX_PLAYERS], iNum, id, Float:fVecVelocity[3], iSpeed

	get_players(iPlayers, iNum, "ae", g_iFuriensTeam == CS_TEAM_T ? "TERRORIST" : "CT")

	for(new i; i<iNum; i++)
	{
		id = iPlayers
		if( get_user_weapon(id) == CSW_KNIFE )
		{
			entity_get_vector(id, EV_VEC_velocity, fVecVelocity)
			iSpeed = floatround( vector_length(fVecVelocity) )
			if( iSpeed < g_iInvisFactor*255 )
			{
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, iSpeed/g_iInvisFactor)
			}
			else
			{
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
			}
		}
		else
		{
			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
		}
	}
}

public Message_SendAudio(iMsgId, iMsgDest, id)
{
	if( !id )
	{
		new bool:bAntiWins
		new bool:bSwitchTeams
		new szSound[14]
		get_msg_arg_string(2, szSound, charsmax(szSound))
		if( equal(szSound, "%!MRAD_ctwin") )
		{
			if( g_iFuriensTeam == CS_TEAM_T )
			{
				if( g_bSwitchTeam )
				{
					bSwitchTeams = true
					g_iFuriensTeam = CS_TEAM_CT
				}
				bAntiWins = true
			}
		}
		else if( equal(szSound, "%!MRAD_terwin") )
		{
			if( g_iFuriensTeam == CS_TEAM_CT )
			{
				if( g_bSwitchTeam )
				{
					bSwitchTeams = true
					g_iFuriensTeam = CS_TEAM_T
				}
				bAntiWins = true
			}
		}
		else
		{
			return
		}

		if( get_msg_block(g_iTextMsg) == BLOCK_NOT )
		{
			set_msg_block(g_iTextMsg, BLOCK_ONCE)
		}

		new iPlayers[32], iNum, iPlayer
		get_players(iPlayers, iNum)
		for(new i; i<iNum; i++)
		{
			iPlayer = iPlayers
			client_print(iPlayer, print_center, "%L", iPlayer, bAntiWins ? "FURIEN_ANTI_WIN_MSG" : "FURIEN_FURIEN_WIN_MSG")
		}

		if( bAntiWins )
		{
			if( g_szAntiWinSound[0] )
			{
				set_msg_arg_string(2, g_szAntiWinSound)
			}

			if( bSwitchTeams )
			{
				new iRet
				ExecuteForward(g_iFurienTeamChangeForward, iRet, g_iFuriensTeam)
				g_bSwitchInProgress = true
				EnableHamForward( g_iHhTakeDamage )
			}
		}
		else
		{
			if( g_szFurienWinSound[0] )
			{
				set_msg_arg_string(2, g_szFurienWinSound)
			}
		}		
	}
}

public Event_DeathMsg()
{
	new iKiller = read_data(1)
	if( IsPlayer(iKiller) && is_user_connected(iKiller) )
	{
		new iVictim = read_data(2)
		if( iVictim != iKiller )
		{
			new iVicTimTeam = __get_user_team(iVictim)
			if( __get_user_team(iKiller) == iVicTimTeam )
			{
				return
			}
			g_iNewMoney = clamp
						( 
							cs_get_user_money(iKiller) + (iVicTimTeam == Furien ? g_iFurienReward : g_iAntiReward), 
							0, 
							16000
						)
			g_iMsgHookMoney = register_message(g_iMoney, "Message_Money")
		}
	}
}

public Message_Money(iMsgId, iMsgDest, id)
{
	unregister_message(g_iMoney, g_iMsgHookMoney)
	cs_set_money_value(id, g_iNewMoney)
	set_msg_arg_int(1, ARG_LONG, g_iNewMoney)
}

public A_Propos(id)
{
	if( is_user_connected(id) )
	{
		client_print(id, print_chat, "%L", id, "FURIEN_CREDIT", FURIEN_VERSION)
		client_print(id, print_console, "%L", id, "FURIEN_LINK")
	}
}

public Player_AddPlayerItem(id , iWeapon)
{
	if(	ExecuteHam(Ham_Item_GetWeaponPtr, iWeapon) != iWeapon
	||	cs_get_weapon_id(iWeapon) != CSW_C4	
	||	g_bitBombPlant & __get_user_team(id)	)
	{
		return HAM_IGNORED
	}

	set_pev(iWeapon, pev_flags, pev(iWeapon, pev_flags) | FL_KILLME)
	cs_set_user_plant(id, 0)
	set_pev(id, pev_body, 0)
	SetHamReturnInteger(0)
	return HAM_SUPERCEDE
}

public Hostage_Spawn( iHostage )
{
	remove_entity(iHostage)
	return HAM_SUPERCEDE
}

public Player_TakeDamage() // switch teams
{
	return HAM_SUPERCEDE
}


Daca tot sunt vizibili pune acest semiclip
Team Semiclip | Afiseaza codul
#include <amxmodx>
#include <fakemeta>

#pragma semicolon 1

#define DISTANCE 120.0
#define UPDATE_FREQ 0.2

new bool:g_bSemiclip[33][33];
new bool:g_bHasSemiclip[33];
new bool:g_bSemiclipEnabled;

new g_iTaskId;
new g_iForwardId[3];
new g_iMaxPlayers;
new g_iCvar[3];

public plugin_init( )
{
	register_plugin( "(Team-)Semiclip", "1.0", "SchlumPF*" );
	
	g_iCvar[0] = register_cvar( "semiclip_enabled", "1" );
	g_iCvar[1] = register_cvar( "semiclip_teamclip", "1" );
	g_iCvar[2] = register_cvar( "semiclip_transparancy", "0" );
	
	register_forward( FM_Think, "fwdThink" );
	register_forward( FM_ClientCommand, "fwdClientCommand" );
	
	if( get_pcvar_num( g_iCvar[0] ) )
	{
		g_iForwardId[0] = register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" );
		g_iForwardId[1] = register_forward( FM_PlayerPostThink, "fwdPlayerPostThink" );
		g_iForwardId[2] = register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 );
		
		g_bSemiclipEnabled = true;
	}
	else
		g_bSemiclipEnabled = false;
	
	g_iMaxPlayers = get_maxplayers( );
	
	new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
	set_pev( ent, pev_classname, "task_semiclip" );
	set_pev( ent, pev_nextthink, get_gametime( ) + 1.01 );
	g_iTaskId = ent;
}

public fwdPlayerPreThink( plr )
{
	static id;
	
	if( is_user_alive( plr ) )
	{
		for( id = 1 ; id <= g_iMaxPlayers ; id++ )
		{
			if( pev( id, pev_solid ) == SOLID_SLIDEBOX && g_bSemiclip[plr][id] && id != plr )
			{
				set_pev( id, pev_solid, SOLID_NOT );
				g_bHasSemiclip[id] = true;
			}
		}
	}
}

public fwdPlayerPostThink( plr )
{
	static id;

	if( is_user_alive( plr ) )
	{
		for( id = 1 ; id <= g_iMaxPlayers ; id++ )
		{
			if( g_bHasSemiclip[id] )
			{
				set_pev( id, pev_solid, SOLID_SLIDEBOX );
				g_bHasSemiclip[id] = false;
			}
		}
	}
}

public fwdThink( ent )
{
	static i, j;
	static team[33];
	static Float:origin[33][3];
	
	if( ent == g_iTaskId )
	{
		if( get_pcvar_num( g_iCvar[0] ) )
		{
			for( i = 1 ; i <= g_iMaxPlayers ; i++ )
			{
				if( is_user_alive( i ) )
				{
					pev( i, pev_origin, origin );
						
					if( get_pcvar_num( g_iCvar[1] ) )
						team = get_user_team( i );
					
					for( j = 1 ; j <= g_iMaxPlayers ; j++ )
					{
						if( is_user_alive( j ) )
						{
							if( get_pcvar_num( g_iCvar[1] ) && team != team[j] )
							{
								g_bSemiclip[j] = false;
								g_bSemiclip[j] = false;
								
							}	
							else if( floatabs( origin[0] - origin[j][0] ) < DISTANCE && floatabs( origin[1] - origin[j][1] ) < DISTANCE && floatabs( origin[2] - origin[j][2] ) < ( DISTANCE * 2 ) )
							{
								g_bSemiclip[i][j] = true;
								g_bSemiclip[j][i] = true;
							}
							else
							{
								g_bSemiclip[i][j] = false;
								g_bSemiclip[j][i] = false;
							}
						}
					}
				}
			}
		}
		
		set_pev( ent, pev_nextthink, get_gametime( ) + UPDATE_FREQ );
	}
}

public fwdAddToFullPack_Post( es_handle, e, ent, host, hostflags, player, pset )
{
	if( player )
	{
		if( g_bSemiclip[host][ent] )
		{
			set_es( es_handle, ES_Solid, SOLID_NOT ); // makes semiclip flawless
			
			if( get_pcvar_num( g_iCvar[2] ) == 1 )
			{
				set_es( es_handle, ES_RenderMode, kRenderTransAlpha );
				set_es( es_handle, ES_RenderAmt, 85 );
			}
			else if( get_pcvar_num( g_iCvar[2] ) == 2 )
			{
				set_es( es_handle, ES_Effects, EF_NODRAW );
				set_es( es_handle, ES_Solid, SOLID_NOT );
			}
		}
	}
}

// is there a better way to detect changings of g_iCvar[0]?
public fwdClientCommand( plr )
{
	// use the forwards just when needed, for good performance
	if( !get_pcvar_num( g_iCvar[0] ) && g_bSemiclipEnabled )
	{
		unregister_forward( FM_PlayerPreThink, g_iForwardId[0] );
		unregister_forward( FM_PlayerPostThink, g_iForwardId[1] );
		unregister_forward( FM_AddToFullPack, g_iForwardId[2], 1 );
		
		g_bSemiclipEnabled = false;
	}
	else if( get_pcvar_num( g_iCvar[0] ) && !g_bSemiclipEnabled )
	{
		g_iForwardId[0] = register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" );
		g_iForwardId[1] = register_forward( FM_PlayerPostThink, "fwdPlayerPostThink" );
		g_iForwardId[2] = register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 );
		
		g_bSemiclipEnabled = true;
	}
}
REGULI GENERALE : Afișează regulile forumului
1. Utilizati corect limba romana (folositi cuvinte intregi, virgula, punctul si cratima). NU FOLOSITI limbaj de chat!
2. Raspundeti concret! Fara offtopic, fara mesaje scurte, inutile sau deja postate!
* offtopic = reprezinta devierea de la subiectul care se discuta
3. Folosirea cuvintelor sau inregistrarea cu nume obscene/jignitoare duce la restrictionarea accesului, stergerea contului, etc.
4. Este interzis orice atac la persoana. Discutati ideea, nu persoana !
5. Restrictii reclame :
a) Reclama este permisa in subiecte atat timp cat ele au legatura cu idea care se discuta.
b) In semnatura este permisa o singura reclama SIMPLA de tip TEXT cu dimensiunea fontului setat pe NORMAL
c) Reclama nu este permisa in campurile personale gen: Locatie, CS Status.
d) Nu aveti voie sa deschideti topicuri cu referire exacta la un site in scopul obtinerii de vizite, se considera reclama !
6. Nu folositi imagini in semnatura mai mari decat 500x120. Puteti folosi mai multe imagini care, toate sa nu depaseasca marimea impusa !
7. Folositi CAUTAREA si apoi intrebati pentru ceva daca nu exista pe forum! Numele topicurilor create trebuie sa reflecte continutul subiectului pe care se discuta. Nu vor fi permise topicuri de genul: help, ajutor pls, cum fac, etc
8. Este permisa continuarea unei discutii vechi de pe forum, chiar daca aceasta a fost deschisa cu cativa ani in urma. NU se permite insa dublu-post, triplu-post sau UP-uri.
* dublu-post / triplu - post = adaugarea unor mesaje unul dupa altul intr-o discutie a forumului de catre aceeasi persoana
* UP = adaugarea unor mesaje unul dupa altul cu scopul de a scoate in evidenta discutia respectiva
9. Orice fel de continut cu caracter erotic va fi sters, iar daca este necesar se vor aplica avertismente.
10. Nu este permisa promovarea firmelor de hosting in afara de http://www.eXtreamHost.com , fie ca este vorba de o reclama directa sau indirecta.
11. Nu este permisa postarea de continut ilegal: warez, carding (bine cunoscutele "metode" de furat domenii etc.) si alte practici "neortodoxe", se vor aplica avertismente sau ban, dupa caz si antecedente.

SANCTIONAM DRASTIC INCALCAREA ACESTOR REGULI SI ORICE ABUZ !


WARNINGS/Avertismente
3 Avertismente = BAN pe forum pentru o anumita perioada de timp, in functie de gravitatea regulilor incalcate!
1 Avertisment = 15 de zile

Mesaje private
Abuzul in orice fel de folosirea mesajelor private va duce la sanctionare. In concluzie, vi se va lua dreptul de a mai trimite mesaje.
Reclamatiile cat si penalizarile se regasesc aici: discutii-forum/reclamatii-mesaje-private-t335539.html

Suplimentar
1. In semnatura nu sunt permise linkuri catre jocuri (site-uri) gen bitefight, monstergame, etc.
2. La profilul Detinator server CS se permite reclama catre un server de Counter-Strike.
3. Orice insulta adusa asupra unui administrator se penalizeaza cu ban permanent. Orice insulta adusa asupra unui moderator se penalizeaza (in functie de gravitatea situatiei) de la avertisment pana la ban permanent.
4. Nu se permite ridicarea subiectelor cu mesaje gen "UP!" unul dupa altul, indiferent de timpul dintre raspunsuri.


Atentionari
1. Nu se permite schimbarea numelui pe forum
2. Nu aveti voie cu mai mult de 1 cont / persoana (vi se sterg toate mesajele si contul de utilizator de pe forum drept penalizare) - cei care abuzeaza si isi fac mai multe conturi, risca sa primeasca ban permanent

 

Model postare servere :Afiseaza modelul
Va rugam respectati urmatorul model de postare al serverului, completand campurile cu datele corecte:

Titlul va contine: NUMELE / ADRESA IP a serverului si in paranteze patrate Non.Steam / Steam / Steam & Non.Steam
Adresa poate fi de tip: NUME / IP
Port: portul acestuia
Jucatori: 18 / 22 / 24 (sau cat aveti setat)
Tipul poate fi: Non.Stop (merge 24/24 ore) sau PartTime (functioneaza doar ziua sau intre anumite ore ale zilei/noptii)
Modul poate fi: Normal / ZombieMod / SourceMod / Metamod:Source

Anticheat: Protejat / Neprotejat
Tara: RO / US / DE (sau orice alte INITIALE ale tarii respective)

EXEMPLU:
Titlu (sau numele topicului): ExTrEaM [Steam & Non.Steam]
Continut:
    Adresa: extream.idle.ro (acesta este doar un exemplu!)
    Port: 27015
    Jucatori: 18
    Tip: Non.Stop
    Mod: Normal
    Anticheat: Neprotejat
    Tara: RO

----------- Sfarsit exemplu ---------------------

* Nu va lasati adresa la SITE / FORUM in model pentru ca se considera reclama si primiti avertisment sau topicul dvs. ajunge la cos!
* Titlurile vor fi colorate cu rosu ca in exemplul de deasupra !
* Cine NU respecta modelul prezentat i se va STERGE topicul !!
* NU aveti voie sa adaugati comentarii de genul: serverul meu este cel mai tare..etc. pentru ca iarasi vi se va sterge topicul ! Insa puteti lasa alte informatii diverse (un ID Yahoo, un mail, etc.)
Model postare addonsuri : Afiseaza modelul
Acesta este un tip standard pentru postarea unui addons

A. Continut

- Nu mai stergeti folderul scripting din amxmodx pe motiv ca nu avem nevoie sau ca face lag !
- Nu includeti in addons mai multe pluginuri care fac acelasi lucru, gen hpk.
- Nu includeti in addons pluginul show_ip la care orice jucator are acces la comanda amx_ipban.
- Nu includeti in addons pluginuri care nu stiti ce fac.
- Nu personalizati addons-ul cu reclame catre alte site-uri/forum-uri,etc...
- Postati intotdeauna .sma-ul pluginurilor incluse.

B. Postare

Titlul: Va contine tipul addons-ului ( amxmodx/amxmod/adminmod/war3ft/superhero/csdm/etc..)
- Va rog nu folositi in numele topic-ului caractere ! Gen : "-->> addons by me <--"
- Deoarece am observat cateva confuzii, cand postati un addons, nu scrieti in interiorul postului "titlu : addons,blablabla"


Descriere:

Ce contine addons-ul. Adica ce mod, ce versiune, ce alte facilitati are in plus (booster,hlguard,webmod,statsme,etc.)
* Puteti folosi urmatorii termeni :

* Normal - addons standard.
* Normal+ - addons standard dar cu cateva lucruri modificate.
* War3ft - addons cu puteri war3ft.
* UWC3 - addons cu puteri war3ft diverse.
* Respawn/CSDM - addons care te reinvie imediat dupa ce mori.
* Soccerjam - addons cu fifa/cs instalat.
* Zombie - addons in care jucatorii trebuie 'infectati' de un zombie.
* DeathRun - addons in care jucatorii trebuie sa treaca de obstacole
* Hide N'Seek - addons in
* Divers - addons Neinclus in aceste tipuri (daca credeti ca mai trebuie adaugat un alt tip trimiteti-mi mesaj pe privat !)

Autor: Cine a facut addonsul respectiv
Versiune: 1.x 2.x
Descarcare:

Code:
[url=Linkul_catre_addons]Link![/url]


Pluginuri: aici veti scrie ce pluginuri are addons-ul postat (fara cele de baza) si ce fac acestea !
plugin1.amxx - ce face pluginul respectiv
plugin2.amxx - ce face pluginul respectiv
plugin3.amxx - ce face pluginul respectiv

ATENTIE !
- Daca vreti sa postati un addons care nu este facut de dvs.,folositi intai cautarea pentru a va asigura ca addons-ul respectiv nu este deja postat de altcineva !
- De asemenea,daca incercati sa ne pacaliti cu un addons copiat si punandu-va pe dvs ca si autor,topicul va fi mutat la Cos si riscati sa primiti warn !
- NU postati tot link-ul catre addons ! Ci folositi ]URL :
Code:
[url=linkul_catre_addons]cuvant[/url]


C. Raspuns/Reply
1.Cei care posteaza addons-ul !
Daca vi se zice "gj,misto addons" nu raspundeti cu "merci,alte pareri",etc...

2.Cei care raspund !
Nu faceti reply-uri de gen-ul "gj","bravo","misto addons","gg tare",etc...

3.Copiere !
Daca vi se pare ca un addons postat este copiat, nu faceti replay cu "copiat,praf","addons-ul este copiat","nu tu l-ai facut".etc.. ci veniti cu o dovada daca vreti sa fiti bagati in seama! Daca aduceti acuzatii false riscati sa primiti warn ! De asemenea, nu aduceti cuvinte vulgare la adresa autorului, veti primi fara nici o ezitare warn sau chiar ban !
[regulia][/regulia]
Post Reply

Return to “Probleme la servere dedicate de Counter-Strike”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 106 guests