mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-01-20 00:24:49 +00:00
Merge branch 'NoEvo'
This commit is contained in:
commit
315a54ffb8
|
|
@ -421,11 +421,14 @@ function CTFGame::playerTouchEnemyFlag(%game, %player, %flag)
|
|||
%flag.carrier = %player; //this %flag is carried by %player
|
||||
|
||||
// attach the camera to the flag.carrier
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, %player.client, 2, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, %player.client, 2, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
%player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team));
|
||||
|
|
@ -570,11 +573,14 @@ function CTFGame::playerDroppedFlag(%game, %player)
|
|||
$flagStatus[%flag.team] = "<In the Field>";
|
||||
|
||||
// attach the camera to the flag
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
%player.unMountImage($FlagSlot);
|
||||
|
|
@ -604,11 +610,14 @@ function CTFGame::flagCap(%game, %player)
|
|||
%flag.carrier = "";
|
||||
|
||||
// when a player cap the flag, attach to flag again
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
||||
|
|
@ -759,11 +768,14 @@ function CTFGame::flagReturn(%game, %flag, %player)
|
|||
%teamName = %game.getTeamName(%flag.team);
|
||||
|
||||
// when the flag return, attach to flag again
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
if (%player !$= "")
|
||||
|
|
|
|||
|
|
@ -658,11 +658,14 @@ function SCtFGame::playerTouchEnemyFlag(%game, %player, %flag)
|
|||
%flag.carrier = %player; //this %flag is carried by %player
|
||||
|
||||
// attach the camera to the flag.carrier
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, %player.client, 2, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, %player.client, 2, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
%player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team));
|
||||
|
|
@ -795,11 +798,14 @@ function SCtFGame::playerDroppedFlag(%game, %player)
|
|||
$flagStatus[%flag.team] = "<In the Field>";
|
||||
|
||||
// attach the camera to the flag
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
%player.unMountImage($FlagSlot);
|
||||
|
|
@ -829,11 +835,14 @@ function SCtFGame::flagCap(%game, %player)
|
|||
%flag.carrier = "";
|
||||
|
||||
// when a player cap the flag, attach to flag again
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
%held = %game.formatTime(getSimTime() - %game.flagHeldTime[%flag], false); // z0dd - ZOD, 8/15/02. How long did player hold flag?
|
||||
|
|
@ -978,11 +987,14 @@ function SCtFGame::flagReturn(%game, %flag, %player)
|
|||
%teamName = %game.getTeamName(%flag.team);
|
||||
|
||||
// when the flag return, attach to flag again
|
||||
for(%i = 0; %i < $Observers; %i++)
|
||||
if($Observers)
|
||||
{
|
||||
%cl = $ObserverArray[%i];
|
||||
if(%cl.observingFlag)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team <= 0 && %cl.observingFlag && %cl.flagObsTeam == %flag.team)
|
||||
observeFlag(%cl, $TeamFlag[%flag.team], 1, %flag.team);
|
||||
}
|
||||
}
|
||||
|
||||
if (%player !$= "")
|
||||
|
|
|
|||
|
|
@ -57,9 +57,9 @@ function GetTeamCounts(%game)
|
|||
$Observers = 0;
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team $= 0)
|
||||
$ObserverArray[$Observers++] = %cl;
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team $= 0)
|
||||
$Observers++;
|
||||
}
|
||||
|
||||
//echo("$PlayerCount[0] " @ $HostGamePlayerCount - ($TeamRank[1, count] + $TeamRank[2, count]));
|
||||
|
|
|
|||
79
Classic/scripts/autoexec/LockedTeams.cs
Executable file
79
Classic/scripts/autoexec/LockedTeams.cs
Executable file
|
|
@ -0,0 +1,79 @@
|
|||
// LockedTeams.cs
|
||||
|
||||
// Toggled in serverCmdStartNewVote in VoteMenu.cs
|
||||
//
|
||||
// case "ToggleLockedTeams":
|
||||
// if (%client.isAdmin)
|
||||
// {
|
||||
// if(!$LockedTeams)
|
||||
// {
|
||||
// if(!isActivePackage(LockedTeams))
|
||||
// activatePackage(LockedTeams);
|
||||
// $LockedTeams = 1;
|
||||
// messageClient( %client, '', "Locked Teams has been enabled.~wfx/powered/vehicle_screen_on.wav" );
|
||||
// adminLog(%client, " has enabled Locked Teams.");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if(isActivePackage(LockedTeams))
|
||||
// deactivatePackage(LockedTeams);
|
||||
// $LockedTeams = 0;
|
||||
// messageClient( %client, '', "Locked Teams has been disabled.~wfx/powered/vehicle_screen_on.wav" );
|
||||
// adminLog(%client, " has disabled Locked Teams.");
|
||||
// }
|
||||
// }
|
||||
// return;
|
||||
|
||||
// Reset in MissionTypeOptions.cs
|
||||
//
|
||||
// if(isActivePackage(LockedTeams) && !$LockedTeams)
|
||||
// deactivatePackage(LockedTeams);
|
||||
|
||||
package LockedTeams
|
||||
{
|
||||
|
||||
// function serverCmdClientJoinTeam(%client, %team)
|
||||
// {
|
||||
// if ($LockedTeams)
|
||||
// {
|
||||
// messageClient( %client, '', "Teams are locked. Asked the admin to set your team. (JoinTeam)" );
|
||||
// return;
|
||||
// }
|
||||
// Parent::serverCmdClientJoinTeam(%client, %team);
|
||||
// }
|
||||
|
||||
function serverCmdClientJoinGame(%client)
|
||||
{
|
||||
if ($LockedTeams)
|
||||
{
|
||||
messageClient( %client, '', "Teams are locked. Ask the admin to set your team." );
|
||||
return;
|
||||
}
|
||||
Parent::serverCmdClientJoinGame(%client);
|
||||
}
|
||||
|
||||
function serverCmdClientPickedTeam(%client, %option)
|
||||
{
|
||||
Parent::serverCmdClientPickedTeam(%client, %option); //Put first
|
||||
if($LockedTeams) //Added
|
||||
{
|
||||
if($Host::TournamentMode && %client.team !$= 0) //Added
|
||||
{
|
||||
messageClient( %client, '', "Teams are locked. Ask the admin to set your team." );
|
||||
serverCmdClientMakeObserver( %client );
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function serverCmdClientTeamChange(%client, %option)
|
||||
{
|
||||
if ($LockedTeams)
|
||||
{
|
||||
messageClient( %client, '', "Teams are locked. Ask the admin to set your team." );
|
||||
return;
|
||||
}
|
||||
Parent::serverCmdClientTeamChange(%client, %option);
|
||||
}
|
||||
|
||||
};
|
||||
|
|
@ -26,6 +26,7 @@ function loadMissionStage2()
|
|||
$Host::Password = $Host::PUGPassword;
|
||||
else if( !$Host::TournamentMode )
|
||||
$Host::Password = "";
|
||||
$LockedTeams = 0;
|
||||
|
||||
//Set server mode to SPEED
|
||||
$Host::HiVisibility = "0";
|
||||
|
|
@ -34,6 +35,7 @@ function loadMissionStage2()
|
|||
{
|
||||
$Host::Password = "";
|
||||
$Host::TournamentMode = 0;
|
||||
$LockedTeams = 0;
|
||||
|
||||
//Set server mode to DISTANCE
|
||||
$Host::HiVisibility = "1";
|
||||
|
|
@ -48,6 +50,9 @@ function loadMissionStage2()
|
|||
$Host::NoBaseRapeEnabled = 0;
|
||||
else
|
||||
$Host::NoBaseRapeEnabled = 1;
|
||||
|
||||
if(isActivePackage(LockedTeams) && !$LockedTeams)
|
||||
deactivatePackage(LockedTeams);
|
||||
|
||||
parent::loadMissionStage2();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ function serverCmdObserveFirstFlag(%client)
|
|||
return;
|
||||
|
||||
// client must be an observer
|
||||
if(%client.team > 0)
|
||||
if(%client.team > 0 || !$Observers) //$Observers added; Serverside var; Needs to have value to work correctly
|
||||
return;
|
||||
|
||||
// check if the flag is carried by someone
|
||||
|
|
@ -154,7 +154,7 @@ function serverCmdObserveSecondFlag(%client)
|
|||
return;
|
||||
|
||||
// client must be an observer
|
||||
if(%client.team > 0)
|
||||
if(%client.team > 0 || !$Observers) //$Observers added; Serverside var; Needs to have value to work correctly
|
||||
return;
|
||||
|
||||
// check if the flag is carried by someone
|
||||
|
|
|
|||
15
Classic/scripts/autoexec/TacoOverrides.cs
Normal file → Executable file
15
Classic/scripts/autoexec/TacoOverrides.cs
Normal file → Executable file
|
|
@ -166,11 +166,11 @@ function DefaultGame::missionLoadDone(%game)
|
|||
{
|
||||
parent::missionLoadDone(%game);
|
||||
|
||||
for(%i = 0; %i < MissionGroup.getCount(); %i++)
|
||||
InitContainerRadiusSearch("0 0 0", 2048, $TypeMasks::WaterObjectType);
|
||||
while ((%itemObj = containerSearchNext()) != 0)
|
||||
{
|
||||
%obj = MissionGroup.getObject(%i);
|
||||
if(%obj.getClassName() $= "WaterBlock")
|
||||
%obj.viscosity = $globalviscosity;
|
||||
if(%itemObj.getClassName() $= "WaterBlock")
|
||||
%itemObj.viscosity = $globalviscosity;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -257,7 +257,7 @@ function VehicleData::respawn(%data, %marker)
|
|||
{
|
||||
%mask = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType | $TypeMasks::TurretObjectType;
|
||||
InitContainerRadiusSearch(%marker.getWorldBoxCenter(), %data.checkRadius, %mask);
|
||||
if(containerSearchNext() == 0)
|
||||
if(containerSearchNext() == 0)
|
||||
{
|
||||
%newObj = %data.create(%marker.curTeam, %marker);
|
||||
%newObj.startFade(1000, 0, false);
|
||||
|
|
@ -285,7 +285,7 @@ function VehicleData::createPositionMarker(%data, %obj)
|
|||
deployed = %obj.deployed;
|
||||
curTeam = %obj.team;
|
||||
respawnTime = %obj.respawnTime;
|
||||
};
|
||||
};
|
||||
%marker.setTransform(%obj.getTransform());
|
||||
MissionCleanup.add(%marker);
|
||||
return %marker;
|
||||
|
|
@ -296,3 +296,6 @@ function VehicleData::createPositionMarker(%data, %obj)
|
|||
// Prevent package from being activated if it is already
|
||||
if (!isActivePackage(TacoOverrides))
|
||||
activatePackage(TacoOverrides);
|
||||
|
||||
//Ban WhiteOut Grenade
|
||||
$InvBanList[CTF, "FlashGrenade"] = 1;
|
||||
|
|
|
|||
|
|
@ -171,6 +171,11 @@ function DefaultGame::sendGameVoteMenu(%game, %client, %key)
|
|||
messageClient(%client, 'MsgVoteItem', "", %key, 'TogglePUGpassword', 'Disable PUG Password', 'Disable PUG Password');
|
||||
else
|
||||
messageClient(%client, 'MsgVoteItem', "", %key, 'TogglePUGpassword', 'Enable PUG Password', 'Enable PUG Password');
|
||||
|
||||
if($LockedTeams)
|
||||
messageClient(%client, 'MsgVoteItem', "", %key, 'ToggleLockedTeams', 'Disable Locked Teams', 'Disable Locked Teams');
|
||||
else
|
||||
messageClient(%client, 'MsgVoteItem', "", %key, 'ToggleLockedTeams', 'Enable Locked Teams', 'Enable Locked Teams');
|
||||
}
|
||||
// if(%multipleTeams)
|
||||
// {
|
||||
|
|
@ -514,6 +519,27 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
|||
}
|
||||
}
|
||||
return;
|
||||
case "ToggleLockedTeams":
|
||||
if (%client.isAdmin)
|
||||
{
|
||||
if(!$LockedTeams)
|
||||
{
|
||||
if(!isActivePackage(LockedTeams))
|
||||
activatePackage(LockedTeams);
|
||||
$LockedTeams = 1;
|
||||
messageClient( %client, '', "Locked Teams has been enabled.~wfx/powered/vehicle_screen_on.wav" );
|
||||
adminLog(%client, " has enabled Locked Teams.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isActivePackage(LockedTeams))
|
||||
deactivatePackage(LockedTeams);
|
||||
$LockedTeams = 0;
|
||||
messageClient( %client, '', "Locked Teams has been disabled.~wfx/powered/vehicle_screen_on.wav" );
|
||||
adminLog(%client, " has disabled Locked Teams.");
|
||||
}
|
||||
}
|
||||
return;
|
||||
case "ToggleTourneyNetClient":
|
||||
if (%client.isAdmin)
|
||||
{
|
||||
|
|
@ -542,7 +568,7 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %
|
|||
adminLog(%client, " has enabled Net Tourney Client checking.");
|
||||
}
|
||||
}
|
||||
return;
|
||||
return;
|
||||
case "ForceVote":
|
||||
if (%client.isAdmin && $Host::AllowAdminVotes)
|
||||
{
|
||||
|
|
@ -1389,7 +1415,11 @@ function calcVotes(%typeName, %arg1, %arg2, %arg3, %arg4)
|
|||
}
|
||||
}
|
||||
|
||||
Game.evalVote(%typeName, false, %arg1, %arg2, %arg3, %arg4);
|
||||
if((Game.totalVotesFor + Game.totalVotesAgainst) >= mFloor(ClientGroup.getCount()/2))
|
||||
Game.evalVote(%typeName, false, %arg1, %arg2, %arg3, %arg4);
|
||||
else
|
||||
messageAll('MsgVoteFailed', '\c2Vote minimum participation not reached. Total votes %1 out of %2 required.',(Game.totalVotesFor + Game.totalVotesAgainst),mFloor(ClientGroup.getCount()/2));
|
||||
|
||||
Game.scheduleVote = "";
|
||||
Game.scheduleVoteArgs = "";
|
||||
Game.kickClient = "";
|
||||
|
|
|
|||
|
|
@ -216,14 +216,14 @@ function CreateServer(%mission, %missionType)
|
|||
|
||||
// z0dd - ZOD, 07/19/03. fix for stuttering dual processor servers.
|
||||
// Moved here because it seems server must be created first.
|
||||
if(($Host::ClassicUseHighPerformanceCounter $= "0") || ($Host::ClassicUseHighPerformanceCounter == 0))
|
||||
setPerfCounterEnable(0);
|
||||
else if(($Host::ClassicUseHighPerformanceCounter $= "1") || ($Host::ClassicUseHighPerformanceCounter == 1))
|
||||
if(($Host::ClassicUseHighPerformanceCounter $= "1") || ($Host::ClassicUseHighPerformanceCounter == 1))
|
||||
setPerfCounterEnable(1);
|
||||
else if(($Host::ClassicUseHighPerformanceCounter $= "2") || ($Host::ClassicUseHighPerformanceCounter == 2))
|
||||
setPerfCounterEnable(2);
|
||||
else if(($Host::ClassicUseHighPerformanceCounter $= "3") || ($Host::ClassicUseHighPerformanceCounter == 3))
|
||||
setPerfCounterEnable(3);
|
||||
else
|
||||
setPerfCounterEnable(0);
|
||||
|
||||
// Load Banlist
|
||||
ClassicLoadBanlist();
|
||||
|
|
|
|||
Loading…
Reference in a new issue