Raised This Month: $51 Target: $400
 12% 

Fortress Forever (and general source player variable) scripting question


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Scuzzy
Senior Member
Join Date: Oct 2007
Old 07-04-2008 , 11:07   Fortress Forever (and general source player variable) scripting question
Reply With Quote #1

So, I have a little plugin I'm writing to solve a friend's server's problem. I can read the number of nade types that each player has, but I can't set it. I'm wondering if I'm doing this right, or does the FF development team need to make a variable "write-able" for sourcemod. I'm not sure how variable protection works with Source games... I've tried obtaining the offset two different ways, but the setting of the variable doesn't do anything. I can read them, and they change if I throw a nade and read it again, so I believe I have the right place... just can't write to it.

Here's the code:
Code:
 
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
public Plugin:myinfo = 
{
 name = "ScuzTools FF Nade Plugin v1.0",
 author = "[o-t] Scuzzy",
 description = "Fortress Forever Nades",
 version = "1.0",
 url = "http://forums.oldtimersclan.com/"
};
public OnPluginStart()
{
 LoadTranslations("common.phrases");
 LoadTranslations("basecomm.phrases");
 HookEvent("player_spawn", PlayerSpawn);
 RegAdminCmd("ot_mynades", Command_ot_mynades, ADMFLAG_CHAT, "ot_mynades - test command to read nade values");
 return true;
}
public Action:PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
 LogMessage("Player Spawned");
 new client = GetClientOfUserId(GetEventInt(event, "userid"));
 new m_Offset=FindSendPropOffs("CFFPlayer","m_iPrimary"); 
 new entvalue=GetEntData(client,m_Offset,4);
 
 if (entvalue>2) 
 {
  LogMessage("Primary over 2");
  SetEntData(client, m_Offset, 2, 4, true);
 }
 m_Offset=FindSendPropOffs("CFFPlayer","m_iSecondary"); 
 entvalue=GetEntData(client,m_Offset,4);
 
 if (entvalue>1) 
 {
  LogMessage("Secondary over 1");
  //new m_Offset = GetEntSendPropOffs(client, "m_iSecondary");
  SetEntData(client, m_Offset, 1, 4, true);
 }
 
 return Plugin_Continue;  
}
 
public Action:Command_ot_mynades(client, args)
{
 
 new m_Offset=FindSendPropOffs("CFFPlayer","m_iPrimary"); 
 new entvalue=GetEntData(client,m_Offset,4); 
 PrintToChat(client, "Primary Nades: %d", entvalue);
 return Plugin_Handled;  
}
Here is the player structure:

Code:
CFFPlayer:
 Sub-Class Table (1 Deep): DT_FFPlayer
  Sub-Class Table (2 Deep): DT_BasePlayer
   Sub-Class Table (3 Deep): DT_BaseCombatCharacter
    Sub-Class Table (4 Deep): DT_BaseFlex
     Sub-Class Table (5 Deep): DT_BaseAnimatingOverlay
      Sub-Class Table (6 Deep): DT_BaseAnimating
       Sub-Class Table (7 Deep): DT_BaseEntity
        Sub-Class Table (8 Deep): DT_AnimTimeMustBeFirst
        -Member: m_flAnimTime (offset 60) (type integer) (bits 8)
       -Member: m_flSimulationTime (offset 64) (type integer) (bits 8)
       -Member: m_vecOrigin (offset 824) (type vector) (bits 0)
       -Member: m_nModelIndex (offset 50) (type integer) (bits 11)
        Sub-Class Table (8 Deep): DT_CollisionProperty
        -Member: m_vecMins (offset 8) (type vector) (bits 0)
        -Member: m_vecMaxs (offset 20) (type vector) (bits 0)
        -Member: m_nSolidType (offset 41) (type integer) (bits 3)
        -Member: m_usSolidFlags (offset 36) (type integer) (bits 9)
        -Member: m_nSurroundType (offset 40) (type integer) (bits 3)
        -Member: m_triggerBloat (offset 42) (type integer) (bits 8)
        -Member: m_vecSpecifiedSurroundingMins (offset 44) (type vector) (bits 0)
        -Member: m_vecSpecifiedSurroundingMaxs (offset 56) (type vector) (bits 0)
       -Member: m_nRenderFX (offset 48) (type integer) (bits 8)
       -Member: m_nRenderMode (offset 49) (type integer) (bits 8)
       -Member: m_fEffects (offset 128) (type integer) (bits 10)
       -Member: m_clrRender (offset 52) (type integer) (bits 32)
       -Member: m_iTeamNum (offset 548) (type integer) (bits 6)
       -Member: m_CollisionGroup (offset 528) (type integer) (bits 5)
       -Member: m_flElasticity (offset 668) (type float) (bits 0)
       -Member: m_flShadowCastDistance (offset 536) (type float) (bits 12)
       -Member: m_hOwnerEntity (offset 520) (type integer) (bits 21)
       -Member: m_hEffectEntity (offset 524) (type integer) (bits 21)
       -Member: moveparent (offset 252) (type integer) (bits 21)
       -Member: m_iParentAttachment (offset 249) (type integer) (bits 6)
       -Member: movetype (offset 250) (type integer) (bits 4)
       -Member: movecollide (offset 251) (type integer) (bits 3)
       -Member: m_angRotation (offset 836) (type vector) (bits 13)
       -Member: m_iTextureFrameIndex (offset 712) (type integer) (bits 8)
        Sub-Class Table (8 Deep): DT_PredictableId
        -Member: m_PredictableID (offset 72) (type integer) (bits 31)
        -Member: m_bIsPlayerSimulated (offset 864) (type integer) (bits 1)
       -Member: m_bSimulatedEveryTick (offset 713) (type integer) (bits 1)
       -Member: m_bAnimatedEveryTick (offset 714) (type integer) (bits 1)
       -Member: m_bAlternateSorting (offset 715) (type integer) (bits 1)
      -Member: m_nForceBone (offset 884) (type integer) (bits 8)
      -Member: m_vecForce (offset 888) (type vector) (bits 0)
      -Member: m_nSkin (offset 900) (type integer) (bits 10)
      -Member: m_nBody (offset 904) (type integer) (bits 32)
      -Member: m_nHitboxSet (offset 908) (type integer) (bits 2)
      -Member: m_flModelWidthScale (offset 912) (type float) (bits 6)
       Sub-Class Table (7 Deep): m_flPoseParameter
       -Member: 000 (offset 0) (type float) (bits 11)
       -Member: 001 (offset 4) (type float) (bits 11)
       -Member: 002 (offset 8) (type float) (bits 11)
       -Member: 003 (offset 12) (type float) (bits 11)
       -Member: 004 (offset 16) (type float) (bits 11)
       -Member: 005 (offset 20) (type float) (bits 11)
       -Member: 006 (offset 24) (type float) (bits 11)
       -Member: 007 (offset 28) (type float) (bits 11)
       -Member: 008 (offset 32) (type float) (bits 11)
       -Member: 009 (offset 36) (type float) (bits 11)
       -Member: 010 (offset 40) (type float) (bits 11)
       -Member: 011 (offset 44) (type float) (bits 11)
       -Member: 012 (offset 48) (type float) (bits 11)
       -Member: 013 (offset 52) (type float) (bits 11)
       -Member: 014 (offset 56) (type float) (bits 11)
       -Member: 015 (offset 60) (type float) (bits 11)
       -Member: 016 (offset 64) (type float) (bits 11)
       -Member: 017 (offset 68) (type float) (bits 11)
       -Member: 018 (offset 72) (type float) (bits 11)
       -Member: 019 (offset 76) (type float) (bits 11)
       -Member: 020 (offset 80) (type float) (bits 11)
       -Member: 021 (offset 84) (type float) (bits 11)
       -Member: 022 (offset 88) (type float) (bits 11)
       -Member: 023 (offset 92) (type float) (bits 11)
      -Member: m_nSequence (offset 960) (type integer) (bits 11)
      -Member: m_flPlaybackRate (offset 916) (type float) (bits 8)
       Sub-Class Table (7 Deep): m_flEncodedController
       -Member: 000 (offset 0) (type float) (bits 11)
       -Member: 001 (offset 4) (type float) (bits 11)
       -Member: 002 (offset 8) (type float) (bits 11)
       -Member: 003 (offset 12) (type float) (bits 11)
      -Member: m_bClientSideAnimation (offset 1076) (type integer) (bits 1)
      -Member: m_bClientSideFrameReset (offset 1077) (type integer) (bits 1)
      -Member: m_nNewSequenceParity (offset 1080) (type integer) (bits 3)
      -Member: m_nResetEventsParity (offset 1084) (type integer) (bits 3)
      -Member: m_nMuzzleFlashParity (offset 1088) (type integer) (bits 2)
      -Member: m_hLightingOrigin (offset 1092) (type integer) (bits 21)
      -Member: m_hLightingOriginRelative (offset 1096) (type integer) (bits 21)
       Sub-Class Table (7 Deep): DT_ServerAnimationData
       -Member: m_flCycle (offset 956) (type float) (bits 15)
      -Member: m_fadeMinDist (offset 1116) (type float) (bits 0)
      -Member: m_fadeMaxDist (offset 1120) (type float) (bits 0)
      -Member: m_flFadeScale (offset 1124) (type float) (bits 0)
      Sub-Class Table (6 Deep): DT_OverlayVars
       Sub-Class Table (7 Deep): _ST_m_AnimOverlay_15
        Sub-Class Table (8 Deep): _LPT_m_AnimOverlay_15
        -Member: lengthprop15 (offset 0) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
        Sub-Class Table (8 Deep): DT_Animationlayer
        -Member: m_nSequence (offset 12) (type integer) (bits 11)
        -Member: m_flCycle (offset 16) (type float) (bits 15)
        -Member: m_flPrevCycle (offset 20) (type float) (bits 15)
        -Member: m_flWeight (offset 24) (type float) (bits 8)
        -Member: m_nOrder (offset 64) (type integer) (bits 4)
     Sub-Class Table (5 Deep): m_flexWeight
     -Member: 000 (offset 0) (type float) (bits 12)
     -Member: 001 (offset 4) (type float) (bits 12)
     -Member: 002 (offset 8) (type float) (bits 12)
     -Member: 003 (offset 12) (type float) (bits 12)
     -Member: 004 (offset 16) (type float) (bits 12)
     -Member: 005 (offset 20) (type float) (bits 12)
     -Member: 006 (offset 24) (type float) (bits 12)
     -Member: 007 (offset 28) (type float) (bits 12)
     -Member: 008 (offset 32) (type float) (bits 12)
     -Member: 009 (offset 36) (type float) (bits 12)
     -Member: 010 (offset 40) (type float) (bits 12)
     -Member: 011 (offset 44) (type float) (bits 12)
     -Member: 012 (offset 48) (type float) (bits 12)
     -Member: 013 (offset 52) (type float) (bits 12)
     -Member: 014 (offset 56) (type float) (bits 12)
     -Member: 015 (offset 60) (type float) (bits 12)
     -Member: 016 (offset 64) (type float) (bits 12)
     -Member: 017 (offset 68) (type float) (bits 12)
     -Member: 018 (offset 72) (type float) (bits 12)
     -Member: 019 (offset 76) (type float) (bits 12)
     -Member: 020 (offset 80) (type float) (bits 12)
     -Member: 021 (offset 84) (type float) (bits 12)
     -Member: 022 (offset 88) (type float) (bits 12)
     -Member: 023 (offset 92) (type float) (bits 12)
     -Member: 024 (offset 96) (type float) (bits 12)
     -Member: 025 (offset 100) (type float) (bits 12)
     -Member: 026 (offset 104) (type float) (bits 12)
     -Member: 027 (offset 108) (type float) (bits 12)
     -Member: 028 (offset 112) (type float) (bits 12)
     -Member: 029 (offset 116) (type float) (bits 12)
     -Member: 030 (offset 120) (type float) (bits 12)
     -Member: 031 (offset 124) (type float) (bits 12)
     -Member: 032 (offset 128) (type float) (bits 12)
     -Member: 033 (offset 132) (type float) (bits 12)
     -Member: 034 (offset 136) (type float) (bits 12)
     -Member: 035 (offset 140) (type float) (bits 12)
     -Member: 036 (offset 144) (type float) (bits 12)
     -Member: 037 (offset 148) (type float) (bits 12)
     -Member: 038 (offset 152) (type float) (bits 12)
     -Member: 039 (offset 156) (type float) (bits 12)
     -Member: 040 (offset 160) (type float) (bits 12)
     -Member: 041 (offset 164) (type float) (bits 12)
     -Member: 042 (offset 168) (type float) (bits 12)
     -Member: 043 (offset 172) (type float) (bits 12)
     -Member: 044 (offset 176) (type float) (bits 12)
     -Member: 045 (offset 180) (type float) (bits 12)
     -Member: 046 (offset 184) (type float) (bits 12)
     -Member: 047 (offset 188) (type float) (bits 12)
     -Member: 048 (offset 192) (type float) (bits 12)
     -Member: 049 (offset 196) (type float) (bits 12)
     -Member: 050 (offset 200) (type float) (bits 12)
     -Member: 051 (offset 204) (type float) (bits 12)
     -Member: 052 (offset 208) (type float) (bits 12)
     -Member: 053 (offset 212) (type float) (bits 12)
     -Member: 054 (offset 216) (type float) (bits 12)
     -Member: 055 (offset 220) (type float) (bits 12)
     -Member: 056 (offset 224) (type float) (bits 12)
     -Member: 057 (offset 228) (type float) (bits 12)
     -Member: 058 (offset 232) (type float) (bits 12)
     -Member: 059 (offset 236) (type float) (bits 12)
     -Member: 060 (offset 240) (type float) (bits 12)
     -Member: 061 (offset 244) (type float) (bits 12)
     -Member: 062 (offset 248) (type float) (bits 12)
     -Member: 063 (offset 252) (type float) (bits 12)
    -Member: m_blinktoggle (offset 1444) (type integer) (bits 1)
    -Member: m_viewtarget (offset 1432) (type vector) (bits 0)
    Sub-Class Table (4 Deep): DT_BCCLocalPlayerExclusive
    -Member: m_flNextAttack (offset 1532) (type float) (bits 0)
     Sub-Class Table (5 Deep): m_hMyWeapons
     -Member: 000 (offset 0) (type integer) (bits 21)
     -Member: 001 (offset 4) (type integer) (bits 21)
     -Member: 002 (offset 8) (type integer) (bits 21)
     -Member: 003 (offset 12) (type integer) (bits 21)
     -Member: 004 (offset 16) (type integer) (bits 21)
     -Member: 005 (offset 20) (type integer) (bits 21)
     -Member: 006 (offset 24) (type integer) (bits 21)
     -Member: 007 (offset 28) (type integer) (bits 21)
     -Member: 008 (offset 32) (type integer) (bits 21)
     -Member: 009 (offset 36) (type integer) (bits 21)
     -Member: 010 (offset 40) (type integer) (bits 21)
     -Member: 011 (offset 44) (type integer) (bits 21)
     -Member: 012 (offset 48) (type integer) (bits 21)
     -Member: 013 (offset 52) (type integer) (bits 21)
     -Member: 014 (offset 56) (type integer) (bits 21)
     -Member: 015 (offset 60) (type integer) (bits 21)
     -Member: 016 (offset 64) (type integer) (bits 21)
     -Member: 017 (offset 68) (type integer) (bits 21)
     -Member: 018 (offset 72) (type integer) (bits 21)
     -Member: 019 (offset 76) (type integer) (bits 21)
     -Member: 020 (offset 80) (type integer) (bits 21)
     -Member: 021 (offset 84) (type integer) (bits 21)
     -Member: 022 (offset 88) (type integer) (bits 21)
     -Member: 023 (offset 92) (type integer) (bits 21)
     -Member: 024 (offset 96) (type integer) (bits 21)
     -Member: 025 (offset 100) (type integer) (bits 21)
     -Member: 026 (offset 104) (type integer) (bits 21)
     -Member: 027 (offset 108) (type integer) (bits 21)
     -Member: 028 (offset 112) (type integer) (bits 21)
     -Member: 029 (offset 116) (type integer) (bits 21)
     -Member: 030 (offset 120) (type integer) (bits 21)
     -Member: 031 (offset 124) (type integer) (bits 21)
     -Member: 032 (offset 128) (type integer) (bits 21)
     -Member: 033 (offset 132) (type integer) (bits 21)
     -Member: 034 (offset 136) (type integer) (bits 21)
     -Member: 035 (offset 140) (type integer) (bits 21)
     -Member: 036 (offset 144) (type integer) (bits 21)
     -Member: 037 (offset 148) (type integer) (bits 21)
     -Member: 038 (offset 152) (type integer) (bits 21)
     -Member: 039 (offset 156) (type integer) (bits 21)
     -Member: 040 (offset 160) (type integer) (bits 21)
     -Member: 041 (offset 164) (type integer) (bits 21)
     -Member: 042 (offset 168) (type integer) (bits 21)
     -Member: 043 (offset 172) (type integer) (bits 21)
     -Member: 044 (offset 176) (type integer) (bits 21)
     -Member: 045 (offset 180) (type integer) (bits 21)
     -Member: 046 (offset 184) (type integer) (bits 21)
     -Member: 047 (offset 188) (type integer) (bits 21)
   -Member: m_hActiveWeapon (offset 1924) (type integer) (bits 21)
   Sub-Class Table (3 Deep): DT_PlayerState
   -Member: deadflag (offset 4) (type integer) (bits 1)
  -Member: m_hVehicle (offset 2532) (type integer) (bits 21)
  -Member: m_hUseEntity (offset 2516) (type integer) (bits 21)
  -Member: m_iHealth (offset 156) (type integer) (bits 10)
  -Member: m_iMaxHealth (offset 152) (type integer) (bits 10)
  -Member: m_iArmor (offset 164) (type integer) (bits 10)
  -Member: m_iMaxArmor (offset 168) (type integer) (bits 10)
  -Member: m_lifeState (offset 160) (type integer) (bits 3)
  -Member: m_flMaxspeed (offset 3196) (type float) (bits 12)
  -Member: m_fFlags (offset 200) (type integer) (bits 9)
  -Member: m_iObserverMode (offset 2576) (type integer) (bits 3)
  -Member: m_hObserverTarget (offset 2592) (type integer) (bits 21)
  -Member: m_iFOV (offset 2580) (type integer) (bits 8)
  -Member: m_iDefaultFOV (offset 2584) (type integer) (bits 8)
  -Member: m_hViewModel (offset 3116) (type integer) (bits 21)
  -Member: m_hViewModel (offset 0) (type array) (bits 0)
  -Member: m_szLastPlaceName (offset 3424) (type string) (bits 0)
   Sub-Class Table (3 Deep): DT_LocalPlayerExclusive
    Sub-Class Table (4 Deep): DT_Local
     Sub-Class Table (5 Deep): m_chAreaBits
     -Member: 000 (offset 0) (type integer) (bits 8)
     -Member: 001 (offset 1) (type integer) (bits 8)
     -Member: 002 (offset 2) (type integer) (bits 8)
     -Member: 003 (offset 3) (type integer) (bits 8)
     -Member: 004 (offset 4) (type integer) (bits 8)
     -Member: 005 (offset 5) (type integer) (bits 8)
     -Member: 006 (offset 6) (type integer) (bits 8)
     -Member: 007 (offset 7) (type integer) (bits 8)
     -Member: 008 (offset 8) (type integer) (bits 8)
     -Member: 009 (offset 9) (type integer) (bits 8)
     -Member: 010 (offset 10) (type integer) (bits 8)
     -Member: 011 (offset 11) (type integer) (bits 8)
     -Member: 012 (offset 12) (type integer) (bits 8)
     -Member: 013 (offset 13) (type integer) (bits 8)
     -Member: 014 (offset 14) (type integer) (bits 8)
     -Member: 015 (offset 15) (type integer) (bits 8)
     -Member: 016 (offset 16) (type integer) (bits 8)
     -Member: 017 (offset 17) (type integer) (bits 8)
     -Member: 018 (offset 18) (type integer) (bits 8)
     -Member: 019 (offset 19) (type integer) (bits 8)
     -Member: 020 (offset 20) (type integer) (bits 8)
     -Member: 021 (offset 21) (type integer) (bits 8)
     -Member: 022 (offset 22) (type integer) (bits 8)
     -Member: 023 (offset 23) (type integer) (bits 8)
     -Member: 024 (offset 24) (type integer) (bits 8)
     -Member: 025 (offset 25) (type integer) (bits 8)
     -Member: 026 (offset 26) (type integer) (bits 8)
     -Member: 027 (offset 27) (type integer) (bits 8)
     -Member: 028 (offset 28) (type integer) (bits 8)
     -Member: 029 (offset 29) (type integer) (bits 8)
     -Member: 030 (offset 30) (type integer) (bits 8)
     -Member: 031 (offset 31) (type integer) (bits 8)
     Sub-Class Table (5 Deep): m_chAreaPortalBits
     -Member: 000 (offset 0) (type integer) (bits 8)
     -Member: 001 (offset 1) (type integer) (bits 8)
     -Member: 002 (offset 2) (type integer) (bits 8)
     -Member: 003 (offset 3) (type integer) (bits 8)
     -Member: 004 (offset 4) (type integer) (bits 8)
     -Member: 005 (offset 5) (type integer) (bits 8)
     -Member: 006 (offset 6) (type integer) (bits 8)
     -Member: 007 (offset 7) (type integer) (bits 8)
     -Member: 008 (offset 8) (type integer) (bits 8)
     -Member: 009 (offset 9) (type integer) (bits 8)
     -Member: 010 (offset 10) (type integer) (bits 8)
     -Member: 011 (offset 11) (type integer) (bits 8)
     -Member: 012 (offset 12) (type integer) (bits 8)
     -Member: 013 (offset 13) (type integer) (bits 8)
     -Member: 014 (offset 14) (type integer) (bits 8)
     -Member: 015 (offset 15) (type integer) (bits 8)
     -Member: 016 (offset 16) (type integer) (bits 8)
     -Member: 017 (offset 17) (type integer) (bits 8)
     -Member: 018 (offset 18) (type integer) (bits 8)
     -Member: 019 (offset 19) (type integer) (bits 8)
     -Member: 020 (offset 20) (type integer) (bits 8)
     -Member: 021 (offset 21) (type integer) (bits 8)
     -Member: 022 (offset 22) (type integer) (bits 8)
     -Member: 023 (offset 23) (type integer) (bits 8)
    -Member: m_iHideHUD (offset 60) (type integer) (bits 11)
    -Member: m_flFOVRate (offset 64) (type float) (bits 0)
    -Member: m_bDucked (offset 80) (type integer) (bits 1)
    -Member: m_bDucking (offset 81) (type integer) (bits 1)
    -Member: m_bInDuckJump (offset 82) (type integer) (bits 1)
    -Member: m_flDucktime (offset 84) (type float) (bits 12)
    -Member: m_flDuckJumpTime (offset 88) (type float) (bits 12)
    -Member: m_flJumpTime (offset 92) (type float) (bits 12)
    -Member: m_flFallVelocity (offset 100) (type float) (bits 17)
    -Member: m_vecPunchAngle (offset 112) (type vector) (bits 0)
    -Member: m_vecPunchAngleVel (offset 124) (type vector) (bits 0)
    -Member: m_bDrawViewmodel (offset 136) (type integer) (bits 1)
    -Member: m_bWearingSuit (offset 137) (type integer) (bits 1)
    -Member: m_bPoisoned (offset 138) (type integer) (bits 1)
    -Member: m_flStepSize (offset 140) (type float) (bits 16)
    -Member: m_bAllowAutoMovement (offset 144) (type integer) (bits 1)
    -Member: m_skybox3d.scale (offset 152) (type integer) (bits 12)
    -Member: m_skybox3d.origin (offset 156) (type vector) (bits 0)
    -Member: m_skybox3d.area (offset 168) (type integer) (bits 8)
    -Member: m_skybox3d.fog.enable (offset 176) (type integer) (bits 1)
    -Member: m_skybox3d.fog.blend (offset 177) (type integer) (bits 1)
    -Member: m_skybox3d.fog.dirPrimary (offset 180) (type vector) (bits 0)
    -Member: m_skybox3d.fog.colorPrimary (offset 192) (type integer) (bits 32)
    -Member: m_skybox3d.fog.colorSecondary (offset 196) (type integer) (bits 32)
    -Member: m_skybox3d.fog.start (offset 200) (type float) (bits 0)
    -Member: m_skybox3d.fog.end (offset 204) (type float) (bits 0)
    -Member: m_fog.enable (offset 240) (type integer) (bits 1)
    -Member: m_fog.blend (offset 241) (type integer) (bits 1)
    -Member: m_fog.dirPrimary (offset 244) (type vector) (bits 0)
    -Member: m_fog.colorPrimary (offset 256) (type integer) (bits 32)
    -Member: m_fog.colorSecondary (offset 260) (type integer) (bits 32)
    -Member: m_fog.start (offset 264) (type float) (bits 0)
    -Member: m_fog.end (offset 268) (type float) (bits 0)
    -Member: m_fog.farz (offset 272) (type float) (bits 0)
    -Member: m_fog.colorPrimaryLerpTo (offset 276) (type integer) (bits 32)
    -Member: m_fog.colorSecondaryLerpTo (offset 280) (type integer) (bits 32)
    -Member: m_fog.startLerpTo (offset 284) (type float) (bits 0)
    -Member: m_fog.endLerpTo (offset 288) (type float) (bits 0)
    -Member: m_fog.lerptime (offset 292) (type float) (bits 0)
    -Member: m_fog.duration (offset 296) (type float) (bits 0)
    -Member: m_audio.localSound[0] (offset 304) (type vector) (bits 0)
    -Member: m_audio.localSound[1] (offset 316) (type vector) (bits 0)
    -Member: m_audio.localSound[2] (offset 328) (type vector) (bits 0)
    -Member: m_audio.localSound[3] (offset 340) (type vector) (bits 0)
    -Member: m_audio.localSound[4] (offset 352) (type vector) (bits 0)
    -Member: m_audio.localSound[5] (offset 364) (type vector) (bits 0)
    -Member: m_audio.localSound[6] (offset 376) (type vector) (bits 0)
    -Member: m_audio.localSound[7] (offset 388) (type vector) (bits 0)
    -Member: m_audio.soundscapeIndex (offset 400) (type integer) (bits 17)
    -Member: m_audio.localBits (offset 404) (type integer) (bits 8)
    -Member: m_audio.ent (offset 408) (type integer) (bits 21)
   -Member: m_vecViewOffset[0] (offset 852) (type float) (bits 8)
   -Member: m_vecViewOffset[1] (offset 856) (type float) (bits 8)
   -Member: m_vecViewOffset[2] (offset 860) (type float) (bits 10)
   -Member: m_flFriction (offset 664) (type float) (bits 8)
    Sub-Class Table (4 Deep): m_iAmmo
    -Member: 000 (offset 0) (type integer) (bits 10)
    -Member: 001 (offset 4) (type integer) (bits 10)
    -Member: 002 (offset 8) (type integer) (bits 10)
    -Member: 003 (offset 12) (type integer) (bits 10)
    -Member: 004 (offset 16) (type integer) (bits 10)
    -Member: 005 (offset 20) (type integer) (bits 10)
    -Member: 006 (offset 24) (type integer) (bits 10)
    -Member: 007 (offset 28) (type integer) (bits 10)
    -Member: 008 (offset 32) (type integer) (bits 10)
    -Member: 009 (offset 36) (type integer) (bits 10)
    -Member: 010 (offset 40) (type integer) (bits 10)
    -Member: 011 (offset 44) (type integer) (bits 10)
    -Member: 012 (offset 48) (type integer) (bits 10)
    -Member: 013 (offset 52) (type integer) (bits 10)
    -Member: 014 (offset 56) (type integer) (bits 10)
    -Member: 015 (offset 60) (type integer) (bits 10)
    -Member: 016 (offset 64) (type integer) (bits 10)
    -Member: 017 (offset 68) (type integer) (bits 10)
    -Member: 018 (offset 72) (type integer) (bits 10)
    -Member: 019 (offset 76) (type integer) (bits 10)
    -Member: 020 (offset 80) (type integer) (bits 10)
    -Member: 021 (offset 84) (type integer) (bits 10)
    -Member: 022 (offset 88) (type integer) (bits 10)
    -Member: 023 (offset 92) (type integer) (bits 10)
    -Member: 024 (offset 96) (type integer) (bits 10)
    -Member: 025 (offset 100) (type integer) (bits 10)
    -Member: 026 (offset 104) (type integer) (bits 10)
    -Member: 027 (offset 108) (type integer) (bits 10)
    -Member: 028 (offset 112) (type integer) (bits 10)
    -Member: 029 (offset 116) (type integer) (bits 10)
    -Member: 030 (offset 120) (type integer) (bits 10)
    -Member: 031 (offset 124) (type integer) (bits 10)
   -Member: m_fOnTarget (offset 2436) (type integer) (bits 2)
   -Member: m_nTickBase (offset 3280) (type integer) (bits 32)
   -Member: m_nNextThinkTick (offset 124) (type integer) (bits 32)
   -Member: m_hLastWeapon (offset 3292) (type integer) (bits 21)
   -Member: m_hGroundEntity (offset 560) (type integer) (bits 21)
   -Member: m_vecVelocity[0] (offset 700) (type float) (bits 20)
   -Member: m_vecVelocity[1] (offset 704) (type float) (bits 20)
   -Member: m_vecVelocity[2] (offset 708) (type float) (bits 16)
   -Member: m_vecBaseVelocity (offset 572) (type vector) (bits 20)
   -Member: m_hConstraintEntity (offset 3332) (type integer) (bits 21)
   -Member: m_vecConstraintCenter (offset 3336) (type vector) (bits 0)
   -Member: m_flConstraintRadius (offset 3348) (type float) (bits 0)
   -Member: m_flConstraintWidth (offset 3352) (type float) (bits 0)
   -Member: m_flConstraintSpeedFactor (offset 3356) (type float) (bits 0)
   -Member: m_flDeathTime (offset 2572) (type float) (bits 0)
   -Member: m_nWaterLevel (offset 555) (type integer) (bits 2)
   -Member: m_flLaggedMovementValue (offset 3392) (type float) (bits 0)
 -Member: m_flPoseParameter (offset 0) (type integer) (bits 0)
 -Member: m_flPlaybackRate (offset 0) (type integer) (bits 0)
 -Member: m_nSequence (offset 0) (type integer) (bits 0)
 -Member: m_angRotation (offset 0) (type integer) (bits 0)
 -Member: overlay_vars (offset 0) (type integer) (bits 0)
 -Member: m_flCycle (offset 0) (type integer) (bits 0)
 -Member: m_flAnimTime (offset 0) (type integer) (bits 0)
 -Member: m_vecOrigin (offset 0) (type integer) (bits 0)
  Sub-Class Table (2 Deep): DT_FFLocalPlayerExclusive
  -Member: m_vecOrigin (offset 824) (type vector) (bits 0)
  -Member: m_iShotsFired (offset 3552) (type integer) (bits 8)
  -Member: m_hDispenser (offset 3600) (type integer) (bits 21)
  -Member: m_hSentryGun (offset 3604) (type integer) (bits 21)
  -Member: m_hDetpack (offset 3608) (type integer) (bits 21)
  -Member: m_hManCannon (offset 3612) (type integer) (bits 21)
  -Member: m_bBuilding (offset 3616) (type integer) (bits 8)
  -Member: m_iCurBuild (offset 3620) (type integer) (bits 32)
  -Member: m_flArmorType (offset 3572) (type float) (bits 0)
  -Member: m_fRandomPC (offset 3580) (type integer) (bits 1)
  -Member: m_iSkiState (offset 3592) (type integer) (bits 32)
  -Member: m_iGrenadeState (offset 4708) (type integer) (bits 2)
  -Member: m_iPrimary (offset 4716) (type integer) (bits 4)
  -Member: m_iSecondary (offset 4720) (type integer) (bits 4)
  -Member: m_flServerPrimeTime (offset 4712) (type float) (bits 0)
  -Member: m_hNextMapGuide (offset 6688) (type integer) (bits 21)
  -Member: m_hLastMapGuide (offset 6692) (type integer) (bits 21)
  -Member: m_flNextMapGuideTime (offset 6696) (type float) (bits 0)
  -Member: m_flConcTime (offset 6704) (type float) (bits 0)
  -Member: m_flSpeedModifier (offset 6900) (type float) (bits 0)
  -Member: m_iSpyDisguising (offset 6304) (type integer) (bits 4)
  -Member: m_hRadioTagData (offset 6368) (type integer) (bits 21)
  -Member: m_bCloakable (offset 6684) (type integer) (bits 1)
  -Member: m_bDisguisable (offset 6844) (type integer) (bits 1)
  -Member: m_vecInfoIntermission (offset 6960) (type vector) (bits 13)
  Sub-Class Table (2 Deep): DT_NonLocalOrigin
  -Member: m_vecOrigin (offset 824) (type vector) (bits 0)
 -Member: m_angEyeAngles[0] (offset 3540) (type float) (bits 11)
 -Member: m_angEyeAngles[1] (offset 3544) (type float) (bits 11)
 -Member: m_hRagdoll (offset 3556) (type integer) (bits 21)
 -Member: m_iClassStatus (offset 6708) (type integer) (bits 32)
 -Member: m_iSpyDisguise (offset 6848) (type integer) (bits 32)
 -Member: m_iSpawnInterpCounter (offset 6852) (type integer) (bits 4)
 -Member: m_iSaveMe (offset 6856) (type integer) (bits 1)
 -Member: m_iEngyMe (offset 6864) (type integer) (bits 1)
 -Member: m_bInfected (offset 6292) (type integer) (bits 1)
 -Member: m_bImmune (offset 6296) (type integer) (bits 1)
 -Member: m_iCloaked (offset 6680) (type integer) (bits 1)
 -Member: m_iActiveSabotages (offset 6300) (type integer) (bits 2)
Scuzzy is offline
BAILOPAN
Join Date: Jan 2004
Old 07-04-2008 , 12:14   Re: Fortress Forever (and general source player variable) scripting question
Reply With Quote #2

Using SetEntProp is generally better.

If you're not seeing a change, it means that unfortunately it's not the right way to trigger the desired change. You may have to start reverse engineering the mod, or if the development team doesn't mind such questions, asking them how you might go about it.

There are typicall two routes: through properties/input dispatches, or through reverse engineering (calling internal functions through SDKCall).
__________________
egg
BAILOPAN is offline
hlstriker
Green Gaben
Join Date: Mar 2006
Location: OH-IO!
Old 07-04-2008 , 20:16   Re: Fortress Forever (and general source player variable) scripting question
Reply With Quote #3

Not sure if you fixed the problem or not, but here is a tested example (note that the hud will only SHOW a max of 7 grenades).

Just type in chat "/test" to try it out.
PHP Code:
#include <sourcemod>

new m_iPrimary;

public 
Plugin:myinfo 
{
    
name "Nade Amount",
    
author "hlstriker",
    
description "Change players nade amount",
    
version "1.0",
    
url "None"
}

public 
OnPluginStart()
{
    
// Get the primary grenade offset
    
m_iPrimary FindSendPropOffs("CFFPlayer""m_iPrimary");
    
    
RegConsoleCmd("say"hook_say);
}

public 
Action:hook_say(iClientiArgs)
{
    
decl String:szArg1[32];
    
GetCmdArg(1szArg132);
    
    if(
strcmp(szArg1"/test"false) == 0)
    {
        static 
iNadeAmount;
        
        
// Get the amount of primary grenades player has
        
iNadeAmountGetEntData(iClientm_iPrimary);
        
PrintToChat(iClient"Nade amount = %i"iNadeAmount);
        
        
// Give the player 500 primary grenades
        
SetEntData(iClientm_iPrimary5004true);
    }
    
    return 
Plugin_Continue;

hlstriker is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 12:48.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode