Browse Source

Fix `othersConsole` missing during Executed() call

pull/8/head
Anton Tarasenko 2 years ago
parent
commit
001e7c1750
  1. 7
      sources/Commands/Command.uc

7
sources/Commands/Command.uc

@ -368,6 +368,7 @@ public final function bool Execute(CallData callData, EPlayer callerPlayer)
{ {
local int i; local int i;
local array<EPlayer> targetPlayers; local array<EPlayer> targetPlayers;
if (callerPlayer == none) return false; if (callerPlayer == none) return false;
if (!callerPlayer.IsExistent()) return false; if (!callerPlayer.IsExistent()) return false;
@ -380,10 +381,14 @@ public final function bool Execute(CallData callData, EPlayer callerPlayer)
targetPlayers = callData.targetPlayers; targetPlayers = callData.targetPlayers;
publicConsole = _.console.ForAll(); publicConsole = _.console.ForAll();
callerConsole = _.console.For(callerPlayer); callerConsole = _.console.For(callerPlayer);
callerConsole.Write(P("Executing command `")) callerConsole
.Write(P("Executing command `"))
.Write(commandData.name) .Write(commandData.name)
.Say(P("`")); .Say(P("`"));
// `othersConsole` should also exist in time for `Executed()` call
othersConsole = _.console.ForAll().ButPlayer(callerPlayer);
Executed(callData, callerPlayer); Executed(callData, callerPlayer);
_.memory.Free(othersConsole);
if (commandData.requiresTarget) if (commandData.requiresTarget)
{ {
for (i = 0; i < targetPlayers.length; i += 1) for (i = 0; i < targetPlayers.length; i += 1)

Loading…
Cancel
Save