mirror of
https://github.com/Ragora/T2-ACCM.git
synced 2026-02-24 00:53:39 +00:00
Other changes
This commit is contained in:
parent
182661dd82
commit
6170ff8255
13 changed files with 1716 additions and 1849 deletions
|
|
@ -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...
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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.";
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
1664
scripts/modscripts/ai/zombie.cs
Normal file
1664
scripts/modscripts/ai/zombie.cs
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue