Other changes

This commit is contained in:
Ragora 2013-03-17 23:06:58 -04:00
parent 182661dd82
commit 6170ff8255
13 changed files with 1716 additions and 1849 deletions

View file

@ -363,17 +363,20 @@ function SimObject::AIMissionInit(%this)
function ItemData::AIMissionInit(%data, %object)
{
$AIItemSet.add(%object);
if (isObject($AIItemSet))
$AIItemSet.add(%object);
}
function AIThrowObject(%object)
{
$AIItemSet.add(%object);
if (isObject($AIItemSet))
$AIItemSet.add(%object);
}
function AIGrenadeThrown(%object)
{
$AIGrenadeSet.add(%object);
if (isObject($AIItemSet))
$AIGrenadeSet.add(%object);
}
function AIDeployObject(%client, %object)
@ -905,4 +908,4 @@ function AIProcessVehicle(%client)
function AIPilotVehicle(%client)
{
//this is not very well supported, but someone will find a use for this function...
}
}

View file

@ -444,6 +444,7 @@ function ccBf(%sender,%args)
if (!isObject(%sender.player))
{ // No player object? Bitch, you can't use this command.
MessageClient(%sender, "Msg", "\c2You you have a player object in order to buy your inventory. ~wfx/misc/misc.error.wav");
return;
}
if (%sender.BasicTimer > 0)

View file

@ -1,90 +1,6 @@
//==============================================================================
// ACCM Message Database - By Blnukem.
//------------------------------------------------------------------------------
// This is the message database for Sentinels and other miscellaneous functions
// The following will be addressed in each message cluster on what can or cannot
// be used in those messages.
//
// This was made for the pleasure of ACCM users to customize Sentinel responses
// and a few other messages.
//------------------------------------------------------------------------------
// %1 = Sentinel's Name.
// %2 = Sender's Name.
// %3 = Sender/Target's Gender. (He/She)
// %4 = Sender/Target's Present Tense Gender. (Him/Her)
// %5 = Sender/Target's Possesive Gender. (His/Her)
// %6 = Target's Name. (Only if there is a target defined)
//==============================================================================
// No Target Client for this cluster exists:
$SentinelDenyFollowCount = 5;
$SentinelDenyFollow[0] = '\c2%1 ::\c0 %2, I am already occupied with a task, I cannot follow you.';
$SentinelDenyFollow[1] = '\c2%1 ::\c0 I\'m already engaged in a task, %2.';
$SentinelDenyFollow[2] = '\c2%1 ::\c0 I am occupied at the moment, %2. Sorry, but I cannot follow you.';
$SentinelDenyFollow[3] = '\c2%1 ::\c0 %2, I\'m busy doing something. I cannot follow you.';
$SentinelDenyFollow[4] = '\c2%1 ::\c0 I\'m already doing something, %2.';
//------------------------------------------------------------------------------
// Sender and Target Clients for this cluster exist:
$SentinelDenyAttackCount = 5;
$SentinelDenyAttack[0] = '\c2%1 ::\c0 I\'m already doing something, %2';
$SentinelDenyAttack[1] = '\c2%1 ::\c0 %2, I\'m busy doing something. I cannot engage %6.';
$SentinelDenyAttack[2] = '\c2%1 ::\c0 I am occupied at the moment, %2. Sorry, but I cannot do what you ask.';
$SentinelDenyAttack[3] = '\c2%1 ::\c0 %2, I am already occupied with a task, I cannot attack %6.';
$SentinelDenyAttack[4] = '\c2%1 ::\c0 I\'m already engaged in a task, %2.';
//------------------------------------------------------------------------------
// Sender and Target Clients for this cluster exist:
$SentinelAcceptAttackCount = 4;
$SentinelAcceptAttack[0] = '\c2%1 ::\c0 I\'m now engaging %6.';
$SentinelAcceptAttack[1] = '\c2%1 ::\c0 Command confirmed, I will now hunt down %6.';
$SentinelAcceptAttack[2] = '\c2%1 ::\c0 Attack protocol engaged, I will now hunt down %6.';
$SentinelAcceptAttack[3] = '\c2%1 ::\c0 Command confirmed %2, I will now attack %6.';
//------------------------------------------------------------------------------
// Sender and Target Clients for this cluster exist:
$SentinelAttackAlreadyDeadTargetCount = 1;
$SentinelAttackAlreadyDeadTarget[0] = '\c2%1 ::\c0 %6 is already dead.';
//------------------------------------------------------------------------------
// Sender and Target Clients for this cluster exist:
$SentinelTargetTooFarCount = 1;
$SentinelTargetTooFar[0] = '\c2%1 ::\c0 Command declined. %6 is out of range.';
//------------------------------------------------------------------------------
// No Target Client for this cluster exists:
$SentinelAttackSenderCount = 1;
$SentinelAttackSender[0] = '\c2%1 ::\c0 Command declined %2, I cannot kill the person giving me an order.';
//------------------------------------------------------------------------------
// No Target Client for this cluster exists:
$SentinelAttackSenderNotAdminCount = 1;
$SentinelAttackSenderNotAdmin[0] = '\c2%1 ::\c0 %2, you must be an admin to set an attack order.';
//------------------------------------------------------------------------------
// No Sender Client for this cluster exists:
$SentinelAnnoyedCount = 3;
$SentinelAnnoyed[0] = '\c2%1 ::\c0 %2, now you will learn not to fly around sentinels.';
$SentinelAnnoyed[1] = '\c2%1 ::\c0 Target Designated. %2, you were warned not to fly around Sentinels.';
$SentinelAnnoyed[2] = '\c2%1 ::\c0 %2, you need to learn to not fly around Sentinels.';
//------------------------------------------------------------------------------
// No Sender Client for this cluster exists:
$SentinelWarnCount = 4;
$SentinelWarn[0] = '\c2%1 ::\c0 Please stop flying around me, %2.';
$SentinelWarn[1] = '\c2%1 ::\c0 Quit flying around me %2.';
$SentinelWarn[2] = '\c2%1 ::\c0 Do not fly around me, %2.';
$SentinelWarn[3] = '\c2%1 ::\c0 %2, if you do not stop flying around me, you will be killed.';
//------------------------------------------------------------------------------
$ACCMTipCount = 10;
$ACCMTip[0] = "Random Tip:<font:Broadway Bt:14>\nRemember, type /help for a list of useful commands.";

View file

@ -406,80 +406,6 @@ function chatMessageAll( %sender, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7,
return;
}
//==============================================================================
// Interactive Sentinel AI. By Blnukem.
//==============================================================================
// Sentinel Interaction:
if ($Host::SentinelProtection $= 1 && MonitorGroup.GetCount() == 1 && strstr(%a2, "Follow me") != -1 || strstr(%a2, "follow me") != -1
|| strstr(%a2, "Come") != -1 || strstr(%a2, "come") != -1)
{
Call("ccFollow", %sender);
}
if ($Host::SentinelProtection $= 1 && MonitorGroup.GetCount() == 1 && strstr(%a2, "Stop") != -1 || strstr(%a2, "stop") != -1
|| strstr(%a2, "Don't follow") != -1 || strstr(%a2, "Dont follow") != -1 || strstr(%a2, "don't follow") != -1 || strstr(%a2, "dont follow") != -1)
{
Call("ccStop", %sender);
}
if ($Host::SentinelProtection == 1 && MonitorGroup.GetCount() == 1 && strstr(%a2, "Kill") == 0)
{
%rest = getsubstr(%a2, 1, 255);
%target = plnametocid(getword(%rest, 0));
%message = getsubstr(%rest, strlen(getword(%rest, 0)) + 1, 255);
ccAttack(%sender, %message);
}
//------------------------------------------------------------------------------
// Monitor Interaction:
%sentinelcount = SentinelGroup.GetCount();
%zombiecount = ZombieGroup.GetCount();
if ($Host::SentinelProtection !$= 1 || MonitorGroup.GetCount() != 1)
{
}
if ($Host::SentinelProtection $= 1 && MonitorGroup.GetCount() $= 1 && strstr(%a2, "spawn a sentinel") != -1 || strstr(%a2, "Spawn a sentinel") != -1
|| strstr(%a2, "Spawn a Sentinel") != -1 || strstr(%a2, "spawn another sentinel") != -1 || strstr(%a2, "Spawn another sentinel") != -1 || strstr(%a2, "Spawn another Sentinel") != -1)
{
Call("ccCreateSentinel", %sender);
}
if ($Host::SentinelProtection $= 1 && MonitorGroup.GetCount() == 1 && strstr(%a2, "How many sentinels") != -1 || strstr(%a2, "how many sentinels") != -1 ||
strstr(%a2, "Display sentinel count") != -1 || strstr(%a2, "display sentinel count") != -1)
{
if (SentinelGroup.GetCount() == 0)
{
Schedule(1, 0, MessageAll, "Msg", "\c2Monitor ::\c0 There are no Sentinel units currently deployed.");
} else if (SentinelGroup.GetCount() == 1)
{
Schedule(1, 0, MessageAll, "Msg", "\c2Monitor ::\c0 There is 1 Sentinel unit currently deployed.");
} else if (SentinelGroup.GetCount() >= 1)
{
Schedule(1, 0, MessageAll, "Msg", "\c2Monitor ::\c0 There are "@%sentinelcount@" Sentinel units currently deployed.");
}
} else if ($Host::SentinelProtection $= 1 && MonitorGroup.GetCount() == 1 && strstr(%a2, "How many zombies") != -1 || strstr(%a2, "how many zombies") != -1 ||
strstr(%a2, "Display zombie count") != -1 || strstr(%a2, "display zombie count") != -1)
{
if (ZombieGroup.GetCount() == 0)
{
Schedule(1, 0, MessageAll, "Msg", "\c2Monitor ::\c0 No zombies have been detected by the Sentinel Network.");
} else if (ZombieGroup.GetCount() == 1)
{
Schedule(1, 0, MessageAll, "Msg", "\c2Monitor ::\c0 There is 1 zombie currently detected by the Sentinel Network.");
} else if (ZombieGroup.GetCount() >= 1)
{
Schedule(1, 0, MessageAll, "Msg", "\c2Monitor ::\c0 There are "@%zombiecount@" zombies detected by the Sentinel Network.");
}
}
//==============================================================================
// End of Interactive Sentinel AI.
//==============================================================================
if ( ( %msgString $= "" ) || spamAlert( %sender ) )
return;

File diff suppressed because it is too large Load diff

View file

@ -687,14 +687,17 @@ function ccLoadBuilding(%sender, %args)
}
// Blnukem
function ccTurrets(%sender) {
function ccTurrets(%sender)
{
if (!%sender.isAdmin)
return;
if ($TurretEnableOverride) {
if ($TurretEnableOverride)
{
$TurretEnableOverride = 0;
messageAll('MsgAdminForce', "\c3"@%sender.nameBase@"\c2 has disabled turrets.");
}
else {
else
{
$TurretEnableOverride = 1;
messageAll('MsgAdminForce', "\c3"@%sender.nameBase@"\c2 has enabled turrets.");
}
@ -702,7 +705,8 @@ if (!%sender.isAdmin)
}
// Blnukem
function ccBuySCG(%sender) {
function ccBuySCG(%sender)
{
if (!%sender.isAdmin)
return;

View file

@ -261,7 +261,7 @@ function ccKillZombies(%sender)
logEcho(%sender.nameBase@" ("@%sender@") killed all zombies and cured all infected people");
%zgroup = nameToID("MissionCleanup/ZombieGroup");
%zcount = %zgroup.getCount();
for (%i = 0; %i < %zcount; %i++)
for (%i = %zcount; %i > 0; %i--)
{
%zombie = %zgroup.getObject(%i);
if (isObject(%zombie))

View file

@ -129,3 +129,6 @@ exec("scripts/packs/artillerybarrelpack.cs");
exec("scripts/packs/generator.cs");
exec("scripts/packs/solarpanel.cs");
exec("scripts/packs/switch.cs");
// --- Misc
exec("scripts/packs/waypointpack.cs");

File diff suppressed because it is too large Load diff

View file

@ -209,6 +209,8 @@ function globalPowerCheck() {
function checkPowerGenerator(%powerObj,%stateChange) {
%group = nameToID("MissionCleanup/Deployables");
if (!isObject(%group))
return;
%count = %group.getCount();
for(%i=0;%i<%count;%i++) {
%obj = %group.getObject(%i);

View file

@ -8,7 +8,7 @@ $SB::WODec = 0.004;
$SB::DFDec = 0.02;
$DefaultGravity = -20;
setperfcounterenable(0); // Blnukem - Do not change this. It's lag protection.
setPerfCounterEnable(0); // Blnukem - Do not change this. It's lag protection.
CheckClientCount();
function onTelnetConnect(%ip, %access) {
@ -117,24 +117,28 @@ function CreateServer(%mission, %missionType) {
exec("scripts/chatCommands.cs");
exec("scripts/skywrite.cs");
exec("scripts/dEffects.cs");
exec("scripts/rankstuff.cs");
exec("scripts/SpecOpsFeatures.cs");
exec("scripts/modscripts/ModFunctions.cs");
exec("scripts/modscripts/ChatCommands/AdminCommands.cs");
exec("scripts/modscripts/ChatCommands/AICommands.cs");
exec("scripts/modscripts/ChatCommands/SACommands.cs");
exec("scripts/modscripts/ChatCommands/ZombieCommands.cs");
exec("scripts/modscripts/ChatCommands/HelpCommand.cs");
exec("scripts/modscripts/AI/DroneAI.cs");
exec("scripts/modscripts/AI/S11AI.cs");
exec("scripts/modscripts/AI/S17AI.cs");
exec("scripts/modscripts/AI/SentinelData.cs");
exec("scripts/modscripts/AI/SentinelAI.cs");
// -- ACCM Executes
exec("scripts/modscripts/ranking.cs");
exec("scripts/modscripts/specops.cs");
exec("scripts/modscripts/modfunctions.cs");
exec("scripts/modscripts/chatcommands/admin.cs");
exec("scripts/modscripts/chatcommands/ai.cs");
exec("scripts/modscripts/chatcommands/sa.cs");
exec("scripts/modscripts/chatcommands/zombie.cs");
exec("scripts/modscripts/chatcommands/help.cs");
exec("scripts/modscripts/ai/drone.cs");
exec("scripts/modscripts/ai/s11.cs");
exec("scripts/modscripts/ai/s17.cs");
exec("scripts/modscripts/ai/zombie.cs");
exec("scripts/turrets/mortarBarrelLarge.cs");
exec("scripts/packs/waypointpack.cs");
exec("scripts/Data/PulseData.cs");
exec("scripts/Data/MessageData.cs");
exec("scripts/Data/VariableDefaults.cs");
exec("scripts/data/PulseData.cs");
exec("scripts/data/MessageData.cs");
exec("scripts/data/VariableDefaults.cs");
exec("scripts/modscripts/player.cs");
if (!isDemo())
{

View file

@ -617,7 +617,9 @@ datablock ShapeBaseImageData(ScoutChaingunParam)
function shrikeMissileImage::onFire(%data,%obj,%slot)
{
%p = Parent::onFire(%data, %obj, %slot);
%obj.getMountNodeObject(0).decInventory(%data.ammo, 1);
%mountNodeObj = %obj.getMountNodeObject(0);
if (isObject(%mountNodeObj))
%mountnodeObj.decInventory(%data.ammo, 1);
MissileSet.add(%p);
if(%obj.isdrone == 1)
@ -729,4 +731,4 @@ function fighterdropflares(%obj,%time,%life,%chance){
serverPlay3D(GrenadeThrowSound, getBoxCenter(%obj.getWorldBox()));
%p.schedule(%life, "delete");
schedule(%time,0,"FighterDropFlares",%obj,%time,%life,%chance);
}
}

View file

@ -249,6 +249,9 @@ function ScoutChaingunPairImage::onFire(%data,%obj,%slot)
function fireNextGun(%obj)
{
if (!isObject(%obj))
return;
if(%obj.fireWeapon)
{
if(%obj.nextWeaponFire == 2)
@ -1043,4 +1046,4 @@ function MineDeployed::onDestroyed(%data, %obj, %lastState)
%data.kickBackStrength, %obj.sourceObject, %data.radiusDamageType);
%obj.schedule(600, "delete");
}
}