L L4D2node

SV_ExecuteRemoteCommand

0x001fc650 · 325 bytes · __cdecl

_Z23SV_ExecuteRemoteCommandPKci

Decompiled

undefined (2 params)

/* SV_ExecuteRemoteCommand(char const*, int) */

void SV_ExecuteRemoteCommand(char *param_1,int param_2)

{
  int in_GS_OFFSET;
  undefined **local_46c;
  int local_468;
  undefined1 local_464;
  undefined **local_460;
  undefined1 local_45c;
  undefined4 local_458;
  undefined4 local_454;
  undefined4 local_450;
  undefined8 local_44c;
  undefined4 local_444;
  undefined4 local_440;
  undefined8 local_43c;
  undefined4 local_434;
  undefined4 local_430;
  undefined1 local_42c;
  undefined8 local_428;
  undefined4 local_420;
  undefined4 local_41c;
  char *local_414;
  int local_10;
  
  local_10 = *(int *)(in_GS_OFFSET + 0x14);
  if ((1 < DAT_003b7f64) && (1 < DAT_003b8064)) {
    local_414 = param_1;
    local_454 = 0;
    local_450 = 0;
    local_44c = 0;
    local_444 = 0;
    local_440 = 0;
    local_43c = 0;
    local_434 = 0;
    local_430 = 0;
    local_42c = 0;
    local_428 = 0;
    local_420 = 0;
    local_41c = 0;
    local_45c = 1;
    local_458 = 0;
    local_460 = &PTR__NET_StringCmd_002a17c8;
    if (param_2 < 0) {
      CBaseServer::BroadcastMessage((CBaseServer *)&sv,(INetMessage *)&local_460,false,false);
    }
    else {
      local_46c = &PTR__CEngineSingleUserFilter_002c38a8;
      local_464 = 1;
      local_468 = param_2 + 1;
      CBaseServer::BroadcastMessage
                ((CBaseServer *)&sv,(INetMessage *)&local_460,(IRecipientFilter *)&local_46c);
    }
  }
  if (local_10 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

SourceMod gamedata

paste into addons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)

Just a Signatures{} block, ready to drop into a gamedata file. Wire it up in your plugin however you like - SDKCall, DHooks, raw memory ops, or anything else.



        

        

          

Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.

Return-type handling cheatsheet (DHookReturn)