team bug.

Posts 1–10 of 10 · Page 1 of 1
team bug.
Hello,

When my server + my mod is online, in mid-game someone or multiple players are on the team rangers for example and suddenly they can only shoot teammates down not enemy's. It doesnt update the team switch i guess, team switch is disabled so switching can't happen. I have no custom code about teams and such. It also happens on all my mods.
Quote Originally Posted by codGmer View Post
Hello,

When my server + my mod is online, in mid-game someone or multiple players are on the team rangers for example and suddenly they can only shoot teammates down not enemy's. It doesnt update the team switch i guess, team switch is disabled so switching can't happen. I have no custom code about teams and such. It also happens on all my mods.
Have you checked your Dvars?
Because I think that allow/disallow is a Client (you) sticky. And that it's saved in your config.mp file
try to delete that and you maybe be lucky.
I removed some dvar's this are my dvars now:

Code:
DoDvars()
{ 
 self endon("disconnect");
    self.maxhealth = 100;
	self.health = self.maxhealth;
    self ThermalVisionFOFOverlayOff();
	setDvar("aim_lockon_enabled", 0 );
	setDvar("aim_lockon_debug", 0 );
	setDvar("aim_automelee_enabled", 0 );
	setDvar("aim_autoaim_enabled", 0 );
	setDvar("aim_autoaim_debug", 0 );
	setDvar("aim_slowdown_enabled", 0 );
	setDvar("aim_automelee_range", 0 );
	setDvar("scr_war_timelimit", 17 );
	setDvar("scr_war_scorelimit", 15000 );
	setDvar("cg_drawTurretCrosshair", 0 );
	setDvar("cg_drawCrosshair", 0 );
	setDvar("cg_drawFriendlyNames", 1 );
	setDvar("jump_height", 30 );
	setDvar("bullet_ricochetBaseChance", 0.10 );
	setDvar("player_scopeExitOnDamage", 1 );
	setDvar("player_breath_hold_time", 3.5 );
	setDvar("cg_drawThroughWalls", 0 );
	setDvar("cg_drawDamageDirection", 0 );
	setDvar("cg_fov", 80 );
	setDvar("r_drawsun", 1 );
	setDvar("cg_scoreboardPingGraph", 0 );
	setDvar("cg_scoreboardPingText", 1 );
	setDvar("sv_hostname", "Realism mod lobby by virus." );
	setDvar("scr_team_fftype", 1 );
	setDvar("g_inactivity", 99999999 );
	self setClientDvar("cg_drawTurretCrosshair", 0 );
	self setClientDvar("cg_drawCrosshair", 0 );
	self setClientDvar("cg_drawFriendlyNames", 1 );
	self setClientDvar("jump_height", 30 );
	self setclientDvar("bullet_ricochetBaseChance", 0.10 );
	self setClientDvar("player_scopeExitOnDamage", 1 );
	self setClientDvar("player_breath_hold_time", 3.5 );
	self setclientDvar("cg_drawThroughWalls", 0 );
self setClientDvar("cg_drawDamageDirection", 0 );
self setClientDvar("cg_fov", 80 );	
self setClientDvar("cg_scoreboardPingGraph", 0 );
self setClientDvar("cg_scoreboardPingText", 1 );
self setClientDvar("sv_hostname", "Realism mod lobby by virus." );
self setClientDvar("scr_team_fftype", 1 ); 
self setClientDvar("g_inactivity", 99999999 );
self setClientDvar("cg_enemyNameFadeIn", 1 );
self setClientDvar("cg_enemyNameFadeOut", 1 );
self setClientDvar("cg_friendlyNameFadeOut", 1 );
self setClientDvar("cg_friendlyNameFadeIn", 1 );
setDvar("cg_enemyNameFadeIn", 1 );
setDvar("cg_enemyNameFadeOut", 1 );
setDvar("cg_friendlyNameFadeOut", 1 );
setDvar("cg_friendlyNameFadeIn", 1 );
self setClientDvar("r_drawsun", 1 );
wait 0.1;
I am gonna remove the config_mp.cfg.

and btw is this gonna work? Disable akimbo:

Code:
test()
{
if(isSubStr(self getCurrentWeapon(), akimbo)) 
 { 
 self suicide();
 }
}
Instead of copy pasting many dvars without knowing its effect, you should go adding one per one and knowing what you are adding, that will solve you many problems,
i dont just copy and paste dvars.. i know what they mean.
Quote Originally Posted by codGmer View Post
i dont just copy and paste dvars.. i know what they mean.
Then...why do you have many dvars repeated???
Quote Originally Posted by Yamato View Post
Then...why do you have many dvars repeated???
Becouse i dont know wich one must be self setclientdvar or setdvar.
Setclientdvar is for 1 person and setdvar is for everyone.
Are u enforcing the lobby time to start?
Because if you are in a public lobby and ur host and ur going to load a map when ur still in the lobby U will get that bug too.
Je bedoelt dat ik de match eerder start in de lobby ? Nee dat heb ik niet ingestelt. Het is gewoon de normale tijd.

You mean that i start the match earlier in the lobby ? No i don't have that. It is just the normal time.

The team bug is still there. It comes when there is teambalance, the player is switched to spetsnaz but the scoreboard showes he is in rangers. And yes the lobby wait time is much shorter than the normal wait time???? i didnt changed anything about the time. Maybe it has to do something with my war.gsc

Code:
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
/*
	War
	Objective: 	Score points for your team by eliminating players on the opposing team
	Map ends:	When one team reaches the score limit, or time limit is reached
	Respawning:	No wait / Near teammates

	Level requirementss
	------------------
		Spawnpoints:
			classname		mp_tdm_spawn
			All players spawn from these. The spawnpoint chosen is dependent on the current locations of teammates and enemies
			at the time of spawn. Players generally spawn behind their teammates relative to the direction of enemies.

		Spectator Spawnpoints:
			classname		mp_global_intermission
			Spectators spawn from these and intermission is viewed from these positions.
			Atleast one is required, any more and they are randomly chosen between.
*/

/*QUAKED mp_tdm_spawn (0.0 0.0 1.0) (-16 -16 0) (16 16 72)
Players spawn away from enemies and near their team at one of these positions.*/

/*QUAKED mp_tdm_spawn_axis_start (0.5 0.0 1.0) (-16 -16 0) (16 16 72)
Axis players spawn away from enemies and near their team at one of these positions at the start of a round.*/

/*QUAKED mp_tdm_spawn_allies_start (0.0 0.5 1.0) (-16 -16 0) (16 16 72)
Allied players spawn away from enemies and near their team at one of these positions at the start of a round.*/

main()
{
	if(getdvar("mapname") == "mp_background")
		return;
	
	maps\mp\gametypes\_globallogic::init();
	maps\mp\gametypes\_callbacksetup::SetupCallbacks();
	maps\mp\gametypes\_globallogic::SetupCallbacks();
    setDvar("scr_team_fftype", "1");
	self setClientDvar("scr_team_fftype", "1");
	registerRoundSwitchDvar( level.gameType, 0, 0, 9 );
	registerTimeLimitDvar( level.gameType, 10, 0, 1440 );
	registerScoreLimitDvar( level.gameType, 500, 0, 5000 );
	registerRoundLimitDvar( level.gameType, 1, 0, 10 );
	registerWinLimitDvar( level.gameType, 1, 0, 10 );
	registerRoundSwitchDvar( level.gameType, 3, 0, 30 );
	registerNumLivesDvar( level.gameType, 0, 0, 10 );
	registerHalfTimeDvar( level.gameType, 0, 0, 1 );

	level.teamBased = true;
	level.onStartGameType = ::onStartGameType;
	level.getSpawnPoint = ::getSpawnPoint;
	level.onNormalDeath = ::onNormalDeath;
	//level.onTimeLimit = ::onTimeLimit;	// overtime not fully supported yet

	game["dialog"]["gametype"] = "tm_death";
	
	if ( getDvarInt( "g_hardcore" ) )
		game["dialog"]["gametype"] = "hc_" + game["dialog"]["gametype"];
	else if ( getDvarInt( "camera_thirdPerson" ) )
		game["dialog"]["gametype"] = "thirdp_" + game["dialog"]["gametype"];
	else if ( getDvarInt( "scr_diehard" ) )
		game["dialog"]["gametype"] = "dh_" + game["dialog"]["gametype"];
	else if (getDvarInt( "scr_" + level.gameType + "_promode" ) )
		game["dialog"]["gametype"] = game["dialog"]["gametype"] + "_pro";
	
	game["strings"]["overtime_hint"] = &"MP_FIRST_BLOOD";
}


onStartGameType()
{
	setClientNameMode("auto_change");

	if ( !isdefined( game["switchedsides"] ) )
		game["switchedsides"] = false;

	if ( game["switchedsides"] )
	{
		oldAttackers = game["attackers"];
		oldDefenders = game["defenders"];
		game["attackers"] = oldDefenders;
		game["defenders"] = oldAttackers;
	}

	
	
	if ( level.splitscreen )
	{
		
	}
	else
	{
		
	}
	
			
	level.spawnMins = ( 0, 0, 0 );
	level.spawnMaxs = ( 0, 0, 0 );	
	maps\mp\gametypes\_spawnlogic::placeSpawnPoints( "mp_tdm_spawn_allies_start" );
	maps\mp\gametypes\_spawnlogic::placeSpawnPoints( "mp_tdm_spawn_axis_start" );
	maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_tdm_spawn" );
	maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_tdm_spawn" );
	
	level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
	setMapCenter( level.mapCenter );
	
	allowed[0] = level.gameType;
	allowed[1] = "airdrop_pallet";
	
	maps\mp\gametypes\_gameobjects::main(allowed);	
}


getSpawnPoint()
{
	spawnteam = self.pers["team"];
	if ( game["switchedsides"] )
		spawnteam = getOtherTeam( spawnteam );

	if ( level.inGracePeriod )
	{
		spawnPoints = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_tdm_spawn_" + spawnteam + "_start" );
		spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random( spawnPoints );
	}
	else
	{
		spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( spawnteam );
		spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( spawnPoints );
	}
	
	return spawnPoint;
}


onNormalDeath( victim, attacker, lifeId )
{
	score = maps\mp\gametypes\_rank::getScoreInfoValue( "kill" );
	assert( isDefined( score ) );

	attacker maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( attacker.pers["team"], score );
	
	if ( game["state"] == "postgame" && game["teamScores"][attacker.team] > game["teamScores"][level.otherTeam[attacker.team]] )
		attacker.finalKill = true;
}


onTimeLimit()
{
	if ( game["status"] == "overtime" )
	{
		winner = "forfeit";
	}
	else if ( game["teamScores"]["allies"] == game["teamScores"]["axis"] )
	{
		winner = "overtime";
	}
	else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] )
	{
		winner = "axis";
	}
	else
	{
		winner = "allies";
	}
	
	thread maps\mp\gametypes\_gamelogic::endGame( winner, game["strings"]["time_limit_reached"] );
}
I think these code's are wrong. But they are default like this.
Code:
	registerRoundSwitchDvar( level.gameType, 0, 0, 9 );
	registerTimeLimitDvar( level.gameType, 10, 0, 1440 );
	registerScoreLimitDvar( level.gameType, 500, 0, 5000 );
	registerRoundLimitDvar( level.gameType, 1, 0, 10 );
	registerWinLimitDvar( level.gameType, 1, 0, 10 );
	registerRoundSwitchDvar( level.gameType, 3, 0, 30 );
	registerNumLivesDvar( level.gameType, 0, 0, 10 );
	registerHalfTimeDvar( level.gameType, 0, 0, 1 );
Quote Originally Posted by mathieutje12 View Post
Setclientdvar is for 1 person and setdvar is for everyone.
Are u enforcing the lobby time to start?
Because if you are in a public lobby and ur host and ur going to load a map when ur still in the lobby U will get that bug too.
Could it be coused by my host tool from alteriwnet? Maybe it changes a dvar so that the time will be shorter between matches. The time between matches(lobby time is much lower then normal.
Ye probaly that will fuck up the teams. Better start a map urself with console commands
Posts 1–10 of 10 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?