L L4D2node

CTerrorPlayer::GetTeamSwitchRule

0x00996d90 · 66 bytes · __thiscall

_ZNK13CTerrorPlayer17GetTeamSwitchRuleEv

Decompiled

undefined (1 param)

/* CTerrorPlayer::GetTeamSwitchRule() const */

byte __thiscall CTerrorPlayer::GetTeamSwitchRule(CTerrorPlayer *this)

{
  char cVar1;
  byte bVar2;
  
  cVar1 = CTerrorGameRules::IsTeamOnTeamMode();
  bVar2 = 3;
  if ((cVar1 == '\0') &&
     (bVar2 = 1, *(int *)(this + 0x3378) < *(int *)(vs_max_team_switches._28_4_ + 0x30))) {
    return -(*(char *)(TheDirector + 0x280) == '\0') & 2;
  }
  return bVar2;
}

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)