mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-15 08:04:39 +00:00
Merge branch 'NoEvo'
This commit is contained in:
commit
de80b32263
4 changed files with 258 additions and 13 deletions
|
|
@ -564,23 +564,46 @@ function ServerCmdPrintClientInfo(%client, %targetClient)
|
||||||
{
|
{
|
||||||
if ((!%targetClient.isSuperAdmin) && (%client.isSuperAdmin))
|
if ((!%targetClient.isSuperAdmin) && (%client.isSuperAdmin))
|
||||||
{
|
{
|
||||||
%wonid = getField( %targetClient.getAuthInfo(), 3);
|
|
||||||
%ip = %targetClient.getAddress();
|
%ip = %targetClient.getAddress();
|
||||||
|
%guid = %targetClient.guid;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
%wonid = "PROTECTED";
|
%ip = "N/A";
|
||||||
%ip = "PROTECTED";
|
%guid = "N/A";
|
||||||
}
|
}
|
||||||
MessageClient(%client, '', '---------------------------------------------------------------');
|
|
||||||
MessageClient(%client, 'ClientInfo', "\c3Client Info...\n" @
|
// get the client info
|
||||||
"ClientName: \c2" @ %targetClient.nameBase @ "\n" @
|
%authInfo = %targetClient.getAuthInfo();
|
||||||
"\c3Wonid: \c2" @ %wonid @ "\n" @
|
%name = getField(%authInfo, 0);
|
||||||
"\c3IP: \c2" @ %ip @ "\n\n" @
|
|
||||||
"\c3TeamKills:\c2 " @ %targetClient.teamkills @ "\n" @
|
if(%name $= "") //Bots
|
||||||
"\c3BK (BaseKills): \c2" @ %targetClient.tkDestroys @ "\n" @
|
%name = "N/A";
|
||||||
"\c3Suicides:\c2 " @ %targetClient.suicides @ "\n");
|
|
||||||
MessageClient(%client, '', '---------------------------------------------------------------');
|
if(%targetClient.isSmurf)
|
||||||
|
%smurfname = stripChars( detag( getTaggedString( %targetClient.name ) ), "\cp\co\c6\c7\c8\c9" );
|
||||||
|
else
|
||||||
|
%smurfname = "N/A";
|
||||||
|
|
||||||
|
if(%targetClient.teamkills $= "")
|
||||||
|
%teamkills = "N/A";
|
||||||
|
else
|
||||||
|
%teamkills = %targetClient.teamkills;
|
||||||
|
|
||||||
|
if(%targetClient.tkDestroys $= "")
|
||||||
|
%tkDestroys = "N/A";
|
||||||
|
else
|
||||||
|
%tkDestroys = %targetClient.tkDestroys;
|
||||||
|
|
||||||
|
MessageClient(%client, '', ' ');
|
||||||
|
MessageClient(%client, 'ClientInfo', "\c3Client Info:\n" @
|
||||||
|
"ClientName: \c2" @ %name @ "\n" @
|
||||||
|
"\c3SmurfName: \c2" @ %smurfname @ "\n" @
|
||||||
|
"\c3Guid: \c2" @ %guid @ "\n" @
|
||||||
|
"\c3IP: \c2" @ %ip @ "\n" @
|
||||||
|
"\c3TeamKills:\c2 " @ %teamkills @ "\n" @
|
||||||
|
"\c3BaseKills: \c2" @ %tkDestroys @ "\n");
|
||||||
|
MessageClient(%client, '', ' ');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
messageClient(%client, 'MsgError', '\c2Only Admins can use this command.');
|
messageClient(%client, 'MsgError', '\c2Only Admins can use this command.');
|
||||||
|
|
|
||||||
|
|
@ -1257,9 +1257,10 @@ function DefaultGame::sendGamePlayerPopupMenu( %game, %client, %targetClient, %k
|
||||||
else
|
else
|
||||||
messageClient( %client, 'MsgPlayerPopupItem', "", %key, "GagPlayer", "", 'Gag Player', 17);
|
messageClient( %client, 'MsgPlayerPopupItem', "", %key, "GagPlayer", "", 'Gag Player', 17);
|
||||||
|
|
||||||
|
messageClient( %client, 'MsgPlayerPopupItem', "", %key, "PrintClientInfo", "", 'Client Info', 16 ); // z0dd - ZOD - MeBad, 7/13/03. Send client information.
|
||||||
|
|
||||||
if( %client.isSuperAdmin )
|
if( %client.isSuperAdmin )
|
||||||
{
|
{
|
||||||
messageClient( %client, 'MsgPlayerPopupItem', "", %key, "PrintClientInfo", "", 'Client Info', 16 ); // z0dd - ZOD - MeBad, 7/13/03. Send client information.
|
|
||||||
messageClient( %client, 'MsgPlayerPopupItem', "", %key, "BanPlayer", "", 'Ban', 4 );
|
messageClient( %client, 'MsgPlayerPopupItem', "", %key, "BanPlayer", "", 'Ban', 4 );
|
||||||
|
|
||||||
if ( %targetClient.isFroze )
|
if ( %targetClient.isFroze )
|
||||||
|
|
|
||||||
36
Classic/scripts/autoexec/multipleMapRotation.cs
Normal file
36
Classic/scripts/autoexec/multipleMapRotation.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
//$Host::ClassicRotationFile = "prefs/mapRotation1.cs";
|
||||||
|
|
||||||
|
//Enable/Disable
|
||||||
|
$EnableMultipleMapRotation = 0;
|
||||||
|
|
||||||
|
//How any mapRotation Files
|
||||||
|
//Naming scheme mapRotation1.cs, mapRotation2.cs, mapRotation3.cs, etc
|
||||||
|
$mapRotationFilesCount = 3;
|
||||||
|
|
||||||
|
function multipleMapRotation()
|
||||||
|
{
|
||||||
|
if($EnableMultipleMapRotation)
|
||||||
|
{
|
||||||
|
%var = stripChars($Host::ClassicRotationFile, "prefs/mapRotation.cs");
|
||||||
|
//echo("var: " @ %var);
|
||||||
|
if(%var $= $mapRotationFilesCount)
|
||||||
|
%var = 1;
|
||||||
|
else
|
||||||
|
%var = %var + 1;
|
||||||
|
|
||||||
|
%mapRot = "prefs/mapRotation" @ %var @ ".cs";
|
||||||
|
$Host::ClassicRotationFile = %mapRot;
|
||||||
|
|
||||||
|
//Echo at start
|
||||||
|
schedule(10000,0,"multipleMapRotationEcho",0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Echo at start
|
||||||
|
function multipleMapRotationEcho()
|
||||||
|
{
|
||||||
|
echo("Current MapRotation: " @ $Host::ClassicRotationFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Run
|
||||||
|
multipleMapRotation();
|
||||||
185
Classic/scripts/packs/cloakingpack.cs
Executable file
185
Classic/scripts/packs/cloakingpack.cs
Executable file
|
|
@ -0,0 +1,185 @@
|
||||||
|
// ------------------------------------------------------------------
|
||||||
|
// CLOAKING PACK
|
||||||
|
//
|
||||||
|
// When activated, this pack cloaks the user from all visual detection
|
||||||
|
// by other players and cameras. This is a local effect only (someone standing
|
||||||
|
// next to the cloaked player will still be visible). Motion sensors will
|
||||||
|
// still detect a (moving) cloaked player.
|
||||||
|
//
|
||||||
|
// When not activated, the pack creates a localized passive sensor dampening
|
||||||
|
// field. The user will not be visible to any non-motion-detecting sensor.
|
||||||
|
//
|
||||||
|
//Only light armors may equip with this item.
|
||||||
|
|
||||||
|
datablock EffectProfile(CloakingPackActivateEffect)
|
||||||
|
{
|
||||||
|
effectname = "packs/cloak_on";
|
||||||
|
minDistance = 2.5;
|
||||||
|
maxDistance = 2.5;
|
||||||
|
};
|
||||||
|
|
||||||
|
// datablock AudioProfile(CloakingPackActivateSound)
|
||||||
|
// {
|
||||||
|
// filename = "fx/packs/cloak_on.wav";
|
||||||
|
// description = CloseLooping3d;
|
||||||
|
// preload = true;
|
||||||
|
// effect = CloakingPackActivateEffect;
|
||||||
|
// };
|
||||||
|
|
||||||
|
//Added (From CloseLooping3d)
|
||||||
|
datablock AudioDescription(CloakLooping3d)
|
||||||
|
{
|
||||||
|
volume = 1.0;
|
||||||
|
isLooping= true;
|
||||||
|
|
||||||
|
is3D = true;
|
||||||
|
minDistance= 15.0; //Was 10
|
||||||
|
MaxDistance= 55.0; //Was 50
|
||||||
|
type = $EffectAudioType;
|
||||||
|
environmentLevel = 1.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock AudioProfile(CloakingPackActivateSound)
|
||||||
|
{
|
||||||
|
filename = "fx/packs/cloak_on.wav";
|
||||||
|
description = CloakLooping3d;
|
||||||
|
preload = true;
|
||||||
|
effect = CloakingPackActivateEffect;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ShapeBaseImageData(CloakingPackImage)
|
||||||
|
{
|
||||||
|
shapeFile = "pack_upgrade_cloaking.dts";
|
||||||
|
item = CloakingPack;
|
||||||
|
mountPoint = 1;
|
||||||
|
offset = "0 0 0";
|
||||||
|
|
||||||
|
usesEnergy = true;
|
||||||
|
minEnergy = 3;
|
||||||
|
|
||||||
|
stateName[0] = "Idle";
|
||||||
|
stateTransitionOnTriggerDown[0] = "Activate";
|
||||||
|
|
||||||
|
stateName[1] = "Activate";
|
||||||
|
stateScript[1] = "onActivate";
|
||||||
|
stateSequence[1] = "fire";
|
||||||
|
stateSound[1] = "CloakingPackActivateSound";
|
||||||
|
stateEnergyDrain[1] = 10.5; // z0dd - ZOD, 7/16/03. Improve cloak pack. Was 12 (Base). Was 11.75 in Classic 1.3, now match jammer pack
|
||||||
|
stateTransitionOnTriggerUp[1] = "Deactivate";
|
||||||
|
stateTransitionOnNoAmmo[1] = "Deactivate";
|
||||||
|
|
||||||
|
stateName[2] = "Deactivate";
|
||||||
|
stateScript[2] = "onDeactivate";
|
||||||
|
stateTransitionOnTimeout[2] = "Idle";
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ItemData(CloakingPack)
|
||||||
|
{
|
||||||
|
className = Pack;
|
||||||
|
catagory = "Packs";
|
||||||
|
shapeFile = "pack_upgrade_cloaking.dts";
|
||||||
|
mass = 1;
|
||||||
|
elasticity = 0.2;
|
||||||
|
friction = 0.6;
|
||||||
|
pickupRadius = 2;
|
||||||
|
rotate = true;
|
||||||
|
image = "CloakingPackImage";
|
||||||
|
pickUpName = "a cloaking pack";
|
||||||
|
computeCRC = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
function CloakingPackImage::onMount(%data, %obj, %node)
|
||||||
|
{
|
||||||
|
// player is sensor-invisible while wearing pack (except to motion sensors)
|
||||||
|
%obj.setPassiveJammed(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
function CloakingPackImage::onUnmount(%data, %obj, %node)
|
||||||
|
{
|
||||||
|
%obj.setPassiveJammed(false);
|
||||||
|
%obj.setCloaked(false);
|
||||||
|
%obj.setImageTrigger(%node, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// make player completely invisible to all players/sensors (except motion)
|
||||||
|
function CloakingPackImage::onActivate(%data, %obj, %slot)
|
||||||
|
{
|
||||||
|
if(%obj.reCloak !$= "")
|
||||||
|
{
|
||||||
|
Cancel(%obj.reCloak);
|
||||||
|
%obj.reCloak = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%obj.client.armor $= "Light")
|
||||||
|
{
|
||||||
|
// can the player currently cloak (function returns "true" or reason for failure)?
|
||||||
|
if(%obj.canCloak() $= "true")
|
||||||
|
{
|
||||||
|
messageClient(%obj.client, 'MsgCloakingPackOn', '\c2Cloaking pack on.');
|
||||||
|
%obj.setCloaked(true);
|
||||||
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
||||||
|
commandToClient( %obj.client, 'setCloakIconOn' );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// notify player that they cannot cloak
|
||||||
|
messageClient(%obj.client, 'MsgCloakingPackFailed', '\c2Jamming field prevents cloaking.');
|
||||||
|
%obj.setImageTrigger(%slot, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// hopefully avoid some loopholes
|
||||||
|
messageClient(%obj.client, 'MsgCloakingPackInvalid', '\c2Cloaking available for light armors only.');
|
||||||
|
%obj.setImageTrigger(%slot, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function CloakingPackImage::onDeactivate(%data, %obj, %slot)
|
||||||
|
{
|
||||||
|
if(%obj.reCloak !$= "")
|
||||||
|
{
|
||||||
|
Cancel(%obj.reCloak);
|
||||||
|
%obj.reCloak = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// if pack is not on then dont bother...
|
||||||
|
if(%obj.getImageState($BackpackSlot) $= "activate")
|
||||||
|
messageClient(%obj.client, 'MsgCloakingPackOff', '\c2Cloaking pack off.');
|
||||||
|
|
||||||
|
%obj.setCloaked(false);
|
||||||
|
%obj.setImageTrigger(%slot, false);
|
||||||
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code from here
|
||||||
|
commandToClient( %obj.client, 'setCloakIconOff' );
|
||||||
|
}
|
||||||
|
// z0dd - ZOD, 5/18/03. Removed functions, created parent. Streamline.
|
||||||
|
//function CloakingPack::onPickup(%this, %obj, %shape, %amount)
|
||||||
|
//{
|
||||||
|
// created to prevent console errors
|
||||||
|
//}
|
||||||
|
|
||||||
|
function ShapeBaseData::onForceUncloak(%this, %obj, %reason)
|
||||||
|
{
|
||||||
|
// dummy
|
||||||
|
}
|
||||||
|
|
||||||
|
function Armor::onForceUncloak(%this, %obj, %reason)
|
||||||
|
{
|
||||||
|
%pack = %obj.getMountedImage($BackpackSlot);
|
||||||
|
if((%pack <= 0) || (%pack.item !$= "CloakingPack"))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(%obj.getImageState($BackpackSlot) $= "activate")
|
||||||
|
{
|
||||||
|
// cancel recloak thread
|
||||||
|
if(%obj.reCloak !$= "")
|
||||||
|
{
|
||||||
|
Cancel(%obj.reCloak);
|
||||||
|
%obj.reCloak = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
messageClient(%obj.client, 'MsgCloakingPackOff', '\c2Cloaking pack off. Jammed.');
|
||||||
|
%obj.setCloaked(false);
|
||||||
|
%obj.setImageTrigger($BackpackSlot, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue