Hello Sinners! This is a managed code list thread similar to DArK x1337HaX's thread, A lot of this thread is a direct copy/paste from Dark's thread however there is a lot of stuff here that was postedon his thread and not added to the OP, So I have gone through all the pages and added what I see fit for the post and relevant in some way or another. I will not be altering any of the code or editing it in any way, Simply posting it here for everyone to have easily accessable! So here we go, And if you have anything you want to share please PM me the code and I will update the OP with the code and the relevant credits you give me. Any missing credits on code mean either I wasn't told who to credit or I am unsure who to credit. I will continue to work on this thread from day to day until I have added all the code from the other thread that I think should be added to this thread and will be updating this with anything I find online or otherwise. I also plan on adding a download for ALL mw2 mod menus and game modes and any other releases like that. I won't add the older earlier menus for TU8 due to most of them being very basic as they were released really early after TU8 was pushed. If you want me to add some new code, PM me the code to save clutter from clogging this thread up like the last one! Download XRPC for C#: https://mega.co.nz/#!AtMUUQ7A!ZVMYSD-qBFoQAkgrMWiIWjN1JjMLuoTTNTCrkym19yU Thanks for the dl Const ALL WORKING MW2 SOUNDS: Spoiler Thanks to TreyZ1337 ALL WORKING MW2 MATERIALS: Spoiler Thanks to TreyZ1337 ALL WEAPONS AND MODELS: Spoiler ALL OFFSETS LABELED FOR SHOW CLIENT ON MINI MAP: Spoiler Thanks to TreyZ1337 CraigChrist's Devkit++ Converted to C++ by TeamGeckos KYZA: Download: http://www.mediafire.com/?dm7v1adl9ziy0n8 TU7-TU8 Offset Calc: http://www.se7ensins.com/forums/threads/release-darks-mw2-offset-calculator-tu7-to-tu8.883088/ [C++] MW2 TU8 GSC Functions: Spoiler Credit to Se7ensins JTAG Tutorials: Spoofing Silver XBL Accounts To Gold Accounts: // Evansyjord Spoiler Code: //JRPC Using JRPC_Client; IXboxConsole Evansy; //This is what you are calling your "console" For example you'd do Evansy.SetMemory but Evansy can be anything you want to call it.. Evansy.SetMemory(0x816DAAFC, new byte [] { 0x38, 0x60, 0x00, 0x06}); Evansy.SetMemory(0x81A3BCB8, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD640, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6B4, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6AC, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6A0, new byte [] { 0x38, 0x60, 0x00, 0x01}); Code: //XRPC Using XRPCLib; XRPC Evansy = new XRPC(); //This is what you are calling your "console" For example you'd do Evansy.SetMemory but Evansy can be anything you want to call it.. also the same concept as the last but if this doesnt work you can try the Resolve Function by doing this.. Evansy.SetMemory(Evansy.ResolveFunction("xam.xex", offset-here, new byte[] { Bytes Here })); //But i was having problems using this one Evansy.SetMemory(0x816DAAFC, new byte [] { 0x38, 0x60, 0x00, 0x06}); Evansy.SetMemory(0x81A3BCB8, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD640, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6B4, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6AC, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6A0, new byte [] { 0x38, 0x60, 0x00, 0x01}); Credit to Const and S7 Pro How to Remove RSA Checks: Spoiler Nop all of these offsets 0x82168FB4 0x8216907C 0x821690F4 Credit to Const How to do waittill: https://www.se7ensins.com/forums/threads/waittil-tu8.1167012/ Spoiler Power PC by Const: Spoiler http://www.se7ensins.com/forums/threads/ppc-basics-tutorial.927634/ How to find the start of structs by Hacksorce: Spoiler http://www.se7ensins.com/forums/threads/how-to-find-the-start-of-structs.926344/#post-6851648 How to use fog correctly by CraigChrist8239: Spoiler use SV_SendServerCommand First you'll need the master d 13 %s Then %s is one of two things. Depending on if you want "sun settings" or not. "Sun settings" were not in cod4, so noteably cod4 dlc maps do not use them. Without Sun Settings Ok, so you'll need to follow this format... %g %g %g %g %g %g %.0f 0 Heres how it goes... %g - This is "startDist" //Must be greater than or equal to 0 %g - This is the value of (0.69314718 / "halfwayDist") //Obviously "halfwayDist" can't be 0... and it can't be less than 0 either... %g - This is "red" //RGB must be between 0 and 1 %g - This is "green" %g - This is "blue" %g - This is "maxOpacity" //Must be between 0 and 1 %.0f - This is the value of ("TransitionTime" * 1000) //TransitionTime must be greater than or equal to 0 With Sun Settings %g %g %g %g %g %g %.0f 1 %g %g %g %g %g %g %g %g %g Notice the 0 becomes a 1 (sunSettings set to true) and it allows you to enter more settings. The beginning settings all function the same, however following the 1... %g - SunFog Red //RGB must be between 0 and 1 %g - SunFog Green %g - SunFog Blue %g - SunDirection X %g - SunDirection Y %g - SunDirection Z %g - This is "sunBeginFadeAngle" //Both of these angles are degrees and must be between 0 and 180. Also, begin fade must be less than end fade. %g - This is "sunEndFadeAngle" %g - This is "sunFogScale" //Must be greater than or equal to 0 Some Good Shtuff (In General): Spoiler Hmm.... well after an hour of searching... To set your custom class name... 1. The first thing you want to do is decide which class you want to set. The first number you're going to use is calculated using this formula Code: 3003 + 37 + (64 * classIndex) 3003 is the index for "customClasses". 37 is the index for the name in a class, and 64 is the size of a custom class (needed to skip over the ones we don't want). so if I wanted to edit the second custom class name, it would come out to be 3104. 2. Next you're going to need to get the value you're going to set it to. Open up a hex editor and type out a string and copy the hex. This will be the second number. I'm going to set my custom class name to "^1CraigChrist8239", so the hex value for it would be "5E31437261696743687269737438323339". (WARNING!: I do not believe it detects size... So you can go over the max allowed string size, however it will begin to conflict with other data!) 3. Now just send it... Code: SV_GameSendServerCommand(0, 0, "J 3104 5E31437261696743687269737438323339"); //To set the second custom classes name to ^1CraigChrist8239 4. Fancy sauce [:wink:] Code: for(int i = 0; i < 10; i++) { sprintf(charBuffer, "J %i 5E%2X437261696743687269737438323339", 3003 + 37 + (64 * i), i + 0x30); SV_GameSendServerCommand(0, 0, charBuffer); } //Sets all custom classes to a particular color depending on the class index EDIT: Heres some more, use these as the first number above. The second value should be either the weapon/perk/attachment index (you can find the indexs in my old MPDATA editor, in the info menu). Set Weapon: Code: 3003 + (64 * classIndex) + 1 + (16 * weaponIndex) Set Weapon Camo: Code: 3003 + (64 * classIndex) + 1 + (16 * weaponIndex) + 6 Set Weapon Attachment: Code: 3003 + (64 * classIndex) + 1 + (16 * weaponIndex) + (2 * attachIndex) I think? Set Deathstreak Code: 3003 + (64 * classIndex) + 58 Set Special Grenade Code: 3003 + (64 * classIndex) + 35 Set Perks Code: 3003 + (64 * classIndex) + 25 + (2 * perkIndex)​ Lol... heres a few... some stuff is more complex and confusing, so i left it out... NOTE: When setting the value of these, do this. Take the value you want (2516000), convert it to 32-bit hexadecimal (0x00266420), now swap it to little endian (0x00 26 64 20 -> 0x20 64 26 00), now cut off the extra 00's (0x206426). Now use it like this Code: J 2056 206426​ Code: 2164 - accuracy 2092 - assists 2144 - currentWinStreak 2084 - deaths 2056 - experience 2096 - headshots 2152 - hits 2124 - kdRatio 2080 - killStreak 2076 - kills 2068 - level 2132 - losses 2156 - misses 2064 - prestige 2072 - score 2104 - suicides 2136 - ties 2108 - timePlayedAllies 2112 - timePlayedOpfor 2116 - timePlayedOther 2120 - timePlayedTotal 2160 - totalShots 2148 - winLossRatio 2140 - winStreak 2128 - wins Credit to CraigChrist8239 ​ Here are a lot of Function Addresses: // Twain Spoiler Research: Spoiler Ent Spawning by Const Spoiler Code: void SpawnEnt(char* ModelName) { unsigned int myEnt = G_Spawn(); *(float*)(myEnt + 0x138) = YourX; *(float*)(myEnt + 0x13C) = YourY; *(float*)(myEnt + 0x140) = YourZ; *(int*)(myEnt + 0x180) = SpawnFlag; //Credit to Aerosoul still need to find enum for it tho G_CallSpawnEntity(Ent); *(short*)(myEnt + 0x5E) = G_GetModelIndex(ModelName);//Credit to droseum and KYZA } Rest is up to you guys [:wink:] Seeing someone complained about no offsets here G_Spawn - 0x8220DBE8 G_CallSpawnEntity - 0x822093E0 G_GetModelIndex - 0x8220CAD8 thanks to KYZA for this offset Every struct needed to mod mw2: // Medaka Spoiler #ifndef __STRUCTURES_H__ #define __STRUCTURES_H__ struct tagInfo_s; #include "hud.h" enum buttons_t { BUTTON_RS = 0x4, BUTTON_LS = 0x2002, BUTTON_RT = 0x1, BUTTON_LT = 0x80800, BUTTON_RB = 0x4000, BUTTON_LB = 0x8000, BUTTON_X = 0x20, BUTTON_A = 0x400, BUTTON_START = 0x400000 }; enum team_t { TEAM_FREE, TEAM_AXIS, TEAM_ALLIES, TEAM_SPECTATOR }; enum serverState_t { SS_DEAD, SS_LOADING, SS_GAME }; enum sessionState_t { SESS_STATE_PLAYING, SESS_STATE_DEAD, SESS_STATE_SPECTATOR, SESS_STATE_INTERMISSION }; enum clientConnected_t { CON_DISCONNECTED, CON_CONNECTING, CON_CONNECTED }; enum objectiveState_t { OBJST_EMPTY, OBJST_ACTIVE, OBJST_INVISIBLE, OBJST_DONE, OBJST_CURRENT, OBJST_FAILED }; enum DvarSetSource { DVAR_SOURCE_INTERNAL, DVAR_SOURCE_EXTERNAL, DVAR_SOURCE_SCRIPT }; enum trType_t { TR_STATIONARY, TR_INTERPOLATE, TR_LINEAR, TR_LINEAR_STOP, TR_SINE, TR_GRAVITY, TR_ACCELERATE, TR_DECELERATE, TR_PHYSICS, TR_RAGDOLL }; enum entityType_t { ET_GENERAL, ET_PLAYER, ET_PLAYER_CORPSE, ET_ITEM, ET_MISSILE, ET_INVISIBLE, ET_SCRIPTMOVER, ET_SOUND_BLEND, ET_FX, ET_LOOP_FX, ET_PRIMARY_LIGHT, ET_TURRET, ET_HELICOPTER, ET_PLANE, ET_VEHICLE, ET_VEHICLE_COLLMAP, ET_VEHICLE_CORPSE, ET_VEHICLE_SPAWNER }; enum weapType_t { WEAPTYPE_BULLET, WEAPTYPE_GRENADE, WEAPTYPE_PROJECTILE, WEAPTYPE_RIOTSHIELD }; enum weapClass_t { WEAPCLASS_RIFLE, WEAPCLASS_SNIPER, WEAPCLASS_MG, WEAPCLASS_SMG, WEAPCLASS_SPREAD, WEAPCLASS_PISTOL, WEAPCLASS_GRENADE, WEAPCLASS_ROCKETLAUNCHER, WEAPCLASS_TURRET, WEAPCLASS_THROWINGKNIFE, WEAPCLASS_NON_PLAER, WEAPCLASS_ITEM }; enum PlayerHandIndex { WEAPON_HAND_RIGHT, WEAPON_HAND_LEFT, NUM_WEAPON_HANDS, WEAPON_HAND_DEFAULT = 0, }; enum pmtype_t { PM_NORMAL, PM_NORMAL_LINKED, PM_NOCLIP, PM_UFO, PM_SPECTATOR = 5, PM_INTERMISSION, PM_LASTSTAND, PM_DEAD, PM_DEAD_LINKED }; enum eventType_t { EV_NONE, EV_FOLIAGE_SOUND, EV_STOP_WEAPON_SOUND, EV_SOUND_ALIAS, EV_SOUND_ALIAS_AS_MASTER, EV_STOPSOUNDS, EV_STANCE_FORCE_STAND, EV_STANCE_FORCE_CROUCH, EV_STANCE_FORCE_PRONE, EV_STANCE_INVALID, EV_ITEM_PICKUP, EV_AMMO_PICKUP, EV_NOAMMO, EV_EMPTYCLIP, EV_EMPTY_OFFHAND_PRIMARY, EV_EMPTY_OFFHAND_SECONDARY, EV_OFFHAND_END_NOTIFY, EV_RESET_ADS, EV_RELOAD, EV_RELOAD_FROM_EMPTY, EV_RELOAD_START, EV_RELOAD_END, EV_RELOAD_START_NOTIFY, EV_RELOAD_ADDAMMO, EV_RAISE_WEAPON, EV_FIRST_RAISE_WEAPON, EV_PUTAWAY_WEAPON, EV_WEAPON_ALT, EV_WEAPON_SWITCH_STARTED, EV_PULLBACK_WEAPON, EV_FIRE_WEAPON, EV_FIRE_WEAPON_LASTSHOT, EV_FIRE_RICOCHET, EV_RECHAMBER_WEAPON, EV_EJECT_BRASS, EV_FIRE_WEAPON_LEFT, EV_FIRE_WEAPON_LASTSHOT_LEFT, EV_EJECT_BRASS_LEFT, EV_HITCLIENT_FIRE_WEAPON, EV_HITCLIENT_FIRE_WEAPON_LASTSHOT, EV_HITCLIENT_FIRE_WEAPON_LEFT, EV_HITCLIENT_FIRE_WEAPON_LASTSHOT_LEFT, EV_SV_FIRE_WEAPON, EV_SV_FIRE_WEAPON_LASTSHOT, EV_SV_FIRE_WEAPON_LEFT, EV_SV_FIRE_WEAPON_LASTSHOT_LEFT, EV_MELEE_SWIPE, EV_FIRE_MELEE, EV_PREP_OFFHAND, EV_USE_OFFHAND, EV_SWITCH_OFFHAND, EV_MELEE_HIT, EV_MELEE_MISS, EV_MELEE_BLOOD, EV_FIRE_TURRET, EV_FIRE_SENTRY, EV_FIRE_QUADBARREL_1, EV_FIRE_QUADBARREL_2, EV_BULLET_HIT, EV_BULLET_HIT_SHIELD, EV_BULLET_HIT_EXPLODE, EV_BULLET_HIT_CLIENT_SMALL, EV_BULLET_HIT_CLIENT_LARGE, EV_BULLET_HIT_CLIENT_EXPLODE, EV_BULLET_HIT_CLIENT_SHIELD, EV_EXPLOSIVE_IMPACT_ON_SHIELD, EV_EXPLOSIVE_SPLASH_ON_SHIELD, EV_GRENADE_BOUNCE, EV_GRENADE_STICK, EV_GRENADE_REST, EV_GRENADE_EXPLODE, EV_GRENADE_PICKUP, EV_GRENADE_LETGO, EV_ROCKET_EXPLODE, EV_ROCKET_EXPLODE_NOMARKS, EV_FLASHBANG_EXPLODE, EV_CUSTOM_EXPLODE, EV_CUSTOM_EXPLODE_NOMARKS, EV_CHANGE_TO_DUD, EV_DUD_EXPLODE, EV_DUD_IMPACT, EV_TROPHY_EXPLODE, EV_BULLET, EV_PLAY_FX, EV_PLAY_FX_ON_TAG, EV_STOP_FX_ON_TAG, EV_PLAY_FX_ON_TAG_FOR_CLIENTS, EV_PHYS_EXPLOSION_SPHERE, EV_PHYS_EXPLOSION_CYLINDER, EV_PHYS_EXPLOSION_JOLT, EV_RADIUSDAMAGE, EV_PHYS_JITTER, EV_EARTHQUAKE, EV_GRENADE_SUICIDE, EV_DETONATE, EV_NIGHTVISION_WEAR, EV_NIGHTVISION_REMOVE, EV_MISSILE_REMOTE_BOOST, EV_PLAY_RUMBLE_ON_ENT, EV_PLAY_RUMBLE_ON_POS, EV_PLAY_RUMBLELOOP_ON_ENT, EV_PLAY_RUMBLELOOP_ON_POS, EV_STOP_RUMBLE, EV_STOP_ALL_RUMBLES, EV_OBITUARY, EV_NO_PRIMARY_GRENADE_HINT, EV_NO_SECONDARY_GRENADE_HINT, EV_TARGET_TOO_CLOSE_HINT, EV_TARGET_NOT_ENOUGH_CLEARANCE_HINT, EV_LOCKON_REQUIRED_HINT, EV_VEHICLE_COLLISION, EV_VEHICLE_SUSPENSION_SOFT, EV_VEHICLE_SUSPENSION_HARD, EV_FOOTSTEP_SPRINT, EV_FOOTSTEP_RUN, EV_FOOTSTEP_WALK, EV_FOOTSTEP_PRONE, EV_JUMP, EV_LANDING_DEFAULT, EV_LANDING_BARK, EV_LANDING_BRICK, EV_LANDING_CARPET, EV_LANDING_CLOTH, EV_LANDING_CONCRETE, EV_LANDING_DIRT, EV_LANDING_FLESH, EV_LANDING_FOLIAGE, EV_LANDING_GLASS, EV_LANDING_GRASS, EV_LANDING_GRAVEL, EV_LANDING_ICE, EV_LANDING_METAL, EV_LANDING_MUD, EV_LANDING_PAPER, EV_LANDING_PLASTER, EV_LANDING_ROCK, EV_LANDING_SAND, EV_LANDING_SNOW, EV_LANDING_WATER, EV_LANDING_WOOD, EV_LANDING_ASPHALT, EV_LANDING_CERAMIC, EV_LANDING_PLASTIC, EV_LANDING_RUBBER, EV_LANDING_CUSHION, EV_LANDING_FRUIT, EV_LANDING_PAINTEDMETAL, EV_LANDING_RIOTSHIELD, EV_LANDING_SLUSH, EV_LANDING_PAIN_DEFAULT, EV_LANDING_PAIN_BARK, EV_LANDING_PAIN_BRICK, EV_LANDING_PAIN_CARPET, EV_LANDING_PAIN_CLOTH, EV_LANDING_PAIN_CONCRETE, EV_LANDING_PAIN_DIRT, EV_LANDING_PAIN_FLESH, EV_LANDING_PAIN_FOLIAGE, EV_LANDING_PAIN_GLASS, EV_LANDING_PAIN_GRASS, EV_LANDING_PAIN_GRAVEL, EV_LANDING_PAIN_ICE, EV_LANDING_PAIN_METAL, EV_LANDING_PAIN_MUD, EV_LANDING_PAIN_PAPER, EV_LANDING_PAIN_PLASTER, EV_LANDING_PAIN_ROCK, EV_LANDING_PAIN_SAND, EV_LANDING_PAIN_SNOW, EV_LANDING_PAIN_WATER, EV_LANDING_PAIN_WOOD, EV_LANDING_PAIN_ASPHALT, EV_LANDING_PAIN_CERAMIC, EV_LANDING_PAIN_PLASTIC, EV_LANDING_PAIN_RUBBER, EV_LANDING_PAIN_CUSHION, EV_LANDING_PAIN_FRUIT, EV_LANDING_PAIN_PAINTEDMETAL, EV_LANDING_PAIN_RIOTSHIELD, EV_LANDING_PAIN_SLUSH, EV_MANTLE }; enum vehicleManualMode_t { VEH_MANUAL_OFF, VEH_MANUAL_ON, VEH_MANUAL_TRANS }; enum helicopterMoveState_t { VEH_MOVESTATE_STOP, VEH_MOVESTATE_MOVE, VEH_MOVESTATE_HOVER }; enum vehicleDrivingState_t { VEH_DRIVE_NONE, VEH_DRIVE_PATH_CONSTRAINED, VEH_DRIVE_PATH_FOLLOW, VEH_DRIVE_TRACK, VEH_DRIVE_AI, VEH_DRIVE_PLAYER }; enum DvarType : char { DVAR_TYPE_BOOL, DVAR_TYPE_FLOAT, DVAR_TYPE_VEC2, DVAR_TYPE_VEC3, DVAR_TYPE_VEC4, DVAR_TYPE_INT, DVAR_TYPE_ENUM, DVAR_TYPE_STRING, DVAR_TYPE_COLOR, DVAR_TYPE_DEVTWEAK }; struct VariableStackBuffer { const char *pos; unsigned short size; unsigned short bufLen; unsigned int localId; char time; char buf[1]; }; union variableUnion { int intValue; float floatValue; unsigned int stringValue; float *vectorValue; const char *codePosValue; unsigned int pointerValue; VariableStackBuffer* stackValue; unsigned int entityOffset; }; struct variableValue_s { variableUnion u; // 0x0 int type; // 0x4 }; struct trace_t { float fraction; // 0x0 vec3 normal; // 0x4 int surfaceFlags; // 0x10 int contents; // 0x14 const char* material; // 0x18 char hitType; // 0x1C unsigned short hitId; // 0x1E unsigned short modelIndex; // 0x20 unsigned short partName; // 0x22 unsigned short partGroup; // 0x24 bool allsolid; // 0x26 bool startsolid; // 0x27 bool walkable; // 0x28 }; struct material_s { char* name; // 0x0 }; struct weaponVarientDef_s { char padding[0x8]; // 0x0 char* displayName; // 0x8 char padding2[0x24]; // 0x0 float penetrationMultiplier; // 0x30 char padding3[0x14]; // 0x34 material_s* hudIcon; // 0x48 char* getWeaponShader() { return hudIcon == 0 ? "NULL" : hudIcon->name; } }; struct weaponDef_s { char padding[0x2C]; // 0x0 weapType_t weapType; // 0x2C weapClass_t weapClass; // 0x30 int penetrateType; // 0x34 char padding2[0x624]; // 0x38 bool rifleBullet; // 0x65C char padding3[4]; // 0x65D bool bBulletImpactExplode; // 0x661 }; struct weaponParms { vec3 forward; // 0x0 vec3 right; // 0xC vec3 up; // 0x18 vec3 muzzleTrace; // 0x24 vec3 gunForward; // 0x30 int weaponIndex; // 0x3C weaponDef_s* weaponDef; // 0x40 weaponVarientDef_s* weaponVariant; // 0x44 }; struct EntHandle { short number; // 0x0 short infoIndex; // 0x2 }; struct trajectory_t { int trTime; // 0x0 trType_t trType; // 0x4 int trDuration; // 0x8 vec3 trBase; // 0xC vec3 trDelta; // 0x18 }; struct LerpEntityStatePlayer { int leanf; // 0x0 int movementDir; // 0x4 int torsoPitch; // 0x8 int waistPitch; // 0xC int offhandWeapon; // 0x10 int lastSpawnTime; // 0x14 }; struct LerpEntityStateAnonymous { int data[9]; // 0x0 }; struct LerpEntityStateMissile { int launchTime; // 0x0 int flightMode; // 0x4 }; struct LerpEntityStateScriptMover { int entToTakeMarksFrom; // 0x0 int xModelIndex; // 0x4 int animIndex; // 0x8 int animTime; // 0xC }; struct LerpEntityStateSoundBlend { int lerp; // 0x0 }; struct LerpEntityStateLoopFx { int cullDist; // 0x0 int period; // 0x4 }; struct LerpEntityStateTurret { float gunAngles[3]; // 0x0 int lastBarrelRotChangeTime; // 0x4 int lastBarrelRotChangeRate; // 0x8 int lastHeatChangeTime; // 0xC int lastHeatChangeLevel; // 0x10 }; struct LerpEntityStateVehicle { int indices; // 0x0 int flags; // 0x4 int bodyPitch; // 0x8 int bodyRoll; // 0xC int steerYaw; // 0x10 int gunPitch; // 0x14 int gunYaw; // 0x18 int playerIndex; // 0x1C int pad; // 0x20 }; struct LerpEntityStatePlane { int ownerNum; // 0x0 int enemyIcon; // 0x4 int friendIcon; // 0x8 }; union LerpEntityStateTypeUnion { LerpEntityStateTurret turret; LerpEntityStateLoopFx loopFx; LerpEntityStatePlayer player; LerpEntityStateScriptMover scriptMover; LerpEntityStateVehicle vehicle; LerpEntityStatePlane plane; LerpEntityStateMissile missile; LerpEntityStateSoundBlend soundBlend; LerpEntityStateAnonymous anonymous; }; struct LerpEntityState { int eFlags; // 0x0 trajectory_t pos; // 0x4 trajectory_t apos; // 0x24 LerpEntityStateTypeUnion u; // 0x34 }; struct entityState_s { int number; // 0x0 int eType; // 0x4 int time2; // 0x8 LerpEntityState lerp; // 0xC int otherEntityNum; // 0x7C int attackerEntityNum; // 0x80 int groundEntityNum; // 0x84 union { int brushmodel; int item; int xmodel; int primaryLight; } index; // 0x88 int loopSound; // 0x8C int surfType; // 0x90 int clientNum; // 0x94 int headIconTeam; // 0x98 int headIcon; // 0x9C unsigned int eventParm; // 0xA0 int solid; // 0xA4 int eventSequence; // 0xA8 int events[4]; // 0xAC int eventParms[4]; // 0xBC int weapon; // 0xCC int legsAnim; // 0xD0 int torsoAnim; // 0xD4 union { int scale; int eventParm2; int helicopterStage; } un1; // 0xD8 union { int hintString; int grenadeInPickupRange; int vehicleXModel; } un2; // 0xDC int clientLinkInfo; // 0xE0 int partBits[6]; // 0xE4 }; struct enitityShared_t { int clientMask; // 0x0 bool linked; // 0x4 char bmodel; // 0x5 char svFlags; // 0x6 bool inuse; // 0x7 vec3 mins; // 0x8 vec3 maxs; // 0x14 int contents; // 0x20 vec3 absmin; // 0x24 vec3 absmax; // 0x30 vec3 currentOrigin; // 0x3C vec3 currentAngles; // 0x48 EntHandle ownerNum; // 0x54 int eventTime; // 0x58 }; struct hudData_s { hudelem_s current[31]; // 0x0 hudelem_s archival[31]; // 0x1458 }; struct playerState_s { int commandTime; // 0x0 int pm_type; // 0x4 int bobCycle; // 0x8 int pm_flags; // 0xC int otherFlags; // 0x10 int linkFlags; // 0x14 int pm_time; // 0x18 vec3 origin; // 0x1C vec3 velocity; // 0x28 int grenadeTimerLeft; // 0x34 int throwBackGrenadeOwner; // 0x38 char padding[0x18]; // 0x3C int gravity; // 0x54 float leanf; // 0x58 int speed; // 0x5C vec3 deltaAngles; // 0x60 int groundEntityNum; // 0x6C vec3 vLadderVec; // 0x70 int jumpTime; // 0x7C float jumpOriginZ; // 0x80 char padding2[0x24]; // 0x84 int corpseIndex; // 0xA8 int movementDir; // 0xAC int eFlags; // 0xB0 char padding3[0x50]; // 0xB4 int clientNum; // 0x104 int viewModelIndex; // 0x108 vec3 viewAngles; // 0x10C char padding4[0x38]; int health; // 0x150 char padding5[0x4]; // 0x154 int maxHealth; // 0x158 char padding6[0x58]; // 0x15C int locationSelectionInfo; // 0x1B4 char padding7[0x1C]; // 0x1B8 float moveSpeedScaleMultiplier; // 0x1D4 char padding8[0xDC]; // 0x1D8 int weaponId; // 0x2B4 char padding9[4]; // 0x2B8 int weaponState; // 0x2BC float weaponPosFrac; // 0x2C0 float aimSpreadScale; // 0x2C4 char padding10[0x8C]; // 0x2C8 int secondaryWeaponAmmoCount; // 0x354 char padding11[0x14]; // 0x158 int primaryWeaponAmmoCount; // 0x36C char padding12[0xB8]; // 0x370 int perks; // 0x428 int perkSlotCount; // 0x42C char padding13[0x5C]; // 0x430 int shellshockIndex; // 0x48C int shellshockTime; // 0x490 int shellshockDuration; // 0x494 char padding14[0x3B0]; // 0x370 hudData_s hud; // 0x848 char padding15[0x98]; // 0x318C }; struct usercmd_s { int serverTime; // 0x0 int buttons; // 0x4 int angles[3]; // 0x8 char forwardmove; // 0x14 char rightmove; // 0x15 char undefined2[2]; // 0x16 float meleeChargeYaw; // 0x18 char meleeChargeDist; // 0x1C char _padding[4]; // 0x1D char selectedLoc[2]; // 0x21 char selectedLocAngle; // 0x3 int unknown; // 0x24 }; struct pmove_t { playerState_s* ps; // 0x0 }; struct pml_t { vec3 forward; vec3 right; vec3 up; float frametime; int msec; int walking; int groundPlane; int almostGroundPlane; trace_t groundTrace; float impactSpeed; vec3 previous_origin; vec3 previous_velocity; }; struct playerTeamState_t { int location; // 0x0 }; struct clientState_s { int clientNum; // 0x0 int team; // 0x4 int modelIndex; // 0x8 int dualWielding; // 0xC int riotShieldNext; // 0x10 int attachModelIndex[6]; // 0x14 int attachTagIndex[6]; // 0x2C char name[32]; // 0x44 float maxSprintTimeMultiplier; // 0x64 int rank; // 0x68 int prestige; // 0x6C int perks[2]; // 0x70 int voiceConnectivityBits; // 0x78 int clanIndex; // 0x7C char clanName[4]; // 0x80 int attachedVehEntNum; // 0x84 int attachedVehSlotIndex; // 0x88 }; struct clientSession_s { sessionState_t sessionState; // 0x3190 int clientNum; // 0x3194 int score; // 0x3198 int deaths; // 0x319C int kills; // 0x31A0 int assists; // 0x31A4 short scriptPersId; // 0x31A8 short undefined; // 0x31AA clientConnected_t connect; // 0x31AC usercmd_s cmd; // 0x3200 usercmd_s oldCmd; // 0x31D8 int isLocalClient; // 0x31F8 int predictItemPickup; // 0x31FC char name[32]; // 0x31DC int maxHealth; // 0x3228 int enterTime; // 0x322C playerTeamState_t teamState; // 0x3230 int voteCount; // 0x3234 int teamVoteCount; // 0x3238 float moveSpeedScaleMultiplier; // 0x323C int viewmodelIndex; // 0x3240 int noSpectate; // 0x3244 int teamInfo; // 0x3248 clientState_s cs; // 0x324C char padding2[16]; // 0x3250 int psOffsetTime; // 0x32E8 char padding3[0x130]; // 0x32EC }; struct viewClamp { vec2 start; // 0x0 vec2 current; // 0x8 vec2 goal; // 0x10 }; struct viewClampState { viewClamp min; // 0x0 viewClamp max; // 0x18 float accelTime; // 0x30 float decelTime; // 0x34 float totalTime; // 0x38 float startTime; // 0x3C }; struct gclient_s { playerState_s ps; // 0x0 clientSession_s sess; // 0x3190 int spectatorClient; // 0x341C int mFlags; // 0x3420 char padding[4]; // 0x3424 int lastCmdTime; // 0x3428 int buttons; // 0x342C int oldButtons; // 0x3430 int latched_buttons; // 0x3434 int buttonsSinceLastFrame; // 0x3438 vec3 oldOrigin; // 0x343C float fGunPitch; // 0x3448 float fGunYaw; // 0x344C char padding2[8]; // 0x3450 vec3 damage_from; // 0x3458 int damage_fromWorld; // 0x3464 int accurateCount; // 0x3468 int accuracy_shots; // 0x346C int accuracy_hits; // 0x3470 int inactivityTime; // 0x3474 int inactivityWarning; // 0x3478 int lastVoiceTime; // 0x347C int switchTeamTime; // 0x3480 float currentAimSpreadScale; // 0x3484 float prevLinkedInvQuat[4]; // 0x3488 bool link_rotationMovesEyePos; // 0x3498 bool link_doCollision; // 0x3499 bool link_useTagAnglesForViewAngles; // 0x349A bool link_useBaseAnglesForViewClamp; // 0x349B float linkAnglesFrac; // 0x349C viewClampState link_viewClamp; // 0x34A0 }; struct turretInfo_s { int inuse; // 0x0 int flags; // 0x4 int fireTime; // 0x8 vec2 arcmin; // 0xC vec2 arcmax; // 0x14 float dropPitch; // 0x1C int stance; // 0x20 int prevStance; // 0x24 int fireSndDelay; // 0x28 vec3 userOrigin; // 0x2C float playerSpread; // 0x38 int state; // 0x3C EntHandle target; // 0x40 vec3 targetOffset; // 0x44 EntHandle manualTarget; // 0x50 vec3 manualTargetOffset; // 0x54 int targetTime; // 0x60 int stateChangeTime; // 0x64 int modeChangeTime; // 0x68 float maxRangeSquared; // 0x6C int prevTargetIndex; // 0x70 int eTeam; // 0x74 int convergenceTime[2]; // 0x78 float convergenceHeightPercent; // 0x80 vec3 targetPos; // 0x84 char padding[0x34]; // 0x88 }; struct item_ent_t { int ammoCount; // 0x0 int clipAmmoCount[2]; // 0x4 int weaponIndex; // 0xC bool dualWieldItem; // 0x10 }; struct trigger_ent_t { int threshold; // 0x0 int accumulate; // 0x4 int timestamp; // 0x8 int singleUserEntIndex; // 0xC int damage; // 0x10 bool requireLookAt; // 0x14 }; struct mover_ent_t { float decelTime; // 0x0 float aDecelTime; // 0x4 float speed; // 0x8 float aSpeed; // 0xC float midTime; // 0x10 float aMidTime; // 0x14 float pos1[3]; // 0x18 float pos2[3]; // 0x24 float pos3[3]; // 0x30 float apos1[3]; // 0x3C float apos2[3]; // 0x48 float apos3[3]; // 0x54 }; struct corpse_ent_t { int deathAnimStartTime; // 0x0 }; struct VehicleTags { int player; // 0x0 int detach; // 0x4 int popout; // 0x8 int body; // 0xC int turret; // 0x10 int turret_base; // 0x14 int barrel; // 0x18 int flash[5]; // 0x1C int wheel[6]; // 0x34 }; struct scr_vehicle_s; struct gentity_s { entityState_s s; // 0x0 enitityShared_t r; // 0xFC gclient_s* client; // 0x158 char padding[4]; // 0x15C scr_vehicle_s* vehicle; // 0x160 int physicsBody; // 0x164 short modelId; // 0x168 bool physicsObject; // 0x16A bool takedamage; // 0x16B char active; // 0x16C char handler; // 0x16D char team; // 0x16E bool freeAfterEvent; //0x16F char padding3[2]; // 0x170 short classname; // 0x172 short code_classname; // 0x174 short target; // 0x178 short targetname; // 0x17A int attachIgnoreCollision; // 0x17C int spawnFlags; // 0x180 int flags; // 0x184 int unlinkAfterEvent; // 0x188 int clipMask; // 0x18C int processedFrame; // 0x190 EntHandle parent; // 0x194 int nextthink; // 0x198 int health; // 0x19C int maxHealth; // 0x1A0 int damage; // 0x1A4 int count; // 0x1A8 union { item_ent_t item[2]; trigger_ent_t trigger; mover_ent_t mover; corpse_ent_t corpse; }; // 0x1AC EntHandle projEntity; // 0x20C EntHandle linkedEntity; // 0x210 tagInfo_s* tagInfo; // 0x214 gentity_s* tagChildren; // 0x218 short attachModelNames[19]; // 0x21C short attachTagNames[19]; // 0x242 int useCount; // 0x268 int nextFree; // 0x26C int birthTime; // 0x270 char padding4[10]; // 0x274 }; struct scr_vehicle_s { gentity_s* ent; // 0x0 LerpEntityStateVehicle* lerp; // 0x4 vehicleDrivingState_t drivingState; // 0x8 char padding[322]; // 0xC EntHandle vehEnt; // 0x150 char padding2[34]; // 0x154 float maxPitchAngle; // 0x178 float maxRollAngle; // 0x17C char padding3[176]; // 0x180 int defIndex; // 0x230 int team; // 0x234 unsigned int useHintStringIndex; // 0x238 helicopterMoveState_t heliMoveState; // 0x23C float speed; // 0x240 char padding4[136]; // 0x244 short lookAtText0; // 0x2CC short lookAtText1; // 0x2CE vehicleManualMode_t manualMode; // 0x2D0 float manualSpeed; // 0x2D4 float manualAccel; // 0x2D8 float manualDecel; // 0x2DC float manualTime; // 0x2E0 char padding5[16]; // 0x2E4 float turningAbility; // 0x2F4 int hasTarget; // 0x2F8 char padding7[8]; // 0x2F0 int stopAtGoal; // 0x304 int stopping; // 0x308 int targetEnt; // 0x30C EntHandle lookAtEnt; // 0x310 char padding8[28]; // 0x314 vec3 goalPosition; // 0x330 float yawOverShoot; // 0x344 char padding9[50]; // 0x348 VehicleTags boneIndex; // 0x374 // Vehicle functions int getVehicleServerDef(); float getSpeed(); float getGoalSpeedMph(); void fireWeapon(); void setMaxPitchRoll(float pitch, float roll); void setTurningAbility(float turn); void setJitterParams(vec3 range, float minperiod, float maxperiod); void setYawSpeed(float speed, float accel, float decel, float overshootPercent); void setWeapon(char* weaponName); void setGoalPos(vec3 origin, bool slowDownNearGoal); void setSpeed(float speed, float accel, float decel); }; struct tagInfo_s { gentity_s* parent; // 0x0 gentity_s* next; // 0x4 short name; // 0x8 bool blendToParent; // 0xA int index; // 0xC float axis[4][3]; // 0x10 float parentInvAxis[4][3]; // 0x40 }; struct objective_t { objectiveState_t state; // 0x0 vec3 origin; // 0x4 int entNum; // 0x10 int teamNum; // 0x14 int icon; // 0x18 }; struct cached_tag_mat_t { int time; // 0x0 int entnum; // 0x4 short name; // 0x8 float tagMat[4][3]; // 0xC }; struct SpawnVar { bool spawnVarsValid; // 0x0 int numSpawnVars; // 0x4 char* spawnVars[64][2]; // 0x8 int numSpawnVarChars; // 0x208 char spawnVarChars[2048]; // 0x20C }; struct level_locals_t { gclient_s* client; // 0x0 gentity_s* entity; // 0x4 int num_entities; // 0x8 gentity_s* firstFreeEnt; // 0xC gentity_s* lastFreeEnt; // 0x10 turretInfo_s* turret; // 0x14 int iSearchFrame; // 0x18 int initializing; // 0x1C int clientIsSpawning; // 0x20 objective_t objectives[32]; // 0x24 int maxclients; // 0x3A4 int framenum; // 0x3A8 int time; // 0x3AC int previousTime; // 0x3B0 int frametime; // 0x3B4 int startTime; // 0x3B8 int teamScores[4]; // 0x3BC int lastTeammateHealthTime; // 0x3CC int bUpdateScoresForIntermission; // 0x3D0 bool teamHasRadar[4]; // 0x3D4 int pingUpdateTime; // 0x3D8 int manualNameChange; // 0x3DC int numConnectedClients; //0x3E0 int sortedClients[18]; // 0x3E4 SpawnVar spawnVar; // 0x42C int savepersist; // 0xE38 int droppedWeaponCue[32]; // 0xE3C float fFogOpaqueDist; // 0xEBC float fFogOpaqueDistSqrd; // 0xEC0 int currentPlayerClone; // 0xEC4 char padding[0x183C]; // 0xEC8 cached_tag_mat_t cachedTagMat; // 0x2704 int scriptPrintChannel; // 0x2740 vec2 compassMapUpperLeft; // 0x2744 vec2 compassMapWorldSize; // 0x274C vec2 compassNorth; // 0x2754 char pading2[0xFA4]; // 0x275C }; struct server_t { serverState_t state; // 0x0 int timeResidual; // 0x4 char padding[0x81A]; // 0x8 short configStrings[0x3F8]; // 0x822 }; struct client_s { int state; // 0x0 int sendAsActive; // 0x4 char padding[0x644]; // 0x8 char* dropReason; // 0x64C char lastClientCommandString[1024]; // 0x650 char padding2[0x848]; // 0xA50 char name[32]; // 0x1298 char padding3[0x30830]; // 0x16B4 char playerGuid[17]; // 0x31AE8 short scriptId; // 0x31AE6 int testClient; // 0x31AFC }; #endif // __STRUCTURES_H__ Spoiler If you are using the above struct provided by Medaka, Here are some cool things to get you started! Spoiler Write Data: // Medaka Spoiler Code: template void writeData(int address, T data, char* info) { #ifdef _DEBUG debugPrint("[writeData] address: 0x%X || data: 0x%X || info: %s", address, data, info); #endif if (!MmIsAddressValid((int*)address)) { #ifdef _DEBUG debugPrint("[writeData] Address 0x%X is invalid || info: %s", address, info); #endif } *(T*)address = data; } [/spoiler] Magic Bullet // Medaka Spoiler Code: gentity_s* magicBullet(gentity_s* owner, char* weaponName, vec3 start, vec3 end) { weaponParms wp; gentity_s* temp = nullptr; int weaponId = G_GetWeaponIndexForName(weaponName); if (owner == nullptr) { debugPrint("[magicBullet] no valid owner for bullet %s", weaponName); debugPrint("[magicBullet] using world entity"); owner = (gentity_s*)(0x82F03600 + (20 << 16)) - 0x500; } if (weaponId == 0) { debugPrint("[magicBullet] invalid weapon name %s", weaponName); return nullptr; } float len = (end - start).length(); wp.weaponIndex = weaponId; wp.weaponDef = *(weaponDef_s**)(0x8255A320 + (wp.weaponIndex * 4)); wp.weaponVariant = *(weaponVarientDef_s**)(0x82557750 + (wp.weaponIndex * 4)); wp.muzzleTrace = start; wp.forward = ((end - start) * (len >= 0.0f ? 1.0f / len : 1.0f)); switch (wp.weaponDef->weapType) { case WEAPTYPE_BULLET: writeData(0x8221037C, NOP, "[magicBullet] Disable Bullet_Fire"); Bullet_Fire(owner, 0.0f, &wp, 0, WEAPON_HAND_DEFAULT, level->time); writeData(0x8221037C, 0x4BFBF065, "[magicBullet] Restore Bullet_Fire"); break; case WEAPTYPE_GRENADE: writeData(0x821EE754, NOP, "[magicBullet] Scr_AddString patch"); writeData(0x821EE75C, NOP, "[magicBullet] Scr_AddEntity patch"); writeData(0x821EE778, NOP, "[magicBullet] Scr_Notify patch"); writeData(0x821EE78C, NOP, "[magicBullet] Scr_Notify patch #2"); temp = Weapon_GrenadeLauncher_Fire(owner, weaponId, 0, &wp); writeData(0x821EE754, 0x4805DF55, "[magicBullet] Scr_AddString restore"); writeData(0x821EE75C, 0x4801AE25, "[magicBullet] Scr_AddEntity restore"); writeData(0x821EE778, 0x4801B031, "[magicBullet] Scr_Notify restore"); writeData(0x821EE78C, 0x4801B01D, "[magicBullet] Scr_Notify restore #2"); break; case WEAPTYPE_PROJECTILE: writeData(0x821EEE8C, NOP, "[magicBullet] Scr_AddString patch"); writeData(0x821EEE94, NOP, "[magicBullet] Scr_AddEntity patch"); writeData(0x821EEEA4, NOP, "[magicBullet] Scr_Notify patch"); temp = Weapon_RocketLauncher_Fire(owner, weaponId, 0.0f, &wp, (vec3*)0x8202FF88, 0, true); writeData(0x821EEEA4, 0x4801A905, "[magicBullet] Scr_Notify restore"); writeData(0x821EEE94, 0x4801A6ED, "[magicBullet] Scr_AddEntity restore"); writeData(0x821EEE8C, 0x4805D81D, "[magicBullet] Scr_AddString restore"); break; default: debugPrint("[magicBullet] unknown weapon %s", weaponName); return nullptr; } if (wp.weaponDef->weapType != WEAPTYPE_BULLET) { EntHandle_SetEnt(&temp->r.ownerNum, owner); EntHandle_SetEnt(&temp->parent, owner); } gentity_s* tmp = G_TempEntity(&start, EV_FIRE_WEAPON); tmp->s.un1.eventParm2 = 0; tmp->s.eventParms[tmp->s.eventSequence] = 0; tmp->s.weapon = weaponId; tmp->s.eventParm = 0; return temp; } [/spoiler] GetTagOrigin: // Medaka Spoiler Code: vec3 getTagOrigin(gentity_s* entity, short tagId) { bool canUseSameTag = entity->s.number != level->cachedTagMat.entnum || level->time != level->cachedTagMat.time || tagId != level->cachedTagMat.name; if (canUseSameTag) { if (SV_DObjExist(entity) && G_DObjGetWorldTagMatrix(entity, tagId, level->cachedTagMat.tagMat)) { level->cachedTagMat.entnum = entity->s.number; level->cachedTagMat.time = level->time; level->cachedTagMat.name = tagId; } else debugPrint("[getTagOrigin] could not find tag %s", SL_ConvertToString(tagId)); } return *(vec3*)&level->cachedTagMat.tagMat[3][0]; } TriggerFX: // Medaka [spoiler] [code] void triggerFx(gentity_s* entity, int time) { entity->s.time2 = level->time + (time * 1000.0f); } [/code]   Last edited: Apr 5, 2019 Reply - [Like] Reactions: iTzZ Fenix, XeCrippy, XeCrout and 5 others - Sep 4, 2018 - Thread starter - [] - [] - #2 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 C++ Codes/Sources: Spoiler Wait Function: //DArK x1337HaX Spoiler Code: void Wait(int seconds) { //assigns currentTime to the current time time_t currentTime = time(NULL); //this is the start time + seconds you want to wait time_t endTime = currentTime + seconds; while(endTime > currentTime) { //updates currentTime to the current time time(¤tTime); } } use #include Replace music in game: //TreyZ1337 Spoiler Code: Offset: 0x82292540 __declspec(****d) int Com_FindSoundAlias_FastFile_Stub(const char *name) { __asm { nop nop nop nop nop li r3, 0x1 blr } } int Com_FindSoundAlias_FastFile_Hook(const char *name) { if(!strcmp(name, "music_mainmenu_mp")) { name = "music_mainmenu"; /*music_challenge_factory music_mainmenu music_mainmenu_mp music_opening*/ } return Com_FindSoundAlias_FastFile_Stub(name); } SV_Cmd_Argv: // SC58 Spoiler Code: //SV_Cmd_Argv min arg is 0 and max arg is 8 void ClientCommand(int clientNum) { gentity_s *ent = &g_entities[clientNum]; if (ent->client) { const char *cmdArgZero = SV_Cmd_Argv(0); // you can also add command to be monitored when clients try and use a command like // set or bind to block them from executing or whatever if (!strcmp(cmdArgZero, "n")) { Cmd_CheckNetNotify_f(clientNum); } else if (!strcmp(cmdArgZero, "s")) { SendScoreboard(ent); } else if (!strcmp(cmdArgZero, "mr")) { if (!strcmp(SV_Cmd_Argv(3), "endround")) // Blocks the endgame crap people use { if (Session_IsHost(g_serverSession, clientNum)) // only you can end the game Cmd_MenuResponse_f(ent); else // add a kick client function or leave it blank to do nothing when a client calls the command } else { Cmd_MenuResponse_f(ent); } } } } Scr_LoadFx: // Medaka Spoiler Code: int Scr_LoadFX(char* fx_name) { if (!strncmp(fx_name, "fx/", 3) == 0) { debugPrint("effect name should start after the 'fx' folder."); return; } writeData(0x8220CF4C, 0x41, "Prevent initializing check from returning 0"); int effectIndex = G_EffectIndex(fx_name); writeData(0x8220CF4C, 0x40, "Restore initializing check"); return effectIndex; } Usage: int my_effect = Scr_LoadFX("fx/props/grenadeExp_water"); Title Text Editor: --- Credits: ImCrout void CustomTitleMW2() { XOVERLAPPED Overlapped; WCHAR wValue[512]; char Buffer[0x100]; ZeroMemory(&Overlapped, sizeof(Overlapped)); XShowKeyboardUI(0, VKBD_DEFAULT, L"", L"Custom Title", L"Enter any Name You Want. (6 Letters Max)", wValue, 8, &Overlapped); while (!XHasOverlappedIoCompleted(&Overlapped)) Sleep(100); wcstombs(Buffer, wValue, 8); strcpy((char*)0xA4E81F25, Buffer); } Precache Shader: --- Credits: Medaka template void writeData(int address, T data, char* info) { #ifdef _DEBUG debugPrint("address: 0x%X || data: 0x%X || info: %s", address, data, info); #endif if (!MmIsAddressValid((int*)address)) { #ifdef _DEBUG debugPrint("address 0x%X is invalid || info: %s", address, info); #endif } *(T*)address = data; } void precacheShader(char* shaderName) { if (*shaderName == '\0') { debugPrint("shader name string is empty"); return; } writeData(0x8220CA84, 0x41, "Prevent cache check branch from returning 0"); writeData(0x8220CA40, 0x60000000, "Allow any material to get cached"); G_MaterialIndex(shaderName); writeData(0x8220CA40, 0x40, "Restore non-cached material check"); writeData(0x8220CA40, 0x419A004C, "Restore branch"); } Set Gamertag On Classes: --- Credits: Const void SetGTClass(int Index) { char* MyBuff; char* GamerTag = getGamertag(Index); bool stop = false; for(int X = 0;stop = true;X++) { if(GamerTag[X] != '\0') MyBuff = (char*)LinkChar("%s%02X",MyBuff,GamerTag[X]); else stop = true; } SV_GameSendServerCommand(0,1,LinkChar("J 3104 5E%02X%s", RandNumber(0-6), MyBuff)); } Progress Bar --- Credits: WINN class CProgressbar{ game_hudelem_s *Progressbar[2]; int client; public: int value; CProgressbar(int clientnum){ client = clientnum; value = 0; Progressbar[0] = HudElem_Alloc(client,GetEntity(client)->clientData->sess._cs.team); Progressbar[1] = HudElem_Alloc(client,GetEntity(client)->clientData->sess._cs.team); CreateShader(Progressbar[0],"white",202,10,210,250,0x1,0x1,4,0,0,0,255), CreateShader(Progressbar[1],"white",0,8,211,250,0x1,0x1,5,255,255,255,255); } ~CProgressbar(){ value = 0; CreateShader(Progressbar[0],"white",0,0,0,0,0x1,0x1,4,0,0,0,255), CreateShader(Progressbar[1],"white",0,0,0,0,0x1,0x1,5,255,255,255,255); } void Update(double Value){ value = floor(((Value) * (double)200)); Progressbar[1]->elem.width = value; } }; To use it, do: CProgressbar Bar1(Client); for(int i = 0;i<101;i++){ Bar1.Update(i / 100); } Unlock All with Correct Values --- Credits: droseum20 void doUnlockAll(int clientIndex) { SV_GameSendServerCommand(clientIndex, 1, "J 3760 09 4623 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3761 09 4627 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3762 02 4631 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3763 02 4635 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3764 02 4639 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3765 02 4643 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3766 02 4647 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3767 02 4651 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3752 09 4591 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3753 09 4595 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3754 02 4599 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3755 02 4603 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3756 02 4607 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3757 02 4611 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3758 02 4615 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3759 02 4619 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3736 09 4527 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3737 09 4531 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3738 02 4535 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3739 02 4539 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3740 02 4543 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3741 02 4547 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3742 02 4551 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3743 02 4555 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3799 09 4779 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3800 09 4783 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3801 02 4787 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3802 02 4791 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3803 02 4795 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3804 02 4799 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3805 02 4803 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3806 02 4807 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3775 09 4683 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3776 09 4687 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3777 02 4691 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3778 02 4695 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3779 02 4699 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3780 02 4703 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3781 02 4707 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3782 02 4711 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3728 09 4495 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3729 09 4499 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3730 02 4503 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3731 02 4507 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3732 02 4511 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3733 02 4515 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3734 02 4519 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3735 02 4523 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3783 09 4715 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3784 09 4719 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3785 02 4723 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3786 02 4727 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3787 02 4731 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3788 02 4735 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3789 02 4739 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3790 02 4743 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3791 09 4747 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3792 09 4751 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3793 02 4755 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3794 02 4759 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3795 02 4763 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3796 02 4767 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3797 02 4771 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3798 02 4775 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3744 09 4559 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3745 09 4563 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3746 02 4567 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3747 02 4571 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3748 02 4575 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3749 02 4579 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3750 02 4583 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3751 02 4587 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3853 09 4995 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3854 09 4999 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3855 02 5003 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3856 02 5007 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3857 02 5011 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3858 02 5015 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3859 02 5019 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3839 09 4939 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3840 09 4943 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3841 02 4947 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3842 02 4951 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3843 02 4955 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3844 02 4959 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3845 02 4963 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3825 09 4883 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3826 09 4887 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3827 02 4891 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3828 02 4895 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3829 02 4899 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3830 02 4903 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3831 02 4907 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3832 09 4911 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3833 09 4915 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3834 02 4919 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3835 02 4923 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3836 02 4927 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3837 02 4931 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3838 02 4935 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3846 09 4967 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3847 09 4971 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3848 02 4975 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3849 02 4979 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3850 02 4983 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3851 02 4987 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3852 02 4991 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3768 09 4655 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3769 09 4659 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3771 02 4667 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3770 02 4663 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3772 02 4671 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3773 02 4675 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3774 02 4679 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3874 09 5079 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3875 09 5083 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3876 02 5087 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3877 02 5091 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3878 02 5095 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3879 02 5099 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3880 02 5103 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3867 09 5051 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3868 09 5055 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3869 02 5059 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3870 02 5063 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3871 02 5067 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3872 02 5071 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3873 02 5075 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3860 09 5023 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3861 09 5027 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3862 02 5031 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3863 02 5035 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3864 02 5039 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3865 02 5043 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3866 02 5047 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3888 09 5135 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3887 09 5131 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3889 02 5139 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3890 02 5143 3C"); SV_GameSendServerCommand(clientIndex, 1, "J 3891 02 5147 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3892 02 5151 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3893 02 5155 09"); SV_GameSendServerCommand(clientIndex, 1, "J 3807 09 4811 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3808 09 4815 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3809 02 4819 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3810 02 4823 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3811 02 4827 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3812 02 4831 06"); SV_GameSendServerCommand(clientIndex, 1, "J 3813 09 4835 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3814 09 4839 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3815 02 4843 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3816 02 4847 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3817 02 4851 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3818 02 4855 06"); SV_GameSendServerCommand(clientIndex, 1, "J 3819 09 4859 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3820 09 4863 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3821 02 4867 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3822 02 4871 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3823 02 4875 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3824 02 4879 06"); SV_GameSendServerCommand(clientIndex, 1, "J 3881 09 5107 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3882 09 5111 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3883 02 5115 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 3884 02 5119 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3885 02 5123 28"); SV_GameSendServerCommand(clientIndex, 1, "J 3886 02 5127 06"); SV_GameSendServerCommand(clientIndex, 1, "J 3898 09 5175 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3899 09 5179 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3894 09 5159 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3895 09 5163 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3900 09 5183 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3901 09 5187 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3896 09 5167 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3897 09 5171 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3902 09 5191 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3903 09 5195 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3908 09 5215 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3909 09 5219 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3904 09 5199 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3905 09 5203 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3906 09 5207 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3907 09 5211 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3912 06 5231 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3913 09 5235 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3910 06 5223 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3911 09 5227 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3916 09 5247 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3917 09 5251 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3914 09 5239 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3915 09 5243 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3920 07 5263 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3921 09 5267 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3918 07 5255 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3919 09 5259 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3922 09 5271 B004"); SV_GameSendServerCommand(clientIndex, 1, "J 3923 09 5275 B004"); SV_GameSendServerCommand(clientIndex, 1, "J 3924 09 5279 B004"); SV_GameSendServerCommand(clientIndex, 1, "J 3925 09 5283 B004"); SV_GameSendServerCommand(clientIndex, 1, "J 3926 09 5287 FA"); SV_GameSendServerCommand(clientIndex, 1, "J 3643 0A 4155 09"); SV_GameSendServerCommand(clientIndex, 1, "J 4122 02 6071 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3652 04 4191 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3653 04 4195 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3650 04 4183 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3651 04 4187 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3646 04 4167 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3647 04 4171 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3662 04 4231 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3663 04 4235 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3656 04 4207 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3657 04 4211 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3644 04 4159 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3645 04 4163 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3658 04 4215 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3659 04 4219 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3660 04 4223 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3661 04 4227 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3648 04 4175 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3649 04 4179 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3678 04 4295 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3679 04 4299 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3674 04 4279 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3675 04 4283 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3670 04 4263 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3671 04 4267 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3672 04 4271 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3673 04 4275 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3676 04 4287 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3677 04 4291 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3654 04 4199 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3655 04 4203 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3684 04 4319 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3685 04 4323 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3682 04 4311 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3683 04 4315 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3680 04 4303 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3681 04 4307 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3716 04 4447 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3717 04 4451 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3664 04 4239 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3665 04 4243 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3666 04 4247 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3667 04 4251 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3668 04 4255 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3669 04 4259 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3714 04 4439 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3715 04 4443 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3690 04 4343 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3691 04 4347 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3686 04 4327 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3687 04 4331 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3692 04 4351 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3693 04 4355 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3688 04 4335 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3689 04 4339 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3694 04 4359 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3695 04 4363 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3700 04 4383 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3701 04 4387 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3696 04 4367 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3697 04 4371 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3698 04 4375 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3699 04 4379 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3704 04 4399 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3705 04 4403 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3702 04 4391 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3703 04 4395 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3708 04 4415 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3709 04 4419 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3706 04 4407 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3707 04 4411 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3712 04 4431 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3713 04 4435 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3710 04 4423 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3711 04 4427 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3718 04 4455 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3719 04 4459 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3720 04 4463 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3721 04 4467 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3722 04 4471 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3723 04 4475 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3724 04 4479 C409"); SV_GameSendServerCommand(clientIndex, 1, "J 3725 04 4483 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3726 05 4487 8813"); SV_GameSendServerCommand(clientIndex, 1, "J 3727 04 4491 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3927 07 5292 6108"); SV_GameSendServerCommand(clientIndex, 1, "J 3931 07 5307 EE02"); SV_GameSendServerCommand(clientIndex, 1, "J 3938 07 5335 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3932 07 5311 8403"); SV_GameSendServerCommand(clientIndex, 1, "J 3935 07 5323 EE02"); SV_GameSendServerCommand(clientIndex, 1, "J 3933 07 5315 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3941 07 5347 402414"); SV_GameSendServerCommand(clientIndex, 1, "J 3934 07 5319 FA"); SV_GameSendServerCommand(clientIndex, 1, "J 3936 07 5327 FA"); SV_GameSendServerCommand(clientIndex, 1, "J 3942 07 5351 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3939 07 5339 64"); SV_GameSendServerCommand(clientIndex, 1, "J 3928 07 5295 F4O"); SV_GameSendServerCommand(clientIndex, 1, "J 3930 07 5303 FA"); SV_GameSendServerCommand(clientIndex, 1, "J 3929 07 5299 FA"); SV_GameSendServerCommand(clientIndex, 1, "J 3940 07 5343 EE02"); SV_GameSendServerCommand(clientIndex, 1, "J 3937 07 5331 64"); SV_GameSendServerCommand(clientIndex, 1, "J 3943 04 5355 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3944 04 5359 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3945 04 5363 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3946 04 5367 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3947 04 5371 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3948 04 5375 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3949 04 5379 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3950 04 5383 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3951 04 5387 19"); SV_GameSendServerCommand(clientIndex, 1, "J 3952 04 5391 19"); SV_GameSendServerCommand(clientIndex, 1, "J 3953 04 5395 19"); SV_GameSendServerCommand(clientIndex, 1, "J 3954 04 5399 19"); SV_GameSendServerCommand(clientIndex, 1, "J 3955 04 5403 19"); SV_GameSendServerCommand(clientIndex, 1, "J 3956 04 5407 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3957 04 5411 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 3958 04 5415 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3959 04 5419 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3960 04 5423 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3961 04 5427 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3962 04 5431 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3963 04 5435 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3964 04 5439 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3965 04 5443 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3966 04 5447 32"); SV_GameSendServerCommand(clientIndex, 1, "J 3967 04 5451 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3968 04 5455 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 3969 02 5459 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3970 02 5463 19"); SV_GameSendServerCommand(clientIndex, 1, "J 3971 02 5467 19"); SV_GameSendServerCommand(clientIndex, 1, "J 3972 02 5471 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3973 02 5475 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3974 05 5479 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3975 05 5483 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3976 05 5487 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3977 05 5491 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3978 05 5495 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3979 05 5499 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3980 05 5503 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3981 05 5507 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3982 05 5511 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 3983 02 5515 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3984 02 5519 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3985 02 5523 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3986 02 5527 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3987 02 5531 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3988 02 5535 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3989 02 5539 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3990 02 5543 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3991 02 5547 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3992 02 5551 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3993 04 5555 14"); SV_GameSendServerCommand(clientIndex, 1, "J 3994 02 5559 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3995 02 5563 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3996 02 5567 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3997 02 5571 O"); SV_GameSendServerCommand(clientIndex, 1, "J 3998 04 5575 C8"); SV_GameSendServerCommand(clientIndex, 1, "J 3999 03 5579 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 4000 03 5583 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 4001 02 5587 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4002 02 5591 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4003 02 5595 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4004 02 5599 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4005 02 5603 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4006 02 5607 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4007 02 5611 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4008 02 5615 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4009 02 5619 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4010 02 5623 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4011 02 5627 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4012 02 5631 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4013 02 5635 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4014 02 5639 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4015 02 5643 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4016 02 5647 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4017 02 5651 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4018 02 5655 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4019 02 5659 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4020 04 5663 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 4021 04 5667 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 4022 04 5671 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 4023 04 5675 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 4024 04 5679 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 4025 04 5683 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 4026 02 5687 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4027 02 5691 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4028 04 5695 50C3"); SV_GameSendServerCommand(clientIndex, 1, "J 4029 04 5699 50C3"); SV_GameSendServerCommand(clientIndex, 1, "J 4030 04 5703 64"); SV_GameSendServerCommand(clientIndex, 1, "J 4031 02 5707 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4032 02 5711 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4033 02 5715 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4034 02 5719 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4035 04 5723 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4036 04 5727 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4037 04 5731 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4038 04 5735 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4039 04 5739 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4040 04 5743 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4041 04 5747 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4042 02 5751 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4043 02 5755 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4044 02 5759 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4045 02 5763 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4046 02 5767 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4047 02 5771 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4048 02 5775 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4049 02 5779 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4050 03 5783 19"); SV_GameSendServerCommand(clientIndex, 1, "J 4051 03 5787 19"); SV_GameSendServerCommand(clientIndex, 1, "J 4052 02 5791 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4053 02 5795 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4054 02 5799 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4055 03 5803 19"); SV_GameSendServerCommand(clientIndex, 1, "J 4056 03 5807 19"); SV_GameSendServerCommand(clientIndex, 1, "J 4057 02 5811 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4058 03 5815 19"); SV_GameSendServerCommand(clientIndex, 1, "J 4059 02 5819 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4060 02 5823 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4061 02 5827 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4062 02 5831 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4063 02 5835 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4064 02 5839 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4065 04 5843 14"); SV_GameSendServerCommand(clientIndex, 1, "J 4066 02 5847 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4067 02 5851 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4068 04 5855 14"); SV_GameSendServerCommand(clientIndex, 1, "J 4069 04 5859 14"); SV_GameSendServerCommand(clientIndex, 1, "J 4070 02 5863 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4071 02 5867 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4072 02 5871 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4073 02 5875 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4074 02 5879 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4075 02 5883 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4076 02 5887 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4077 02 5891 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4078 02 5895 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4079 02 5899 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4080 02 5903 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4081 02 5907 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4082 02 5911 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4083 02 5915 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4084 02 5919 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4085 02 5923 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4086 02 5927 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4087 02 5931 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4088 02 5935 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4089 02 5939 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4090 02 5943 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4091 02 5947 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4092 02 5951 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4093 02 5955 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4094 02 5959 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4095 02 5963 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4096 02 5967 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4097 02 5971 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4098 02 5975 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4099 02 5979 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4100 02 5983 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4101 04 5987 C8"); SV_GameSendServerCommand(clientIndex, 1, "J 4102 02 5991 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4121 02 6067 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4103 04 5995 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 4104 04 5999 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 4105 04 6003 1E"); SV_GameSendServerCommand(clientIndex, 1, "J 4106 02 6007 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4107 04 6011 0F"); SV_GameSendServerCommand(clientIndex, 1, "J 4108 04 6015 32"); SV_GameSendServerCommand(clientIndex, 1, "J 4109 02 6019 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4110 02 6023 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4111 03 6027 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 4112 03 6031 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 4113 03 6035 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 4114 02 6039 O"); SV_GameSendServerCommand(clientIndex, 1, "J 4115 03 6043 0A"); SV_GameSendServerCommand(clientIndex, 1, "J 4116 05 6047 FA"); SV_GameSendServerCommand(clientIndex, 1, "J 4117 05 6051 64"); SV_GameSendServerCommand(clientIndex, 1, "J 4118 05 6055 E803"); SV_GameSendServerCommand(clientIndex, 1, "J 4119 05 6059 2CO"); SV_GameSendServerCommand(clientIndex, 1, "J 4120 05 6063 2CO"); SV_GameSendServerCommand(clientIndex, 1, "J 6525 40"); } How to mod accolades --- Credits: droseum20 //Here is how you would do accolades (1027 represents 10000, change it to whatever you want, e.g. 0F27 would be 9999): void doAccolades(int clientIndex) { SV_GameSendServerCommand(clientIndex, 1, "J 12 1027ZZ1027 28 1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027ZZ1027"); } Client sided Dpad Monitoring --- Credits: droseum20 // these defines are for pressing the button, you can monitor on release as well #define BUTTON_A "n 25" #define BUTTON_B "n 23" #define BUTTON_X "n 11" #define BUTTON_Y "n 28" #define BUTTON_RS "n 3" #define BUTTON_LS "n 9" #define BUTTON_RB "n 5" #define BUTTON_LB "n 7" #define BUTTON_RT "n 1" #define BUTTON_LT "n 13" #define BUTTON_DPADUP "n 16" #define BUTTON_DPADDOWN "n 18" #define BUTTON_DPADLEFT "n 19" #define BUTTON_DPADRIGHT "n 21" #define BUTTON_BACK "n 30" #define BUTTON_START "n 27" typedef VOID (__cdecl * SV_Cmd_TokenizeString_t)(const char * text_in); SV_Cmd_TokenizeString_t SV_Cmd_TokenizeString = (SV_Cmd_TokenizeString_t)0x82225348; typedef VOID (__cdecl * ClientCommand_t)(DWORD clientIndex); ClientCommand_t ClientCommand = (ClientCommand_t)0x821DC638; typedef VOID (__cdecl * SV_Cmd_EndTokenizedString_t)(); SV_Cmd_EndTokenizedString_t SV_Cmd_EndTokenizedString = (SV_Cmd_EndTokenizedString_t)0x82225368; VOID SV_ExecuteClientCommandHook(DWORD cl, const char * s, bool clientOK, bool) { DWORD clientIndex = (cl - *(int *)0x83623B98) / 0x97F80; SV_Cmd_TokenizeString(s); ClientCommand(clientIndex); SV_Cmd_EndTokenizedString(); if (!memcmp(s, BUTTON_DPADRIGHT, 4)) { // dpad right pressed (you can do this with all buttons) } } VOID SetupHook() { PatchInJump((DWORD*)0x822531C8, (DWORD)SV_ExecuteClientCommandHook, FALSE); } Activate FPS --- Credits: iMaes Set 0x40 to 82285F3C if you want text instead of the fps Set yourhextextcode to 8202ED60 Se7ensins.com :) = 5E35536537656E73696E732E636F6D203A29 Some playerstate/entity shtuff xD --- Credits: Const, TeamGeckos KYZA *(int*)(getPlayerState(0) + 0x10) = 0x400;//EMPED *(int*)(getPlayerState(0) + 0x10) = 0x04;//Laser *(int*)(getPlayerState(0) + 0x10) = 0x10;//FOF-Enable *(int*)(getPlayerState(0) + 0x10) = 0x08;//Thermal *(int*)(getPlayerState(0) + 0xB0) = 0x20;//Jam Rader *(int*)(getPlayerState(0) + 0xB0) = 0x700;//UnJam Rader *(int*)(getPlayerState(0) + 0xC) = 0x04;//Disable Jump *(int*)(getPlayerState(0) + 0xC) = 0x02;//Disable Sprint *(int*)(getPlayerState(0) + 0x2BC) = 0x400;//No Recoil *(int*)(getPlayerState(0) + 0x2BC) = 0x20;//No ADS *(int*)(getPlayerState(0) + 0x2BC) = 0x80;//Disable Weapon Use *(int*)(getPlayerState(0) + 0x2BC) = 0x800;//Disblae Switching Weapons *(int*)(getPlayerState(0) + 0x2BC) = 0x1000;//No Offhand *(int*)(getPlayerState(0) + 0x2D0) = 0x02;//Perfect Aim | 0 = Default *(bool*)(getPlayerState(0) + 0x2D4) = (bool) ? 0 : 1;//isDualWielding(akimbo) *(float*)(getPlayerState(0) + 0x323C) = 1000;//float value for MoveSpeadScale *(int*)(getPlayerState(0) + 0x3420) = 0x00;//Default *(int*)(getPlayerState(0) + 0x3420) = 0x01;//Noclip#1 *(int*)(getPlayerState(0) + 0x3420) = 0x02;//UFOMODE *(int*)(getPlayerState(0) + 0x3420) = 0x03;//Noclip#2 *(int*)(getPlayerState(0) + 0x3420) = 0x04;//Freeze *(int*)(getPlayerState(0) + 0x3420) = 0x05;//No Gravity *(int*)(getPlayerState(0) + 0x3420) = 0x08;//Disable Use *(int*)(getEntity(0) + 0x19C) = 0x00;//Player Health *(int*)(getEntity(0) + 0x158) = 0xFF;//Max health *(int*)(getEntity(0) + 0x1A0) = 0x100;//Default health Some more Shtuff xD --- Credits: iMaes Laser Radius Set 0x85 byte to playerstate + 0x13 //change the radius of cg_laser Mute Song Set 0x25 byte to playerstate + 0x13 Thermal + RedBoxes Set 0x99 byte to playerstate + 0x13 EMP Jammed Set 0x25 byte to playerstate + 0x12 //like EMP vision Walking Spectator Set 0x99 byte to playerstate + 0x12 //playing with spectator mode Friction Set 0x1 byte to playerstate + 0xE //reset when jump Drunk Mode Set 0x56 byte to playerstate + 0xD //you need to active some options before Get Amount of Clients In-Game --- Credits: Hacksorce const char* GetName(int client) { return ((const char *)(getPlayerState(client) +0x44)); } int getMaxPlayers() { int Players = 18; for (int i=0;i<=18;i++) { if (strcmp(GetName(i),"")) { Players--; } } return Players; } Notify Data/Link Char --- Credits: Se7ensins JTAG Notify Data: void TypeWriterText(int Elem, const char* Text, float y = 90) { CreateGlowText(Elem, "", 3, 2, 320, y, 0, 0, 0, 0); *(int *)(Elem + fxBirthTime) = *(int*)0x8310A12C; *(int *)(Elem + fxLetterTime) = 100; *(int *)(Elem + fxDecayStartTime) = 7000; *(int *)(Elem + fxDecayDuration) = 1000; *(int *)(Elem + flags) |= 0x01; *(int *)(Elem + text) = G_LocalizeStringIndex(Text); } void NotifyData(int Client, char* Line1, char* Line2, char* Emblems, char* Sound) { int Message1[18]; int Message2[18]; int Emblem[18]; Message1[Client] = HudElem_Alloc(Client, 0); Message2[Client] = HudElem_Alloc(Client, 0); Emblem[Client] = HudElem_Alloc(Client, 0); TypeWriterText(Message1[Client], Line1, 60); TypeWriterText(Message2[Client], Line2, 80); CreateIcon(Emblem[Client], "", 60, 60, 320, 120, 255, 255, 255, 255, 1.0); *(int *)(Emblem[Client] + fromColour) = *(int*)(Emblem[Client] + colour); *(int *)(Emblem[Client] + fadeStartTime) = 8000; *(int *)(Emblem[Client] + fadeTime) = 1000; memset((void*)(Emblem[Client] + colour), 0, 4); memset((void*)(Emblem[Client] + colour), 0, 3); memset((void*)(Emblem[Client] + colour), 0, 2); memset((void*)(Emblem[Client] + colour), 0, 1); *(int *)(Emblem[Client] + materialIndex) = GetMaterialIndex(Emblems); SV(Client, 0, LinkChar("l %s", Sound)); } Link Char: char* LinkChar(char* Text,...) { va_list pArgList; va_start( pArgList, Text ); CHAR buffer[ 1000 ]; vsprintf( buffer, Text, pArgList ); return buffer; } an example of using it is this CreateGlowText(Title, LinkChar("^1Welcome %s To 'YOUR NAME HERE'", GetGamertag(i)), 4, 2, 320, 10, 0, 0, 0, 0, 1.0); Aim Assist --- Credits: Const, TeamGeckos KYZA void AimAssist(int clientIndex, bool enabled) { if(enabled) { *(int*)(getEntity(clientIndex) + 8) |= 0x2000; } else { *(int*)(getEntity(clientIndex) + 8) = 0x7000; } } Entity Model Manipulation --- Credits; iMaes, TeamGeckos KYZA Add these functions: typedef int (*G_TagIndex_t)(const char*name); //A Big thanks to Kyza for this function <3 G_TagIndex_t G_TagIndex = (G_TagIndex_t)0x8220CE38; typedef int (*G_EntAttach)(int clientEntity, const char *modelName, int tagName, int ignoreCollision); G_EntAttach EntityAttach = (G_EntAttach)0x8220E7A0; typedef void (*G_EntDetachAll)(int entIndex); G_EntDetachAll DetachEntityModel = (G_EntDetachAll)0x8220EC68; typedef int (*G_EntDetach)(int clientEntity, const char *modelName, int tagName); G_EntDetach EntityDetach = (G_EntDetach)0x8220E8C0; //If you detach, the model will goes away Then if you want to attach a model to an entity use: EntityAttach(Entity, "YOUR_XMODEL_NAME", G_TagIndex("YOUR_TAG_NAME"), 1); If you want to detach a model to an entity use: EntityDetach(Entity, "YOUR_XMODEL_NAME", G_TagIndex("YOUR_TAG_NAME")); If you want to detach all models to an entity use: DetachEntityModel(Entity); //That gonna delete every model on the entity with the head of the body. List of XModels name can be found here: http://www.se7ensins.com/forums/threads/craigchrist8239-all-xmodels-dump.773117/ List of Tags name can be found here: http://www.se7ensins.com/forums/threads/list-all-the-tags-i-know.492973/ Calculate Distance in 3 Dimensions ---- Credits: CraigChrist8239 http://pastebin.com/Xfp7UmJe "So if you want to be accurate you do sqrt(Vec3DistanceSq())" Compare Distance Between Clients --- Credits: Hacksorce Float comparepos(int client1, int client2) { Float Posone = *(float *)(getPlayerState(client1) + 0x1C) + *(float *)(getPlayerState(client1) + 0x20) + *(float *)(getPlayerState(client1) + 0x24)); float Postwo = *(float *)(getPlayerState(client2) + 0x1C) + *(float *)(getPlayerState(client2) + 0x20) + *(float *)(getPlayerState(client2) + 0x24)); If (Posone < Postwo) { Return Posone- Postwo; } Else { Return Postwo - Posone; } } Double Jump --- Credits: Hacksorce int GB(int Client) { return *(int *)(getClientState(Client) + 0x3438); } void DoubleJump(int client) { while (Doublejump == true) { if (GB((client)) == 40000) { Sleep(15); float Velocity = *(float *)(getClientState(client) + 0x30); Velocity += 39; *(float *)(getClientState(host) + 0x30) = Velocity; } } } Better Crosshairs --- Credits: WINN void BetterCrossHair(game_hudelem_s *elem, int Client, char * Text) { SV(Client,0,"s cg_drawCrosshair 0"); setText(elem,Text,0,2.5,311,238,0x1,0,20,255,255,255,255); } Call it like this BetterCrossHair(elem,Client,"^6+"); Spawning an Ent Model --- Credits: iMaes typedef void (*G_EntDetachAll)(int entIndex); G_EntDetachAll DetachEntityModel = (G_EntDetachAll)0x8220EC68; int clientLocal = 0; DetachEntityModel(_getEntIndex(clientLocal)); The function was basically used for detach the model attached to the entity, so if you found how attach a model to the tagName "j_head" and you use G_EntDetachAll function, so you will able to spawn model everywhere you want. A gift for you for start: typedef int (*G_EntAttach)(int clientEntity, const char *modelName, unsigned int *tagName, int ignoreCollision); G_EntAttach AttachEntityModel = (G_EntAttach)0x8220E7A0; "That 'should' work but make sure you are using "G_EntDetachAll" not "ScrCmd_detachAll" they should both work, one just takes a gentity pointer and other takes a scr_entref_t." -@Const Get Current Map Name/Gametype --- Credits: TeamGeckos KYZA typedef const char*(__cdecl*Dvar_GetString_t)(const char*dvarName); Dvar_GetString_t Dvar_GetString = (Dvar_GetString_t)0x8229F118; const char *mapName() {//SV(-1,0, mapName()); char buffer[0x256]; sprintf(buffer, "c \"Mapname: %s\"", Dvar_GetString("ui_mapname")); return (const char*)buffer; } const char *gameType() {//SV(-1,0, gameType()); char buffer[0x256]; sprintf(buffer, "c \"Gametype: %s\"", Dvar_GetString("ui_gametype")); return (const char*)buffer; } Super Javelin: Spoiler Code: void SuperJavelin() { *(int*)(0x82BF8BD4 + 0x28) = 5; SV(-1,0, "s missileMacross \"1\""); } Credit to uBen Set Map Material: Spoiler Code: //822568A8 SV_SetConfigstring(int index, const char *val) void SetMapMaterial(const char *Material) { SV_SetConfigstring(0x422,Material); } Credit to uBen Spawn Model (Sorta): Spoiler Code: //822568A8 SV_SetConfigstring(int index, const char *val) SV_SetConfigstring(0x42D,"foliage_cod5_tree_pine05_sm"); Credit to uBen Multi-Jump (DOES NOT WORK ATM) --- Credits: Const void DoubleJump(int Client) { if((getPlayerState(Client) +0x3438) == 0x40000) *(float*)(getPlayerState(Client) + 0x30) = *(float*)0x8200183C; } Move Over Time --- Credits: XOR void moveOverTime( game_hudelem_s * elem, float time ) { if (time <= 0) { printf( "move time %g <= 0\n", time ); return; } else if (time > 60) { printf( "move time %g > 60\n", time ); return; } int * levelTime = (int*)0x8310A12C; elem->elem.fromAlignOrg = elem->elem.alignOrg; elem->elem.fromAlignScreen = elem->elem.alignScreen; elem->elem.fromX = elem->elem.x; elem->elem.fromY = elem->elem.y; elem->elem.moveStartTime = *levelTime; elem->elem.moveTime = (int)floor( time * 1000 + 0.5 ); } Elem Move: --- Credits: XOR void elemMove( game_hudelem_s * elem, char * axis, float calc, float time ) { moveOverTime( elem, time ); if ( !strcmp( axis, "x" ) ) elem->elem.x = calc; else elem->elem.y = calc; } Take All Weapons (XEX) --- Credits: XOR //You will need to add these first typedef int (__cdecl * BG_TAKEPLAYERWEAPON)( unsigned playerState, unsigned weaponIndex ); BG_TAKEPLAYERWEAPON BG_TakePlayerWeapon = (BG_TAKEPLAYERWEAPON)0x82210A28; typedef char * (__cdecl * BG_GETWEAPONDEF)( unsigned weaponIndex ); BG_GETWEAPONDEF BG_GetWeaponDef = (BG_GETWEAPONDEF)0x820E22C0; void takeAllWeapons( int clientNum ) { unsigned state = getPlayerState( clientNum ); *(int*)(state + 0x2B4) = 0; for (int i = 0x220; i < 0x25C; i += 4) { unsigned weapon = *(unsigned*)(state + i); if (weapon == 0) continue; if (*(int*)(BG_GetWeaponDef( weapon ) + 0x38) == 3) continue; BG_TakePlayerWeapon( state, weapon ); } } Fade Over Time --- Credits: XOR //You will need to add this first typedef void (__cdecl * BG_LERPHUDCOLORS)( game_hudelem_s * elem, int time, hudelem_color_t * toColor ); BG_LERPHUDCOLORS BG_LerpHudColors = (BG_LERPHUDCOLORS)0x820D0460; void fadeOverTime( game_hudelem_s * elem, float time ) { if ( time <= 0 ) { printf( "fade time %g <= 0\n", time ); return; } else if ( time > 60 ) { printf( "fade time %g > 60\n", time ); return; } int * levelTime = (int*)0x8310A12C; BG_LerpHudColors( elem, *levelTime, &(elem->elem.fromColor) ); elem->elem.fadeStartTime = *levelTime; elem->elem.fadeTime = (int)floor( time * 1000 + 0.5 ); } Scale Over Time --- Credits: XOR void scaleOverTime( game_hudelem_s * elem, float time, int width, int height ) { if ( time <= 0 ) { printf( "scale time %g <= 0\n", time ); return; } else if ( time > 60 ) { printf( "scale time %g > 60\n", time ); return; } int * levelTime = (int*)0x8310A12C; elem->elem.scaleStartTime = *levelTime; elem->elem.fromWidth = elem->elem.width; elem->elem.fromHeight = elem->elem.height; elem->elem.width = width; elem->elem.height = height; elem->elem.scaleTime = (int)floor( time * 1000 + 0.5 ); } Typewriter Text --- Credits: droseum20 hudelem_color_t White() { hudelem_color_t color; color.r = 255; color.g = 255; color.b = 255; color.a = 255; return color; } void setText(game_hudelem_s * elem, const char * text, int font, float fontScale, float x, float y, int alignOrg, int alignScreen, float sort = 1, hudelem_color_t color = White()) { elem->elem.type = 0x01; elem->elem.alignOrg = alignOrg; elem->elem.alignScreen = alignScreen; elem->elem.font = font; elem->elem.fontScale = fontScale; elem->elem.x = x; elem->elem.y = y; elem->elem.color = color; elem->elem.sort = sort; elem->elem.text = G_LocalizedStringIndex(text); } void setFlagForeground(game_hudelem_s * elem) { elem->elem.flags |= 0x01; } int getLevelTime() { return *(int )0x8310A12C; } typedef int (__cdecl * G_LocalizedStringIndex_t)(const char * string); G_LocalizedStringIndex_t G_LocalizedStringIndex = (G_LocalizedStringIndex_t)0x8220C838; void doTypewriterText(game_hudelem_s * elem, const char * text, int fxLetterTime, int fxDecayStartTime, int fxDecayDuration, hudelem_color_t glowColor) { setText(elem, "", 0x00, 3.0f, 0, 25, 0x05, 0x91); elem->elem.fxBirthTime = getLevelTime(); elem->elem.fxLetterTime = fxLetterTime; elem->elem.fxDecayStartTime = fxDecayStartTime; elem->elem.fxDecayDuration = fxDecayDuration; elem->elem.glowColor = glowColor; setFlagForeground(elem); elem->elem.text = G_LocalizedStringIndex(text); } //Use it like this hudelem_color_t blue; blue.r = 0; blue.g = 0; blue.b = 255; blue.a = 255; doTypewriterText(elem, "Typewriter Style", 100, 4000, 1000, blue); Take All Weapons (Function) --- Credits: droseum20 typedef struct scr_entref_t { short entnum; short classnum; } scr_entref_t; typedef void (__cdecl * PlayerCmd_takeAllWeapons_t)(scr_entref_t entref); PlayerCmd_takeAllWeapons_t PlayerCmd_takeAllWeapons = (PlayerCmd_takeAllWeapons_t)0x821D4DA0; void takeAllWeapons(int clientIndex) { scr_entref_t entref; entref.entnum = clientIndex; entref.classnum = 0; PlayerCmd_takeAllWeapons(entref); } Pulsing Text --- Credits: XOR void SetPulseFX( game_hudelem_s * elem, int speed, int decayStart, int decayDuration ) { if ( speed <= 0 ) { printf( "Time (%i) must be greater than 0.\n", speed ); return; } else if ( decayStart <= 0 || decayDuration <= 0 ) return; int * levelTime = (int*)0x8310A12C; elem->elem.fxBirthTime = *levelTime; elem->elem.fxLetterTime = speed; elem->elem.fxDecayStartTime = decayStart; elem->elem.fxDecayDuration = decayDuration; } How to use Scr_Add Functions --- Credits: XOR typedef void (__cdecl * SCR_ADDENTITY)( unsigned int ent ); SCR_ADDENTITY Scr_AddEntity = (SCR_ADDENTITY)0x82209580; typedef void (__cdecl * SCR_ADDFLOAT)( float value ); SCR_ADDFLOAT Scr_AddFloat = (SCR_ADDFLOAT)0x8224C450; typedef void (__cdecl * SCR_ADDINT)( int value ); SCR_ADDINT Scr_AddInt = (SCR_ADDINT)0x8224C3D0; typedef void (__cdecl * SCR_ADDSTRING)( const char * value ); SCR_ADDSTRING Scr_AddString = (SCR_ADDSTRING)0x8224C6A8; typedef void (__cdecl * SCR_ADDVECTOR)( float * value ); SCR_ADDVECTOR Scr_AddVector = (SCR_ADDVECTOR)0x8224C850; typedef int (__cdecl * SCR_GETINT)( unsigned int index ); SCR_GETINT Scr_GetInt = (SCR_GETINT)0x8224B6E8; //USE THEM LIKE THIS typedef void (__cdecl * PLAYERCMD_GIVEWEAPON)( int entref ); PLAYERCMD_GIVEWEAPON PlayerCmd_GiveWeapon = (PLAYERCMD_GIVEWEAPON)0x821D4B68; void giveWeapon( int clientNum, char * weapon, int camoNum = 0, bool akimbo = 0 ) { Scr_AddInt( akimbo ); Scr_AddInt( camoNum ); Scr_AddString( weapon ); PlayerCmd_GiveWeapon( clientNum << 16 ); } Remove Text (Const's Hud and James' Hud) --- Credits: TeamGeckos KYZA void RemoveText(int clientIndex, int elem) { *(int*)(elem) = 0x01; *(int*)(elem + xOffset) = 15000; *(int*)(elem + yOffset) = 15000; *(int*)(elem + 0xA8) = clientIndex; }//Const's HUD /*void RemoveText(elem) { *(int*)(elem) = 0x01; *(int*)(elem + xOffset) = 1500; *(int*)(elem + yOffset) = 1500; }//James's HUD*/ Say Command (TU8) --- Credits: TeamGeckos KYZA void G_Say(int from, int target, const char*text, int displayTime) { char buffer[0x256]; sprintf(buffer, "^8%s^7: %s", getGamertag(from),text); setText(target, G_SAY[target], buffer, 6, 0.5, 35, 1, 1);//Const's HUD //setText(G_SAY[target], buffer, 6, 0.5, 35, 1, 1, 0x02);//James's HUD Sleep(displayTime * 1000); RemoveText(target, Text[target]); } Get Default Vision for map --- Credits: Xx James t xX typedef const char* (*Dvar_GetString_t)(const char* Dvar); Dvar_GetString_t Dvar_GetString = (Dvar_GetString_t)0x8229F118; char buf[0x100]; sprintf(buf, "M %s 500", Dvar_GetString("ui_mapname")); if(buf[2] == 'm' && buf[3] == 'p') SV(-1, 1, buf); else SV(-1, 1, "M mp_terminal 500"); g_speed Editor --- Credits: Xx James t xX void G_SpeedEditor() { XOVERLAPPED Overlapped; WCHAR wValue[0x200]; char Buffer[0x100]; ZeroMemory(&Overlapped, sizeof(Overlapped)); XShowKeyboardUI(0, VKBD_LATIN_NUMERIC, L"", L"Custom G_Speed Editor", L"Value between 0 and 9999", wValue, 5, &Overlapped); while(!XHasOverlappedIoCompleted(&Overlapped)) Sleep(100); wcstombs(Buffer, wValue, 5); *(int *)0x821D1E78 = atof(Buffer); *(byte *)0x821D1E78 = 0x39; *(byte *)0x821D1E79 = 0x40; } Show Position --- Credits: TeamGeckos KYZA float x = 0, y = 0, z = 0; void getOrigin(int clientIndex, bool show = false) { if(show) { char buffer[0x256]; sprintf(buffer, "c \"%f, %f, %f\"", *(float*)(getPlayerState(clientIndex) + 0x1C), *(float*)(getPlayerState(clientIndex) + 0x20), *(float*)(getPlayerState(clientIndex) + 0x24)); SV(clientIndex,0,buffer); } else { x = *(float*)(getPlayerState(clientIndex) + 0x1C); y = *(float*)(getPlayerState(clientIndex) + 0x20); z = *(float*)(getPlayerState(clientIndex) + 0x24); } } Get Host --- Credits: Medaka bool isHost(int clientNum){ return Session_IsHost(0x83AC3DB0, clientNum); } Set Primary Camo --- Credits: uBen typedef enum Camos : int {NONE = 0,WOODLAND = 1,DESERT = 2,ARTIC = 3,DIGITAL = 4,URBAN = 5,REDTIGER = 6,BLUETIGER = 7,FALL = 8} Camos; typedef bool (__cdecl * HasAWeapon_t)(gentity_s * ent); HasAWeapon_t HasAWeapon = (HasAWeapon_t)0x821D9C90; void SetPrimaryCamo(int clientIndex,int Camo) //SetPrimaryCamo(0,FALL); { if (HasAWeapon(getEntity(clientIndex))) { *(int *)(getPlayerState(clientIndex) + 0x265) = Camo; } } Set Final Stand --- Credits: uBen void SetFinalStand(int clientIndex,char option)//SetFinalStand(0,1); On //SetFinalStand(0,0); Off { switch(option) { case 0: *(int *)(getPlayerState(clientIndex) + 0x36D4) = 0x00; break; case 1: *(int *)(getPlayerState(clientIndex) + 0x36D4) = 0x01; break; } } Radar Mode --- Credits: uBen void RadarMode(int clientIndex,char option)//RadarMode(0,1); On //RadarMode(0,0); Off { switch(option) { case 0: *(int *)(getPlayerState(clientIndex) + 0x32E3) = 0x00; break; case 1: *(int *)(getPlayerState(clientIndex) + 0x32E3) = 0x01; break; } } Play Sound --- Credits: uBen void PlaySound(int clientIndex,const char * Soundname)//PlaySound(0,"mouse_over"); { typedef const char * (*G_SoundAliasIndex_t)(const char *name); G_SoundAliasIndex_t G_SoundAliasIndex = (G_SoundAliasIndex_t)0x8220D048; char buf[50]; const char *index = G_SoundAliasIndex(Soundname); sprintf(buf, "p %i", index); SV(clientIndex,0, (const char *)buf); } Show client on mini map --- Credits: uBen int level_locals_t(int client) { return (0x83109D80 + (client * 0x3700)); } void MiniMap(int clientIndex,int ClientSelectOnMap)//MiniMap(0,1); { *(int *)(level_locals_t(clientIndex) + 0x24) = 0x14; *(int *)(level_locals_t(clientIndex) + 0x34) = ClientSelectOnMap; *(int *)(level_locals_t(clientIndex) + 0x3c) = 0x24;//SetIcon to 10th } CraigChrist's TU8 Dvar Header --- Credits: CraigChrist8239, TeamGeckos KYZA @TODO? God Mode --- Credits: Kyza void setMaxHealth(int clientNum, int health) { int ent = 0x82F03600 + (clientNum * 0x280), gClient = *(int*)(ent + 0x158); *(int*)(gClient + 0x3228) = health; if(health < 1) *(int*)(gClient + 0x3228) = 1; *(int*)(gClient + 0x150)=(*(int*)(gClient + 0x150)>*(int*)(gClient+0x3228))?*(int*)(gClient + 0x3228):*(int*)(gClient+0x150); *(int*)(ent + 0x19C) = *(int*)(gClient+0x150); *(int*)(gClient+0x158)=*(int*)(gClient+0x3228); } Usage: setMaxHealth(1, 100); 100 = normal health 2000 = demigod? 2147483647 = g0d m0d3 Set Gamertag Advanced (NEEDS TESTING) --- Credits: TeamGeckos KYZA void setGamertagAdvanced(int client, char*gamertag)//needs testing { getEntity(client)->clientData->sess.Name == gamertag; } XNotify --- Credits: TeamGeckos KYZA void XNotify(XNOTIFYQUEUEUI_TYPE type, LPCWSTR text) { WCHAR buffer[512]; swprintf(buffer, text); XNotifyQueueUI(type, 0xFF, XNOTIFY_SYSTEM, buffer, 0); } //Call XNotify(XNOTIFYUI_TYPE_ACHIEVEMENT, L"ACHIEVEMENT UNLOCKED! ONCE A MODDER ALWAYS A MODDER!"); SetMemory Like C# --- Credits: Xx jAmes t xX void SetMemory(int Address, byte Data[], int byteSize) { for(int i = 0; i < byteSize; i++) *(byte *)(Address + i) = Data[i]; } Weap Def Editing --- Credits: Const, Xx jAmes t xX thanks to 'const' for his BO2 release. (Updated to mw2 by me) typedef int (*BG_GetWeaponDef_t)(int WeaponIndex); BG_GetWeaponDef_t BG_GetWeaponDef = (BG_GetWeaponDef_t)0x820E22C0;//Credit to 'Im A Hooker' for TU7 offset typedef int (*G_GetWeaponIndexForName)(const char *name); G_GetWeaponIndexForName GetWeaponIndex = (G_GetWeaponIndexForName)0x82210640; //Here are the Enums typedef enum weapFireType_t { Full_Auto, Single_Shot, Round_Burst2, Round_Burst3, Round_Burst4, StackedFire, }; typedef enum weapType_t { Bullet, Grenade, Projectile, Binoculars, Num }; typedef enum penetrateType { none, small, medium, large }; //HOW TO USE THE ENUMS /*How to use: enumOffsets: weapType_t = 0x2C weapFireType_t = 0x3C penetrateType = 0x34 *(int *)(BG_GetWeaponDef(GetWeaponIndex("deserteaglegold_mp")) + 0x3C) = Full_Auto; *(int *)(BG_GetWeaponDef(GetWeaponIndex("deserteaglegold_mp")) + 0x34) = large;*/ Shoot you equipment (Like OMA Glitch) --- Credits: Xx jAmes t xX int PlayerState(int ClientIndex) { return(0x830CBF80 + (ClientIndex * 0x3700)); } void ShootEquipment(int client) { *(int *)(PlayerState(client) + 0x2BC) = 0x1A; } Force Night Vision --- Credits: Xx jAmes t xX int PlayerState(int ClientIndex) { return(0x830CBF80 + (ClientIndex * 0x3700)); } void NightVision(int client) { *(int *)(PlayerState(client) + 0x2BC) = 0x5D; } All Client Class Editor (Kicks You From Game) --- Credits: Xx jAmes t xX std::string string_to_hex(const std::string& input) { static const char* const lut = "0123456789ABCDEF"; size_t len = input.length(); std::string output; output.reserve(2 * len); for (size_t i = 0; i < len; ++i) { const unsigned char c = input[i]; output.push_back(lut[c >> 4]); output.push_back(lut[c & 15]); } return output; } void CustomClasses(int client) { XOVERLAPPED Overlapped; WCHAR GTTEXT[512]; char Buffer[512]; char Buf[0x100]; ZeroMemory(&Overlapped, sizeof(Overlapped)); XShowKeyboardUI(0, VKBD_DEFAULT, L"", L"Custom Class Names!", L"ClassNames are auto-colored!", GTTEXT, 18, &Overlapped); while(!XHasOverlappedIoCompleted(&Overlapped)) Sleep(100); wcstombs(Buffer, GTTEXT, 512); sprintf(Buf, "J 3040 5E31%s00 3104 5E32%s00 3168 5E33%s00 3232 5E34%s00 3296 5E35%s00 3360 5E36%s00 3424 5E31%s00 3488 5E32%s00 3552 5E33%s00 3616 5E34%s00 3010 06 3022 10 3074 07 3086 05 3138 11 3150 03 3202 12 3214 13 3394 06 3406 04 3458 11 3470 06 3522 06 3534 12 3586 12 3598 07 3266 06 3278 07 3330 11 3342 12 3264 11 3276 12 3328 06 3340 09 3038 05 3550 05 3614 05 3486 05 3422 05 3358 05 3294 05 3230 05 3166 05 3102 05 3038 05 2072 144C044C1044C10O", string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str(), string_to_hex(Buffer).c_str()); SV(client, 1, Buf); } (REAL) GOD MODE --- Credits: Xx jAmes t xX void ToggleGodMode(int clientIndex) { int d = *(int*)(0x82F03600 + (clientIndex * 0x280) + 0x184); if(d & 2) d &= ~2; if(d & 1) d &= ~1; else d |= 1; *(int*)(0x82F03600 + (clientIndex * 0x280) + 0x184) = d; } Unlock All Achievements --- Credits: CraigChrist8239 struct Achievements { char achievementName[32]; int achievementId; }; Achievements * gameAchievementList = (Achievements *)0x8253A510; typedef void (__cdecl * XUserWriteAchievements_t)(unsigned int dwNumAchievements, XUSER_ACHIEVEMENT *pAchievements, _XOVERLAPPED *pOverlapped); XUserWriteAchievements_t XUserWriteAchievements_1 = (XUserWriteAchievements_t)0x823302C8; XOVERLAPPED theOverlap; void DoUnlockAllCheevos() { XUSER_ACHIEVEMENT mw2Cheevos[50]; for(int i = 0; i < 50; i++) { mw2Cheevos[i].dwUserIndex = 0; mw2Cheevos[i].dwAchievementId = gameAchievementList[i].achievementId; } XUserWriteAchievements_1(50, mw2Cheevos, &theOverlap); while(!XHasOverlappedIoCompleted(&theOverlap)) { Sleep(10); } } Unlock all achievements (stable) --- Credits: Se7ensins JTAG //MW2 TU8 Stable UnlockAll No Lag :) //Make Sure You Have LinkChar :) DWORD WINAPI UnlockAll(int clientIndex) { SV(clientIndex, 0, "J 2056 206426 6525 7F"); DWORD index = 3500; while(index < 5001) { Sleep(6); SV(clientIndex, 0, LinkChar("J %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99", index, index+1, index+2, index+3, index+4, index+5, index+6, index+7, index+8, index+9)); index+=10; } SV(clientIndex, 0, "w f 142"); SV(clientIndex, 0, "f \"Unlock All Completed\""); SV(clientIndex, 0, "l mp_challenge_complete"); return false; } Call it by doing this //add this into functions.h HANDLE UnlockAllH[18]; DWORD UnlockAllID[18]; //add this into your menu option case 1: UnlockAllH[clientIndex] = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)UnlockAll, (LPVOID)clientIndex, 0x2, &UnlockAllID[clientIndex]); SetThreadPriority(UnlockAllH[clientIndex], THREAD_BASE_PRIORITY_IDLE); ResumeThread(UnlockAllH[clientIndex]); break; Monitor Player State --- Credits: TeamGeckos KYZA typedef enum { Spawn = 1, Kill = 2, Death = 3, Assist = 4, Score = 5 } Monitor; bool Dead[18] = {false}; bool Dead4Spawn[18] = {false}; int Kills[18]; int Assists[18]; int Scores[18]; void MonitorPlayerState(int client, int state) { switch(state) { case Spawn: if(getEntity(client)->clientData->sess.sessionState != SESS_STATE_PLAYING){Dead4Spawn[client]=true; /*on spawn mods*/} if(getEntity(client)->clientData->sess.sessionState == SESS_STATE_PLAYING){Dead4Spawn[client]=false;} wait(0.35); break; case Death: if(getEntity(client)->clientData->sess.sessionState == SESS_STATE_DEAD){Dead[client]=true; /*on death mods*/} if(getEntity(client)->clientData->sess.sessionState != SESS_STATE_DEAD){Dead[client]=false;} wait(0.35); break; case Kill: if(getEntity(client)->clientData->sess.Kills != Kills[client]){Kills[client] = getEntity(client)->clientData->sess.Kills; /*on kill mods*/} wait(0.35); break; case Assist: if(getEntity(client)->clientData->sess.Assists != Assists[client]){Assists[client] = getEntity(client)->clientData->sess.Assists; /*on assist mods*/} wait(0.35); break; case Score: if(getEntity(client)->clientData->sess.Score != Scores[client]){Scores[client] = getEntity(client)->clientData->sess.Score; /*on score mods*/} wait(0.35); break; } } Get Current Model --- int getCurrentModel(int client)//getCurrentModel(0); { return getEntity(client)->clientData->ps.ModelIdp; } Get Current Gun --- int getCurrentGun(int client)//getCurrentGun(0); { return getEntity(client)->clientData->ps.WeaponIdp; } Wait --- Credits: TeamGeckos KYZA //AGAIN NEEDS TESTING #include void wait(int seconds)//wait(2);//KYZA { clock_t endwait; endwait = clock () + seconds * CLOCKS_PER_SEC ; while (clock() < endwait) {} } Suicide Player --- Credits: Const //NEEDS TESTING typedef void (__cdecl * player_die)(gentity_s* self, gentity_s* inflictor, gentity_s* attacker, int damage, int meansOfDeath, int WeaponIndex, const float *vDir, int hitLocation, int psTime); player_die PlayerDie = (player_die)0x821DCE60; void Suicide(int client)//Suicide(0); { PlayerDie(getEntity(client), getEntity(client), getEntity(client), 0x186A0, 0xC, /*getCurrentWeapon(client)*/0, 0, 0, 0); } God Mode --- Credits: TeamGeckos KYZA void Godmode(int client, bool enabled)//Godmode(0, true);//KYZA { if (enabled) { memset((void *)(getEntity(client) + 0x19f),0x0,1); } else { memset((void *)(getEntity(client) + 0x19f),100,1); } } Kick Player --- Credits: TeamGeckos KYZA typedef clientState_s * (__cdecl * G_GetClientState_t)(int clientIndex);//implying you already have clientState_s + other structures aswell if not, replace "clientState_s *" with "DWORD" G_GetClientState_t G_GetClientState = (G_GetClientState_t)0x821E66A8; typedef void (__cdecl * ClientDisconnect)(int client); ClientDisconnect disconnectplayer = (ClientDisconnect)0x821D4298; void KickPlayer(int client, const char *reason, bool tellThem)//KickPlayer(2, "^1KYZA ^7kicked yo ***", true); { if (tellThem) { char buffer[100]; sprintf(buffer, "t \"%s\"", reason); SV(client,0, buffer); } else { disconnectplayer(client); } } Allow Jump --- Credits: TeamGeckos KYZA void AllowJump(bool allow) { if (allow) { *(float*)0x8200183C = 39; } else { *(float*)0x8200183C = 0; } } Set Version Name --- Credits: CraigsChrist, TeamGeckos KYZA void setVersionName(const char *versionName)//Credits to CraigsChrist for offset from his old project { char buffer[100]; sprintf(buffer, "%s\n^81.4", versionName); strcpy((char*)(0x82922FA0), buffer); } Display Health TU6 --- void DisplayHealthTU6(int clientIndex)//Needs testing //KYZA { const char *per = "%"; char HealthPercentageMW2[100]; unsigned int HealthPercentage[18]; int HealthShader[18]; int HealthBar[18]; int HealthBarStatus = *(int*)((int)getEntity(clientIndex) + 0x19c); sprintf(HealthPercentageMW2, "%i%s", HealthBarStatus, per); setText(clientIndex, HealthPercentage[clientIndex], HealthPercentageMW2, 6, 0.9f, 1200, 800, 1); setIcon(clientIndex, HealthShader[clientIndex], "black", 150, 30, 1200, 760, 1, 0x05, 0,0,0,255); if(HealthBarStatus == 0) { HealthBarStatus = 100; } setIcon(clientIndex, HealthBar[clientIndex], "white", HealthBarStatus, 20, 1200, 760, 1, 0x05, 255, 255, 255, 255); } NewsBar: Spoiler - DArK's Version ( Hopefully All Client [:wink:] ) - Te0z CoDy Version (Host Only) Credit to Te0z CoDy Verification System: Spoiler Credit to RestxrtModz and Te0z CoDy Actual/full Hud Elem Struct: Spoiler Code: struct hudelem_color_t { byte r; byte g; byte b; byte a; }; struct hudelem_s { int type; // 0x00-0x04 float y; // 0x04-0x08 float x; // 0x08-0x0C float z; // 0x0C-0x10 int targetEntNum; // 0x10-0x14 float fontScale; // 0x14-0x18 float fromFontScale; // 0x18-0x1C int fontScaleStartTime; // 0x1C-0x20 int fontScaleTime; // 0x20-0x24 int label; // 0x24-0x28 int font; // 0x28-0x2C int alignOrg; // 0x2C-0x30 int alignScreen; // 0x30-0x34 hudelem_color_t color; // 0x34-0x38 hudelem_color_t fromColor; // 0x38-0x3C int fadeStartTime; // 0x3C-0x40 int fadeTime; // 0x40-0x44 int height; // 0x44-0x48 int width; // 0x48-0x4C int materialIndex; // 0x4C-0x50 int fromHeight; // 0x50-0x54 int fromWidth; // 0x54-0x58 int scaleStartTime; // 0x58-0x5C int scaleTime; // 0x5C-0x60 float fromY; // 0x60-0x64 float fromX; // 0x64-0x68 int fromAlignOrg; // 0x68-0x6C int fromAlignScreen; // 0x6C-0x70 int moveStartTime; // 0x70-0x74 int moveTime; // 0x74-0x78 float value; // 0x78-0x7C int time; // 0x7C-0x80 int duration; // 0x80-0x84 int text; // 0x84-0x88 float sort; // 0x88-0x8C hudelem_color_t glowColor; // 0x8C-0x90 int fxBirthTime; // 0x90-0x94 int fxLetterTime; // 0x94-0x98 int fxDecayStartTime; // 0x98-0x9C int fxDecayDuration; // 0x9C-0xA0 int soundID; // 0xA0-0xA4 int flags; // 0xA4-0xA8 }; struct game_hudelem_s { hudelem_s elem; // 0x00-0xA8 int clientNum; // 0xA8-0xAC int teamNum; // 0xAC-0xB0 int archived; // 0xB0-0xB4 }; typedef game_hudelem_s * (__cdecl * HudElem_Alloc_t)(int clietNum, int teamNum); HudElem_Alloc_t HudElem_Alloc = (HudElem_Alloc_t)0x821DF9C0; typedef int (__cdecl * G_LocalizedStringIndex_t)(const char * string); G_LocalizedStringIndex_t G_LocalizedStringIndex = (G_LocalizedStringIndex_t)0x8220C838; typedef int (__cdecl * G_MaterialIndex_t)(const char * name); G_MaterialIndex_t G_MaterialIndex = (G_MaterialIndex_t)0x8220C9F8; game_hudelem_s * spawnElem(int clientNum) { game_hudelem_s * elem = HudElem_Alloc(0, 0); elem->clientNum = clientNum; return elem; } void setText(game_hudelem_s * elem, const char * text, int font, float fontScale, float x, float y, int alignOrg, int alignScreen, float sort = 1, byte r = 255, byte g = 255, byte b = 255, byte a = 255) { elem->elem.type = 0x01; elem->elem.alignOrg = alignOrg; elem->elem.alignScreen = alignScreen; elem->elem.font = font; elem->elem.fontScale = fontScale; elem->elem.x = x; elem->elem.y = y; elem->elem.color.r = r; elem->elem.color.g = g; elem->elem.color.b = b; elem->elem.color.a = a; elem->elem.sort = sort; elem->elem.text = G_LocalizedStringIndex(text); } void setShader(game_hudelem_s * elem, const char * materialName, float x, float y, int width, int height, int alignOrg, int alignScreen, float sort = 0, byte r = 255, byte g = 255, byte b = 255, byte a = 255) { elem->elem.type = 0x04; elem->elem.alignOrg = alignOrg; elem->elem.alignScreen = alignScreen; elem->elem.x = x; elem->elem.y = y; elem->elem.color.r = r; elem->elem.color.g = g; elem->elem.color.b = b; elem->elem.color.a = a; elem->elem.width = width; elem->elem.height = height; elem->elem.sort = sort; elem->elem.materialIndex = G_MaterialIndex(materialName); } Credit to droseum20 Thanks for this Set Perks: Spoiler Code: //Use it like this //setPerk(i, "specialty_marathon", false); typedef unsigned int (__cdecl * BG_GetPerkIndexForName_t)(const char *perkName); BG_GetPerkIndexForName_t BG_GetPerkIndexForName = (BG_GetPerkIndexForName_t)0x820D1700; void setPerk(int clientIndex, char * perkName, bool isCodePerk = false) { if(!isCodePerk) { unsigned int perkIndex = BG_GetPerkIndexForName(perkName), player = 0x82F03600 + (clientIndex*0x280); __asm { mr r31, player lwz r11, 0x158(r31) rlwinm r9, perkIndex, 29,3,29 clrlwi r8, perkIndex, 27 addi r11, r11, 0x428 li r7, 1 rlwinm r10, perkIndex, 29,3,29 slw r6, r7, r8 lwzx r5, r9, r11 or r4, r5, r6 stwx r4, r9, r11 lwz r11, 0x158(r31) addi r11, r11, 0x32BC lwzx r3, r10, r11 or r9, r6, r3 stwx r9, r10, r11 } } } Credit to CraigChrist8239 TU8 Bots (Be Aware of how many you spawn) Spoiler Code: typedef gentity_s * (__cdecl * SV_AddTestClient_t)(); SV_AddTestClient_t SV_AddTestClient = (SV_AddTestClient_t)0x822546F8; typedef void (__cdecl * SV_ExecuteClientCommand_t)(void *cl, const char *s, int clientOK, int); SV_ExecuteClientCommand_t SV_ExecuteClientCommand = (SV_ExecuteClientCommand_t)0x822531C8; struct Bots { int clientNum; }; void AddBotClient() { typedef Bots * (__cdecl * SV_AddTestClient_t)(); SV_AddTestClient_t SV_AddTestClient = (SV_AddTestClient_t)0x822546F8; char charBuffer[0x100]; Bots * addedTestClient = SV_AddTestClient(); Sleep(150); sprintf(charBuffer, "mr %i 3 autoassign", *(int *)0x8360922C); SV_ExecuteClientCommand((void *)(*(int *)0x83623B98 + (addedTestClient->clientNum * 0x97F80)), charBuffer, 1, 0); Sleep(150); sprintf(charBuffer, "mr %i 10 class1", *(int *)0x8360922C); SV_ExecuteClientCommand((void *)(*(int *)0x83623B98 + (addedTestClient->clientNum * 0x97F80)), charBuffer, 1, 0); } //ADD THIS TO A NEW HEADER FILE AND USE #include "" typedef enum { TEAM_FREE, TEAM_AXIS, EAM_ALLIES, TEAM_SPECTATOR, TEAM_NUM_TEAMS } team_t; struct usercmd_s { int ServerTime; int Buttons; char Weapon; char OffHandIndex; char Padding[2]; int Angle[3]; char Unknown_data[0x10]; }; typedef enum { SESS_STATE_PLAYING, SESS_STATE_DEAD, SESS_STATE_SPECTATOR, SESS_STATE_INTERMISSION } sessionState_t; typedef enum { CON_DISCONNECTED, CON_CONNECTING, CON_CONNECTED } clientConnected_t; struct clientState_s { int unknown;team_t team; char unknown_data[0x84]; }; struct clientSession_t { sessionState_t sessionState; int ClientNum; int Score; int Deaths; int Kills; int Assists; short ActiveScripts; char Padding[2]; clientConnected_t Connect; usercmd_s cmd; usercmd_s oldcmd; int IsLocalClient; int UnknownInt; char Name[32]; int MaxHealth; int EnterTime; char Unknown_Data[0xC]; float moveSpeedScaleMultiplier; int ViewModelIndex; char unknown_data[0x10]; clientState_s _cs; char unknown_data5[0x14C]; }; struct playerState_s { int commandTime; int Notsure; int Weird; int WeirdView; int eFlags; int NotSure2; char UnknownData2[4]; float Origin[3]; float Velocity[3]; char unknown_data3[0x315C]; }; struct gclient_s { playerState_s ps; clientSession_t sess; char UnKnowData[0x10]; int buttons; }; struct gentity_s { char unknown_data[0x158]; gclient_s *clientData; }; gentity_s * getEntity(unsigned int ClientIndex) { return (gentity_s *)(0x82F03600 + (ClientIndex * 0x280)); } gentity_s *Entity; Credit to Se7ensins JTAG for the bots. I updated Craig's but it didn't work for some reason [:frown:] Infinite Ammo: Spoiler Code: *(int *)0x820E1724 = 0x7D284B78;//infinite ammo Laser: Spoiler Code: *(byte*)0x82104093 = 01;//Laser DArK's Credit's xD: Spoiler Code: //Add this to your project typedef void (*EndGame_t)(void); EndGame_t EndGame = (EndGame_t)0x82201A48; //Now put this in a scroll or void or whatever you want xD DeleteText(i); setIcon(Shader[i], 1000, 1000, 320, 0, 1, 0, 0, 0, 255);//Black BG setText(Line1[i], "^3K Brizzles Tree Patch ^2Re-Made By DArK x1337HaX", 4, FONT, 320, 50, 1, 0x5); Sleep(2000); DeleteText(i); setText(Line2[i], "^5Sign Up At Se7ensins.com!", 4, FONT, 320, 150, 1, 0x5); Sleep(2000); DeleteText(i); setText(Line3[i], "^2Big thanks to the modding community!", 4, FONT, 320, 250, 1, 0x5); Sleep(2000); DeleteText(i); DeleteHud(Shader[i]); EndGame(); Credit to @Xx jAmes t xX for the end game function/offset Custom Class Mods (Host Only Entry Stats): Spoiler Code: //Call it like this CustomClassesHost(); for you noobs out there xP void CustomClassesHost() { XOVERLAPPED Overlapped; WCHAR GTTEXT[512]; char Buffer[512]; ZeroMemory(&Overlapped, sizeof(Overlapped)); XShowKeyboardUI(0, VKBD_DEFAULT, L"", L"Custom Class Names (HOST ONLY!)", L"Please Enter The Name You Want on all of Your Classes", GTTEXT, 512, &Overlapped ); while(!XHasOverlappedIoCompleted(&Overlapped)) Sleep(100); wcstombs(Buffer, GTTEXT, 512); for(int i = 0; i < 18; i++) { strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 0) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 1) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 2) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 3) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 4) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 5) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 6) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 7) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 8) + 0x25), Buffer); strcpy((char*)(0x831A25C8 + 0xBBB + (0x40 * 9) + 0x25), Buffer); } } Credit to @ TeamGeckos KYZA​ for the idea [:wink:] <3 ScrCmd_Attatch // Medaka Spoiler Code: int (*G_EntDetach)(int entity, const char* modelName, int tagName) = (int(*)(int, const char*, int))0x8220E8C0; int (*G_EntAttach)(int entity, const char* modelName, int tagName, int ignoreCollision) = (int(*)(int, const char*, int, int))0x8220E7A0; int (*SL_GetString)(const char* str, int user) = (int(*)(const char*, int))0x822422D8; bool attach(int entity, const char* modelName, const char* tagName, bool ignoreCollision){ //Find our tagId from our string int tag = SL_GetString(tagName, 0); //Check if we already have a model attached to the same tag //If we do, detach it if(!G_EntDetach(entity, modelName, tag)) //Attach our model return G_EntAttach(entity, modelName, tag, ignoreCollision); } How to use: if(attach(player->getEntity(), "com_plasticcase_enemy", "tag_eye", true)){ //Do stuff here } Set Perk: Spoiler Code: void setPerk(int clientIndex, char*perkName) // Oda { int player = *(int*)(getEntity(clientIndex) + 0x158), perk = BG_GetPerkIndexForName(perkName); *(int*)(player + 0x428 + ((perk >> 3) & 0x1FFFFFFC)) |= (1 << (perk & 0x1F)); *(int*)(player + 0x32BC + ((perk >> 3) & 0x1FFFFFFC)) |= (1 << (perk & 0x1F)); } Player_Die & Playercmd_suicide reversed by Medaka (Unfinished) Spoiler Code: int (*Com_GetServerDobj)(int handle) = (int(*)(int))0x8222FD98; void (*DeathGrenadeDrop)(int entity, int meansOfDeath) = (void(*)(int, int))0x821DC9D0; void (*Scr_Notify)(int entity, short stringValue, int paramCount) = (void(*)(int, short, int))0x822097A8; void player_die(int self, int inflictor, int attacker, int damage, int meansOfDeath, int iWeapon, float* vDir, int hitLoc, int psTimeOffset){ int gclient_s = *(int*)(self + 0x158); int flags = *(int*)(gclient_s + 0x4); if(Com_GetServerDobj(*(int*)(gclient_s + 0x104)) == 0) return; if((*(int*)(gclient_s + 0xC) & 0x10000) == 0){ if(flags == 0 || flags == 1){ if(*(int*)(gclient_s + 0x10) & 0x800) return; short attackerEntNum = *(short*)(attacker + 0x150); int attackerEnt = ((((attackerEntNum + (attackerEntNum << 2)) << 7) + 0x82F03600) - 0x280); DeathGrenadeDrop(self, meansOfDeath); if(*(int*)(attacker + 0x4) != 0xB || attackerEntNum == 0){ Scr_AddEntity(attacker); Scr_Notify(self, *(short*)0x8312932E, 1); }else{ Scr_AddEntity(attackerEnt); Scr_Notify(self, *(short*)0x8312932E, 1); } ((void(*)(int, int, int, int))0x821DCB90)(self, inflictor, meansOfDeath, iWeapon); ((void(*)(int, int))0x821DCC70)(self, hitLoc); ((void(*)(int, float*))0x821DCCD0)(self, vDir); *(int*)(gclient_s + 0x4) = ((((*(int*)(gclient_s + 0x4) - 1) >> 27) & 1) + 0x8); ((void(*)(int, int, int, int, int))0x820C81B8)(gclient_s, 1, 0, 1, *(int*)0x823D3788); if(*(int*)0x8310A124 <= 0){ *(float*)(self + 0x14C) = 0.0; *(char*)(self + 0x16B) = 1; *(int*)(self + 0x11C) = 0x400; ((void(*)(int, int))0x821DC840)(self, inflictor); *(float*)(gclient_s + 0x10C) = *(float*)(self + 0x144); *(float*)(gclient_s + 0x110) = *(float*)(self + 0x148); *(float*)(gclient_s + 0x114) = *(float*)(self + 0x14C); *(int*)(self + 0x8C) = 0; float result = (((*(float*)(self + 0x10C) + 30.0) - *(float*)(self + 0x118)) * 0.5); *(float*)(gclient_s + 0x10C) = result; *(float*)(gclient_s + 0x118) = (30.0 - result); SV_LinkEntity(self); *(int*)(self + 0x19C) = 0; *(char*)(self + 0x16D) = 0xC; } } if(flags != 7) return; }else{ *(float*)(gclient_s + 0x28) = 0.0f; *(float*)(gclient_s + 0x2C) = 0.0f; } } void PlayerCmd_Suicide(int clientNum){ int entity = client[clientNum].getEntity(); *(int*)(entity + 0x19C) = 0; *(int*)(entity + 0x184) = (*(int*)(entity + 0x184) & 0xFFFFFFFC); *(int*)(*(int*)(entity + 0x158) + 0x150) = 0; player_die(client[clientNum].getEntity(), client[clientNum].getEntity(), client[clientNum].getEntity(), 0x186A0, 0xC, 0, 0, 0, 0); } Save/Load Position // ?? Spoiler Code: float XPostion = 0,YPosition = 0,ZPosition = 0; void SavePosition(int ClientNum) { XPosition = *(float *)(getPlayerState(ClientNum) + 0x1C); YPosition = *(float *)(getPlayerState(ClientNum) + 0x20); ZPosition = *(float *)(getPlayerState(ClientNum) + 0x24); SV_GameSendServerCommand(ClientNum,0,"c \"Position Saved\""); } void LoadPosition(int ClientNum) { *(float *)(getPlayerState(ClientNum) + 0x1C) = XPosition; *(float *)(getPlayerState(ClientNum) + 0x20) = YPosition; *(float *)(getPlayerState(ClientNum) + 0x24) = ZPosition; SV_GameSendServerCommand(ClientNum,0,"c \"Position Loaded\""); } How to monitor client buttons without hooking SV_ExecuteClientCommand: // Medaka Spoiler Code: void(*Cmd_RegisterNotification)(constint clientNum,constchar* command,constchar* notify)=(void(*)(constint,constchar*,constchar*))0x822258F0; void notifyOnPlayerCommand(int clientNum, const char* notify, const char* command){ Cmd_RegisterNotification(clientNum, notify, command); } void Scr_NotifyHook(int entity, short stringValue, int paramCount){ //Save the org function Scr_NotifyStub(entity, stringValue, paramCount); //Get our client number int clientNum = *(short*)entity; //Get our notify string const char* notify = SL_ConvertToString(stringValue); if(!strcmp(notify, "begin")) notifyOnPlayerCommand(clientNum, "+actionslot 3", "dpad_left"); if(!strcmp(notify, "dpad_left")) print(clientNum, "dpad left pressed"); } Hook this: HookFunctionStart(0x822097A8, Scr_NotifyStub, Scr_NotifyHook); How to add a wait: // Medaka Spoiler Set isInLoop to true if you're calling this in a loop, else, just set it to true. Code: void wait(int time, bool isInLoop){ static int result; if(!isInLoop) goto start; start: if((*levelTime - result) > time){ result = *levelTime; return; } goto start; } To call: wait(1000); SV(client, 0, "c \"Delay for 1 second\""); wait(2000); SV(client, 0, "c \"Delay for 2 seconds\""); wait(3000); SV(client, 0, "c \"Delay for 3 seconds\""); Stable Unlock All // Se7ensins JTAG Spoiler Code: //To call the unlock all function UnlockAllH[clientIndex] = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)UnlockAll, (LPVOID)clientIndex, 0x2, &UnlockAllID[clientIndex]); SetThreadPriority(UnlockAllH[clientIndex], THREAD_BASE_PRIORITY_IDLE); ResumeThread(UnlockAllH[clientIndex]); //This is what your calling HANDLE UnlockAllH[18]; DWORD UnlockAllID[18]; DWORD WINAPI UnlockAll(int clientIndex) { SV(clientIndex, 0, "f \"Unlock all challenges: ^2Starting\""); Sleep(500); SV(clientIndex, 0, "f \"Unlock all challenges: ^225 Precent Complete\""); Sleep(500); SV(clientIndex, 0, "f \"Unlock all challenges: ^250 Precent Complete\""); Sleep(500); SV(clientIndex, 0, "f \"Unlock all challenges: ^275 Precent Complete\""); Sleep(500); SV(clientIndex, 0, "f \"Unlock all challenges: ^2100 Precent Complete\""); Sleep(500); DWORD index = 3500; while(index < 5001) { Sleep(6); SV(clientIndex, 0, LinkChar("J %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99 %d 99", index, index+1, index+2, index+3, index+4, index+5, index+6, index+7, index+8, index+9)); index+=10; } SV(clientIndex, 0, "f \"Unlock all challenges: ^2Completed\""); SV(clientIndex, 0, "l mp_challenge_complete"); return false; } PlayLoopedFX: // ?? Spoiler Code: #define G_SetOrigin(Entity, Pos) ((void(*)(int, const float*))0x8220E170)(Entity, Pos) #define Scr_SetFxAngles(AxisCount, Axis, Angles) ((void(*)(int, float(*)[3], float*))0x821FB460)(AxisCount, Axis, Angles) int Playerstate(unsigned int ClientID){ return 0x830CBF80 + (ClientID * 0x3700); } int GetEntity(unsigned int ClientID){ return 0x82F03600 + (ClientID * 0x280); } int Scr_PlayLoopedFX(int ClientID, const char* Effect, float Delay, float* Origin, float (*Pos)[3] = 0){ float DelayVal = (int)floor(floorf((float)(Delay * 1000.0) + 0.5)); int EffectId = G_EffectIndex(Effect); if(DelayVal == 0){ printf("PlayLoopedFX cannot parse 0 for param delay"); return 0; } if(EffectId == 0){ printf("PlayLoopedFX called with invalid effect ID"); return 0; } int Entity = G_Spawn(); *(int*)(Entity + 0x4) = 0x9; *(int*)(Entity + 0xD8) = G_EffectIndex(Effect) & 0xFF; G_SetOrigin(Entity, Origin); Scr_SetFxAngles(0, (float (*)[3])&Pos, (float*)(GetEntity(ClientID) + 0x48)); *(float*)(Entity + 0x58) = 0; *(int*)(Entity + 0x5C) = DelayVal; SV_LinkEntity(Entity); return Entity; } To call: Scr_PlayLoopedFX(ClientID, "props/cash_player_drop", (float*)(Playerstate(ClientID) + 0x1C)); How to change HUD strings in game: // ?? Spoiler Code: void G_LocalizedStringIndexStub(const char* Text){ nop nop nop nop nop nop li r3, 0x3 blr } int G_LocalizedStringIndexHook(const char* Text){ if(!strcmp(Text, "MP_MATCH_STARTING_IN")) Text = "^2Se7ensins"; return G_LocalizedStringIndexStub(Text); } That will change the Match Starting In text to Hello I am Se7ensins in green. Call it like this: hookFunctionStart(0x8220C838, G_LocalizedStringIndexStub, G_LocalizedStringIndexHook); EDIT: This is an addition to this, I thought this would be cool also. const char* SL_ConvertToStringStub(short StringValue){ nop nop nop nop nop nop li r3, 0x4 blr } const char* SL_ConvertToStringHook(short StringValue){ const char* Result = SL_ConvertToStringStub(StringValue); printf("String: %s\n", Result); if(!strcmp(Result, "mw2_main_cloud_overlay")) Result = "Erase"; return Result; } BulletTrace: // James Spoiler Code: VOID (__cdecl *AngleVectors)(PFLOAT Angles, PFLOAT Forward, PFLOAT Right, PFLOAT Up) = (VOID (__cdecl *)(PFLOAT, PFLOAT, PFLOAT, PFLOAT))0x8228EDC0; enum TraceHitType { TRACE_HITTYPE_NONE = 0, TRACE_HITTYPE_ENTITY = 1, TRACE_HITTYPE_DYNENT_MODEL = 2, TRACE_HITTYPE_DYNENT_BRUSH = 3, }; struct trace_t { FLOAT Fraction; FLOAT Normal[3]; DWORD SurfaceFlags; DWORD Contents; PCHAR Material; TraceHitType HitType; UINT16 HitId; UINT16 ModelIndex; UINT16 PartName; UINT16 PartGroup; bool AllSolid; bool StartSolid; bool Walkable; }; struct BulletTrace { TraceHitType HitType; DWORD Entity; UINT16 EntityIndex; FLOAT Origin[3]; }; VOID AnglesToForward(PFLOAT Angles, PFLOAT ForwardOut) { AngleVectors(Angles, ForwardOut, NULL, NULL); } VOID GetBulletTrace(BulletTrace *BT, INT Client, PFLOAT Start, PFLOAT End) { trace_t Trace; G_LocationalTrace(&Trace, Start, End, Client, 0x806831, NULL); for(INT i = 0; i < 3; i++) { BT->Origin[i] = (((End[i] - Start[i]) * Trace.Fraction) + Start[i]); } UINT16 EntityIndex = Trace_GetEntityHitId(&Trace) & 0xFFFF; if(EntityIndex < 0x7FE) { BT->EntityIndex = EntityIndex; } // Fill BulletTrace struct with some value from the trace_t struct BT->HitType = Trace.HitType; BT->Entity = gentity((INT)EntityIndex); } PlayFX: // Orbs Spoiler Code: int (*G_TempEntity)(float*origin,int Event) = (int(_cdecl*)(float*,int))0x8220EE88; int PlayFX(float* origin,int FxID) { int Ent = G_TempEntity(origin,0x53); *(int*)(Ent + 0xA0) = FxID; *(float*)(Ent + 0x138) = 0; *(float*)(Ent + 0x13C) = 0; *(float*)(Ent + 0x140) = 270; return Ent; } ShootFX: // Orbs Spoiler Code: VOID ShootFX(INT Client) { FLOAT PlayerAngles[3] = { *(FLOAT*)(gentity(Client) + 0x48), *(FLOAT*)(gentity(Client) + 0x4C), *(FLOAT*)(gentity(Client) + 0x50) }; FLOAT Forward[3]; AnglesToForward(PlayerAngles, Forward); FLOAT Start[3]; G_GetPlayerViewOrigin(playerState(Client), Start); FLOAT End[3] = { Forward[0] * 100000, Forward[1] * 100000, Forward[2] * 100000 }; BulletTrace Trace; GetBulletTrace(&Trace,Client,Start,End); PlayFX(Trace.Origin, G_EffectIndex("props/barrelexp")); } FunctionClass.h // Ethernet Spoiler Code: /* FunctionClass.h By: Ethernet. Simple but should help people with their menus. Note: Credits are where you see peoples names with the comment marks // */ struct trace_t; /* Definitions */ #define G_GetPlayerViewOrigin(Playerstate, Origin) ((void(*)(int, float*))0x821D3960)(Playerstate, Origin) #define GScr_UpdateTagInterval(Entity, TagIndex, CachedTag, ShowError) ((int(*)(int, unsigned int, int, int))0x821FC960)(Entity, TagIndex, CachedTag, ShowError) #define SL_GetString(String, User) ((int(*)(char*, int))0x822422D8)(String, User) #define SetClientViewAngles(Entity, Origin) ((void(*)(int, float*))0x821D35E8)(Entity, Origin) #define G_GetWeaponIndexForName(Weapon) ((int(*)(char*))0x82210640)(Weapon) #define SV(Client, Type, Text) ((void(*)(int, int, char*))0x82254940)(Client, Type, Text) #define G_SoundAliasIndex(Sound) ((int(*)(char*))0x8220D048)(Sound) #define G_TempEntity(Origin, EffectID) ((int(*)(PFLOAT, int))0x8220EE88)(Origin, EffectID) #define PlayerCmd_TakeAllWeapons(Entref) ((void(*)(int))0x821D4DA0)(Entref) #define Dvar_GetString(Dvar) ((char*(*)(char*))0x8229F118)(Dvar) #define Trace_GetEntityHitId(Trace) ((short(*)(trace_t*))0x8221DB68)(Trace) #define G_LocationalTrace(Trace, Start, End, PassEntNum, ConterntMask, PriorityMap) ((void(*)(trace_t*, const float*, const float*, int, int, const char*))0x821E7790)(Trace, Start, End, PassEntNum, ConterntMask, PriorityMap) #define G_EffectIndex(Effect) ((int(*)(char*))0x8220CEE0)(Effect) char* (*va)(char*, ...) = (char*(*)(char*, ...))0x823A5470; struct BulletTraceType{//Xx jAmes t xX short EntityNumber; float Position[3]; }; struct trace_t{//Xx jAmes t xX float fraction; float normal[3]; int surfaceFlags; int contents; const char *material; byte hitType; unsigned short hitId; unsigned short modelIndex; unsigned short partName; unsigned short partGroup; bool allsolid; bool startsolid; bool walkable; }; class Functions{ public: Functions(unsigned int Client){ ClientID = Client; } ~Functions() { ClientID = 0; }; bool IsAlive(); char* GetName(); int Entity(); int Playerstate(); int Clientstate(); int GetHealth(); int GetWeapon(); int PlayFX(char* FX, float* Origin);//Xx jAmes t xX int PlaySoundOnPos(char* Sound, float* Pos); float* GetEye(); float* GetOrigin(); float* GetVelocity(); float* GetAngles(); float* GetTagOrigin(int Ent, char* Tag, int Level);//Hacksource void SetOrigin(float X, float Y, float Z); void SetVelocity(float v); void SetAngles(int Entity, float AngleX, float AngleY, float AngleZ); void GiveWeapon(char* Weapon, bool Akimbo, bool SwitchTo, int Camo); void SetHealth(bool GodMode, int Health); void Println(char* Text); void PrintlnBold(char* Text); void SetClientDvar(char* Dvar, char* Value); void SetVisionNaked(char* Vision, int FadeTime); void SetPrestige(int Prestige); void PlaySound(char* Sound); void SetMoveSpeedScale(float Scale); void TakeAllWeapons(); void SetName(char* NewName); void SetDefaultVision(); void BulletTrace(BulletTraceType* Type, float* Start, float* End);//Xx jAmes t xX void SetModel(int Entity, char* Model); private: unsigned int ClientID; }; FunctionClass.cpp: // Ethernet Spoiler Code: /* FunctionClass.cpp By Ethernet: Simple but should help people with their menus. */ #include "stdafx.h" #include "FunctionClass.h" bool Functions::IsAlive(){//EG: if(Functions(Client).IsAlive()) Do Something Here If You're Alive return *(int*)(Entity() + 0x19C) != 0 ? true : false; } char* Functions::GetName(){//EG: Functions(Client).GetName(); return (char*)(Clientstate() + 0x44); } int Functions::Entity(){//EG: Functions(Client).Entity(); return *(int*)0x82F03600 + (ClientID *0x280); } int Functions::Playerstate(){//EG: Functions(Client).Playerstate(); *(int*)0x830CBF80 + (ClientID *0x3700); } int Functions::Clientstate(){//EG: Functions(Client).Clientstate(); return ((int(*)(int))0x821E66A8)(ClientID); } int Functions::GetHealth(){//EG: Functions(Client).GetHealth(); return *(int*)(Entity() + 0x19C); } int Functions::GetWeapon(){//EG: Functions(Client).GetWeapon(); return *(int*)(Playerstate() + 0x2B4); } int Functions::PlayFX(char* FX, float* Origin){//EG: Functions(Client).PlayFX("props/cash_player_drop", Functions(Client).GetTagOrigin(Functions(Client).Entity(), "j_spine4")); <- Raining Money <3 int Ent = G_TempEntity(Origin, 0x53); *(int*)(Ent + 0xA0) = G_EffectIndex(FX) & 0xFF; *(float*)(Ent + 0x4C) = 0; *(float*)(Ent + 0x50) = 0; *(float*)(Ent + 0x48) = 270; return Ent; } int Functions::PlaySoundOnPos(char* Sound, float* Pos){//EG: Functions(Client).PlaySoundOnPos("cobra_helicopter_crash", Functions(Client).GetOrigin()); int SoundId = G_TempEntity(Pos, 0x3); *(int*)(SoundId + 0xA0) = G_SoundAliasIndex(Sound) & 0xFF; return SoundId; } float* Functions::GetEye(){//EG: Functions(Client).GetEye(); float Eye[3]; G_GetPlayerViewOrigin(Playerstate(), Eye); return Eye; } float* Functions::GetOrigin(){//EG: Functions(Client).GetOrigin(); return (float*)(Playerstate() + 0x1C); } float* Functions::GetVelocity(){//EG: Functions(Client).GetVelocity(); return (float*)(Playerstate() + 0x30); } float* Functions::GetAngles(){//EG: Functions(Client).GetAngles(); return (float*)(Playerstate() + 0x10C); } float* Functions::GetTagOrigin(int Entity, char* Tag, int Level = 0x83109D80){//EG: Functions(Client).GetTagOrigin(Functions(Client).Entity(), "j_spine4"); GScr_UpdateTagInterval(Entity, SL_GetString(Tag, 0), (int)(Level + 0x2704), 0); return (float*)(Level + 0x2734); } void Functions::SetOrigin(float X, float Y, float Z){//EG: Functions(Client).SetOrigin(0, 0, 0); float NewPos[] = { X, Y, Z }; memcpy((void*)(Playerstate() + 0x1C), NewPos, 0xC); } void Functions::SetVelocity(float Velocity){//EG: Functions(Client).SetVelocity(500); memcpy((void*)(Playerstate() + 0x30), &Velocity, 0xC); } void Functions::SetAngles(int Entity, float AngleX, float AngleY, float AngleZ){//EG: Functions(Client).SetAngles(Functions(Client).Entity(), Functions(Client).GetAngles()[0], Functions(Client).GetAngles()[1], 180);//Upside down view float NewAngle[] = { AngleX, AngleY, AngleZ }; SetClientViewAngles(Entity, NewAngle); } void Functions::GiveWeapon(char* Weapon, bool Akimbo, bool SwitchTo, int Camo){//EG: Functions(Client).GiveWeapon("famas_mp", true, true, 4); int WeaponID = G_GetWeaponIndexForName(Weapon); ((void(*)(unsigned int, int, int, bool))0x82210BC8)(Playerstate(), WeaponID, Camo, Akimbo); if(SwitchTo) SV(ClientID, 0, va("a \"%i\"", ((int(*)(char*))0x82210640)(Weapon))); ((int(*)(int, unsigned int, char, int, int))0x821E1F90)(Entity(), WeaponID, 0, 999, 1); } void Functions::SetHealth(bool Godmode, int Health = 0){//EG: Functions(Client).SetHealth(true); or Functions(Client).SetHealth(false, 100); 100 = Normal Health Godmode ? *(int*)(Entity() + 0x184) = 1 : *(int*)(Entity() + 0x19C) = Health; } void Functions::Println(char* Text){//EG: Functions(Client).Println("I love Ethernet"); SV(ClientID, 0, va("f \"%s\"", Text)); } void Functions::PrintlnBold(char* Text){//EG: Functions(Client).PrintlnBold("I love Ethernet"); SV(ClientID, 0, va("c \"%s\"", Text)); } void Functions::SetClientDvar(char* Dvar, char* Value){//EG: Functions(Client).SetClientDvar("cg_fov", "80"); SV(ClientID, 0, va("s %s \"%s\"", Dvar, Value)); } void Functions::SetVisionNaked(char* Vision, int FadeTime){//EG: Functions(Client).SetVisionNaked("default_night", 500); SV(ClientID, 0, va("M %s %i", Vision, (2 *FadeTime))); } void Functions::SetPrestige(int Prestige){//EG: Functions(Client).SetPrestige(11); SV(ClientID, 1, va("J 2064 0%X000", Prestige)); } void Functions::PlaySound(char* Sound){//EG: Functions(Client).PlaySound("mouse_over"); SV(ClientID, 0, va("p \"%i\"", G_SoundAliasIndex(Sound))); } void Functions::SetMoveSpeedScale(float Scale){//EG: Functions(Client).SetMoveSpeedScale(4); *(float*)(Playerstate() + 0x323C) = Scale; } void Functions::TakeAllWeapons(){//EG: Functions(Client).TakeAllWeapons(); PlayerCmd_TakeAllWeapons(ClientID << 16); } void Functions::SetName(char* NewName){//EG: Functions(Client).SetName("^5I Love Ethernet"); strcpy(GetName(), NewName); } void Functions::SetDefaultVision(){ //EG: Functions(Client).SetDefaultVision(); SV(ClientID, 0, va("M %s", Dvar_GetString("ui_mapname"))); } void Functions::BulletTrace(BulletTraceType* Type, float* Start, float* End){ //EG: Functions(Client).BulletTrace(&type, Functions(Client).GetEye(), end_bullet_here); trace_t trace; G_LocationalTrace(&trace, Start, End, ClientID, 0x806831, 0); for(unsigned int i = 0; i < 3; i++) Type->Position[i] = (((End[i] - Start[i]) * trace.fraction) + Start[i]); short Entity = (Trace_GetEntityHitId(&trace) & 0xFFFF); if(Entity < 0x7FE) Type->EntityNumber = Entity; } void Functions::SetModel(int Entity, char* Model){ //EG: Functions(Client).SetModel(Functions(Client).Entity(), "model_name_here"); ((void(*)(int, char*))0x8220D310)(Entity, Model); } ExitLevel: // XeSao Spoiler Code: void (__cdecl *SV_MatchEnd)() = (void(*)()))0x82259DF0; void (__cdecl *ExitLevel)() = (void(*)()))0x821E7F58; void GScr_exitLevel(int savePersist = 0) { if(!*(int*)0x8310C450) { *(int*)0x8310C450 = 3; *(int*)0x8310ABB8 = savePersist; SV_MatchEnd(); ExitLevel(); } } SetTeamScore: // XeSao Spoiler Code: void GScr_SetTeamScore(const char *team, int score) { int teamId; if(!strstr(team, SL_ConvertToString(*(short*)0x8312930C)) && !strstr(team, SL_ConvertToString(*(short*)0x83129314))) return; if(strstr(team, SL_ConvertToString(*(short*)0x8312930C))) { *(int*)0x8310A140 = score; teamId = 0x43; } if(strstr(team, SL_ConvertToString(*(short*)0x83129314))) { *(int*)0x8310A144 = score; teamId = 0x44; } SV_GameSendServerCommand(-1, 0, va("%c %i", teamId, score)); *(int*)0x8310A150 = 1; } Usage: GScr_SetTeamScore("axis", 13337); PlayFxOnTag & StopFxOnTag // Kyza Spoiler Code: int (*G_EffectIndex)(char * strEffectName) = (int(__cdecl*)(char*))0x8220CEE0; int (*SV_DObjGetBoneIndex)(int pGEntity, int boneIndex) = (int(__cdecl*)(int,int))0x822552E0; int (*G_FindConfigStringindex)(char * strName, int iStart, int iMax, int iLoad, char * strErrorMsg) = (int(__cdecl*)(char*,int,int,int,char*))0x8220C740; void (*G_AddEvent)(int pGEntity, int iEventIndex) = (void(__cdecl*)(int,int))0x8220E0D0; int (*SL_GetString)(char * strString, int iUser) = (int(__cdecl*)(char*,int))0x822422D8; char * va(char * strFormat, ...) { char buffer[0x1000]; va_list param; va_start(param, strFormat); vsprintf(buffer, strFormat, param); va_end(param); return buffer; } void playFxOnTag(char * strEffectName, int pGEntity, char * strTagName) { int iIndex = 0; if(!strchr(strTagName, '"') && *(short*)(pGEntity + 0x168) != 0) { if(!(iIndex = G_EffectIndex(strEffectName)) || iIndex < 0x100 || SV_DObjGetBoneIndex(pGEntity, SL_GetString(strTagName, 0)) < 0) { return; } G_AddEvent(pGEntity, 0x54, G_FindConfigStringindex(va("%03d%s", iIndex, strTagName))); } } void stopFxOnTag(const char * strEffectName, int pGEntity, const char * strTagName) { int iIndex = 0; if(!strchr(strTagName, '"') && *(short*)(pGEntity + 0x168) != 0) { if(!(iIndex = G_EffectIndex(strEffectName)) || iIndex < 0x100 || SV_DObjGetBoneIndex(pGEntity, SL_GetString(strTagName, 0)) < 0) { return; } G_AddEvent(pGEntity, 0x55, G_FindConfigStringindex(va("%03d%s", iIndex, strTagName))); } } //NOTE: The FX gets linked to the tag on your model, to stop the effect you must call stopFxOnTag playFxOnTag("explosions/emp_flash_mp", getEntity(0), "j_head"); Unset Perk: // Parse Spoiler Code: void UnSetPerk(int clientIndex, char * perkName) { unsigned int pIndex = BG_GetPerkIndexForName(perkName), player = 0x82F03600 + (clientIndex*0x280); __asm { mr r31, player lwz r11, 0x158(r31) rlwinm r9, pIndex, 29,3,29 clrlwi r8, pIndex, 27 addi r11, r11, 0x428 li r7, 1 rlwinm r10, pIndex, 29,3,29 slw r6, r7, r8 lwzx r5, r9, r11 not r4, r6 and r3, r4, r5 stwx r3, r9, r11 lwz r11, 0x158(r31) addi r11, r11, 0x32BC lwzx r9, r10, r11 and r8, r9, r4 stwx r8, r10, r11 } } PlayFxOnPosition: // Parse Spoiler Code: void SpawnFxOnPos(int client,int FxID, float x, float y, float z) { int Ent = G_Spawn(); *(float*)(Ent + 0x138) = x; *(float*)(Ent + 0x13C) = y; *(float*)(Ent + 0x140) = z; float origin[] = { x, y, z}; PlayFX(origin,FxID); } Joystick Monitor: // Waffle Text Spoiler Code: #define C_A VK_PAD_A #define C_B VK_PAD_B #define C_X VK_PAD_X #define C_Y VK_PAD_Y #define C_RB VK_PAD_RSHOULDER #define C_LB VK_PAD_LSHOULDER #define C_RT VK_PAD_RTRIGGER #define C_LT VK_PAD_LTRIGGER #define C_DPAD_U VK_PAD_DPAD_UP #define C_DPAD_D VK_PAD_DPAD_DOWN #define C_DPAD_L VK_PAD_DPAD_LEFT #define C_DPAD_R VK_PAD_DPAD_RIGHT #define C_START VK_PAD_START #define C_BACK VK_PAD_BACK #define C_LS VK_PAD_LTHUMB_PRESS #define C_RS VK_PAD_RTHUMB_PRESS #define C_LS_U VK_PAD_LTHUMB_UP #define C_LS_D VK_PAD_LTHUMB_DOWN #define C_LS_L VK_PAD_LTHUMB_LEFT #define C_LS_R VK_PAD_LTHUMB_RIGHT #define C_RS_U VK_PAD_RTHUMB_UP #define C_RS_D VK_PAD_RTHUMB_DOWN #define C_RS_L VK_PAD_RTHUMB_LEFT #define C_RS_R VK_PAD_RTHUMB_RIGHT #define C_LS_UL VK_PAD_LTHUMB_UPLEFT #define C_LS_UR VK_PAD_LTHUMB_UPRIGHT #define C_LS_DL VK_PAD_LTHUMB_DOWNLEFT #define C_LS_DR VK_PAD_LTHUMB_DOWNRIGHT #define C_RS_UL VK_PAD_RTHUMB_UPLEFT #define C_RS_UR VK_PAD_RTHUMB_UPRIGHT #define C_RS_DL VK_PAD_RTHUMB_DOWNLEFT #define C_RS_DR VK_PAD_RTHUMB_DOWNRIGHT XINPUT_STATE Xstate; ZeroMemory( &Xstate, sizeof(XINPUT_STATE) ); XInputGetState(0, &Xstate); if(Xstate.Gamepad.wButtons == (C_LT) && Xstate.Gamepad.wButtons == (C_RS))//an example of using two buttons in an if statement setRank: // OProgramming Spoiler Code: void setRank(int clientIndex, int rank, int prestige) { if(rank <= 0x46 && prestige <= 0xA) { *(int*)(getPlayerState(clientIndex) + 0x32B4) = rank; *(int*)(getPlayerState(clientIndex) + 0x32B8) = prestige; } } Spawn Turrett: // OProgramming Spoiler Code: void spawnTurret(char*weapInfo, float*origin) { int turret = G_Spawn(); //8220DBE8 *(short*)(turret + 0x172) = *(short*)(turret + 0x174) = (SL_GetString("misc_turret", 0) & 0xFF); for(int i = 0, f = 0; i < 3; i++, f += 4) *(float*)(turret+(0x138+f)) = origin[i]; *(short*)(turret + 0x168) = G_ModelIndex("weapon_minigun"); G_SpawnTurret(turret, weapInfo, 1);//82219990 } // e.g. // spawnTurret("pavelow_minigun_mp", myOrigin); SetReverb: // TreyZ1337 | Se7ensins JTAG | Kyza Spoiler Code: void setReverb(int entityId, int prior, char*roomtype, float drylevel, float wetlevel, float fadetime) { SV_GSSC(entityId, 1, (prior != 2 ? "c \"Priority must be between 1 & 3\"" : LinkChar("o %i \"%s\" %g %g %g", prior, roomtype, drylevel, wetlevel, fadetime))); } Spawn Movable Crate: // Unsigned Chaos Spoiler First you are going to have to make your entity a separate variable and allocate memory for it in G_Spawn. Code: unsigned int door1; door1 = G_Spawn(); This allocates the next possible space for the entity door1. Then you can use the below method to spawn it and move it around. Code: void SpawnMovable(unsigned int Object, const char* Model, float x, float y, float z, float yaw, float pitch, float roll) { *(float*)(Object + 0x138) = x; *(float*)(Object + 0x13C) = y; *(float*)(Object + 0x140) = z; *(float*)(Object + 0x144) = yaw; *(float*)(Object + 0x148) = pitch; *(float*)(Object + 0x14C) = roll; *(int*)(Object + 0x180) = 1; G_SetModel(Object, Model); G_CallSpawnEntity(Object); SP_script_model(Object); } Note: These aren't solid models and I believe this is what Const posted (had it on my computer so I'm not sure). Example: Code: unsigned int moveableObject;//intializes moveableObject moveableObject = G_Spawn();//allocates memory SpawnMovable(moveableObject, "com_plasticcase_friendly", 0, 0, 0, 0, 0, 0);//spawns it SpawnMovable(moveableObject, "com_plasticcase_friendly", 10, 10, 10, 0, 0, 0);//moves it setPrestige: // James Spoiler Code: void setPrestige(int client, int Prestige) { char Buf[0x100]; sprintf(Buf, "J 2064 0%X000", Prestige); SV(client, 1, Buf); } Set Custom MiniMap: // uBen Spoiler Code: void MiniMap(int clientIndex,int ClientSelectOnMap) // MiniMap(0,1); { *(int *)(level_locals_t(clientIndex) + 0x24) = 0x14; *(int *)(level_locals_t(clientIndex) + 0x34) = ClientSelectOnMap; *(int *)(level_locals_t(clientIndex) + 0x3c) = 0x24;//SetIcon to 10th } Rumble Controller: // Hacksorce | TreyZ1337 Spoiler Code: typedef void (__cdecl *CG_PlayRumbleOnEntity_t)(int localClientNum, const char *rumbleName, int entityNum); CG_PlayRumbleOnEntity_t CG_PlayRumbleOnEntity = CG_PlayRumbleOnEntity_t(0x82116318); typedef void (__cdecl *PlayRumbleInternal_t)(int localClientNum, const char *rumbleName, bool loop, int type, int entityNum, const float *pos); PlayRumbleInternal_t PlayRumbleInternal = (PlayRumbleInternal_t)0x82116108; typedef void (__cdecl *CG_PlayRumbleOnPosition_t)(int localClientNum, const char *rumbleName, const float *pos); CG_PlayRumbleOnPosition_t CG_PlayRumbleOnPosition = (CG_PlayRumbleOnPosition_t)0x82116338; typedef void (__cdecl *CG_PlayRumbleLoopOnEntity_t)(int localClientNum, const char *rumbleName, int entityNum); CG_PlayRumbleLoopOnEntity_t CG_PlayRumbleLoopOnEntity = (CG_PlayRumbleLoopOnEntity_t)0x82116358; typedef void (__cdecl *CG_PlayRumbleLoopOnPosition_t)(int localClientNum, const char *rumbleName, const float *pos); CG_PlayRumbleLoopOnPosition_t CG_PlayRumbleLoopOnPosition = (CG_PlayRumbleLoopOnPosition_t)0x82116378; CG_PlayRumbleOnEntity(0,"damage_heavy",0); I think there are more rumble names but I haven't found them yet, but I'll show you how too, as well as how to find the parameters for any function void Test(int localClientNum, const char *rumbleName, int entityNum) { char buff[100]; sprintf(buff ,"f \"%s\"",rumbleName); SV(-1,0,buff); //call the function for PlayRumbleInternal here if you want to } void Patch() { PatchInJump((DWORD*)0x82116318/*the CG_PlayRumbleOnEntity adress*/,(DWORD)Test,false); } C# Codes/Sources: Spoiler DArK's Full MW2 XRPC C# Source: Spoiler CraigChrist's XDevkit++: Spoiler Code: //Add this to a new .cs file or just add the class to your project //This will help with entry stats //Coded by CraigChrist8239 //Custom functions for reading mem... using System; using System.Collections.Generic; using System.Linq; using System.Text; using XDevkit; namespace XDevkitPlusPlus { public static class XDevkitExtensions { private static byte[] myBuffer = new byte[0x20]; private static uint outInt; public static int DataType = 69; public static uint Offset; public static IXboxDebugTarget temp; public static void ChangeDataType(int Type) { DataType = Type; } public static int GetDataType() { return DataType; } public static sbyte ReadSByte(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 1, myBuffer, out outInt); return (sbyte)myBuffer[0]; } public static bool ReadBool(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 1, myBuffer, out outInt); return myBuffer[0] != 0; } public static short ReadInt16(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 2, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 2); return BitConverter.ToInt16(myBuffer, 0); } public static int ReadInt32(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 4, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 4); return BitConverter.ToInt32(myBuffer, 0); } public static long ReadInt64(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 8, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 8); return BitConverter.ToInt64(myBuffer, 0); } public static byte ReadByte(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 1, myBuffer, out outInt); return myBuffer[0]; } public static ushort ReadUInt16(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 2, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 2); return BitConverter.ToUInt16(myBuffer, 0); } public static uint ReadUInt32(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 4, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 4); return BitConverter.ToUInt32(myBuffer, 0); } public static ulong ReadUInt64(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 8, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 8); return BitConverter.ToUInt64(myBuffer, 0); } public static float ReadFloat(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 4, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 4); return BitConverter.ToSingle(myBuffer, 0); } public static double ReadDouble(this IXboxDebugTarget xdt, uint offset) { xdt.GetMemory(offset, 8, myBuffer, out outInt); Array.Reverse(myBuffer, 0, 8); return BitConverter.ToDouble(myBuffer, 0); } public static string ReadString(this IXboxDebugTarget xdt, uint offset, byte[] readBuffer) //My buffer is only 0x20 bytes, so you can use ur own { xdt.GetMemory(offset, (uint)readBuffer.Length, readBuffer, out outInt); return new String(System.Text.Encoding.ASCII.GetChars(readBuffer)).Split('\0')[0]; } public static string ReadString(this IXboxDebugTarget xdt, uint offset) { return ReadString(xdt, offset, myBuffer); } public static void WriteSByte(this IXboxDebugTarget xdt, uint offset, sbyte input) { myBuffer[0] = (byte)input; xdt.SetMemory(offset, 1, myBuffer, out outInt); } public static void WriteBool(this IXboxDebugTarget xdt, uint offset, bool input) { myBuffer[0] = input ? (byte)1 : (byte)0; xdt.SetMemory(offset, 1, myBuffer, out outInt); } public static void WriteInt16(this IXboxDebugTarget xdt, uint offset, short input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 2); xdt.SetMemory(offset, 2, myBuffer, out outInt); } public static void WriteInt32(this IXboxDebugTarget xdt, uint offset, int input, bool bigEndien = true) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); if(bigEndien) Array.Reverse(myBuffer, 0, 4); xdt.SetMemory(offset, 4, myBuffer, out outInt); } public static void WriteInt64(this IXboxDebugTarget xdt, uint offset, long input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 8); xdt.SetMemory(offset, 8, myBuffer, out outInt); } public static void WriteByte(this IXboxDebugTarget xdt, uint offset, byte input) { myBuffer[0] = input; xdt.SetMemory(offset, 1, myBuffer, out outInt); } public static void WriteUInt16(this IXboxDebugTarget xdt, uint offset, ushort input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 2); xdt.SetMemory(offset, 2, myBuffer, out outInt); } public static void WriteUInt32(this IXboxDebugTarget xdt, uint offset, uint input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 4); xdt.SetMemory(offset, 4, myBuffer, out outInt); } public static void WriteUInt64(this IXboxDebugTarget xdt, uint offset, ulong input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 8); xdt.SetMemory(offset, 8, myBuffer, out outInt); } public static void WriteDouble(this IXboxDebugTarget xdt, uint offset, double input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 8); xdt.SetMemory(offset, 8, myBuffer, out outInt); } public static void WriteString(this IXboxDebugTarget xdt, uint offset, string input) { Encoding.ASCII.GetBytes(input).CopyTo(myBuffer, 0); xdt.SetMemory(offset, 16, myBuffer, out outInt); } public static void WriteFloat(this IXboxDebugTarget xdt, uint offset, float input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 4); xdt.SetMemory(offset, 4, myBuffer, out outInt); } public static void MW2Float(this IXboxDebugTarget xdt, uint offset, float input) { BitConverter.GetBytes(input).CopyTo(myBuffer, 0); Array.Reverse(myBuffer, 0, 4); xdt.SetMemory(offset, 4, myBuffer, out outInt); } } } Credit to CraigChrist8239 and Const Custom Class Names (No clients Entry Stats): Spoiler Code: private void CustomClasses() { xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 0) + 0x25, "^6Class1");//Class 1 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 1) + 0x25, "^6Class2");//Class 2 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 2) + 0x25, "^6Class3");//Class 3 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 3) + 0x25, "^6Class4");//Class 4 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 4) + 0x25, "^6Class5");//Class 5 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 5) + 0x25, "^6Class6");//Class 6 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 6) + 0x25, "^6Class7");//Class 7 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 7) + 0x25, "^6Class8");//Class 8 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 8) + 0x25, "^6Class9");//Class 9 xboxConsole.DebugTarget.WriteString(0x831A25C8 + 0xBBB + (0x40 * 9) + 0x25, "^6Class10");//Class 10 } Credit to CraigChrist8239 and droseum20 for offsets/ideas Super Jump: Spoiler Code: private void superjump() { Jtag.xbCon.DebugTarget.SetMemory(0x8200183C, 4, new byte[] { 0x44, 0x79, 0xc0, 0 }, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(0x82000858, 4, new byte[] { 0x44, 0x79, 0xc0, 0 }, out this.dark); } Zoidberg TU8 Hud Elems xD: Spoiler Code: private void zoid(int clientID) { Jtag.Call(0x82254940, -1, 0, "s loc_warnings 0"); Jtag.Call(0x82254940, -1, 0, "s loc_warningsUI 0"); //disable unlocalized text uint elem88 = createElem(clientID); string elemtext88 = "Why Not ZOIDBERG?"; setText(elem88, uintBytes(createText(elemtext88)), 1, 21, 330, 0, 1, 21, 210, 210); spawnElem(clientID, elem88); //send text uint elemshader98 = createElem(clientID); uint shader98 = getMaterialIndex("white"); setIcon(elemshader98, shader98, 300, 260, 320, 150, 1, 1337, 232, 107, 107, 255); spawnElem(clientID, elemshader98); //sent white shader uint elemshader99 = createElem(clientID); uint shader99 = getMaterialIndex("white"); setIcon(elemshader99, shader99, 110, 80, 225, 190, 1, 1338); spawnElem(clientID, elemshader99); //sent white shader uint elemshader999 = createElem(clientID); uint shader999 = getMaterialIndex("white"); setIcon(elemshader999, shader999, 110, 80, 415, 190, 1, 1339); spawnElem(clientID, elemshader999); //sent white shader uint elemshader989 = createElem(clientID); uint shader989 = getMaterialIndex("black"); setIcon(elemshader989, shader989, 40, 40, 225, 170, 1, 1340); spawnElem(clientID, elemshader989); //sent white shader uint elemshader9869 = createElem(clientID); uint shader9869 = getMaterialIndex("black"); setIcon(elemshader9869, shader9869, 40, 40, 415, 170, 1, 1341); spawnElem(clientID, elemshader9869); //sent white shader uint elemshader98691 = createElem(clientID); uint shader98691 = getMaterialIndex("white"); setIcon(elemshader98691, shader98691, 300, 40, 320, 300, 1, 1342, 255, 110, 110, 255); spawnElem(clientID, elemshader98691); //sent white shader uint elemshader981691 = createElem(clientID); uint shader981691 = getMaterialIndex("white"); setIcon(elemshader981691, shader981691, 80, 100, 320, 330, 1, 1343, 232, 107, 107, 255); spawnElem(clientID, elemshader981691); //sent white shader uint elemshader9816912 = createElem(clientID); uint shader9816912 = getMaterialIndex("white"); setIcon(elemshader9816912, shader9816912, 80, 100, 210, 330, 1, 1344, 232, 107, 107, 255); spawnElem(clientID, elemshader9816912); //sent white shader uint elemshader9816913 = createElem(clientID); uint shader9816913 = getMaterialIndex("white"); setIcon(elemshader9816913, shader9816913, 80, 100, 430, 330, 1, 1345, 232, 107, 107, 255); spawnElem(clientID, elemshader9816913); //sent white shader uint elem889 = createElem(clientID); string elemtext889 = "^7Originally Made By LabelHD"; setText(elem889, uintBytes(createText(elemtext889)), 1, 20, 320, 425, 1); spawnElem(clientID, elem889); //send text } Credit to DArK x1337HaX for converting to TU8 Credit to Label For making it on TU6 Creeper Hud Elems TU8: Spoiler Code: private void creeper(int clientID) { Jtag.Call(0x82254940, -1, 0, "s loc_warnings 0"); Jtag.Call(0x82254940, -1, 0, "s loc_warningsUI 0"); //disable unlocalized text uint elem868 = createElem(clientID); string elemtext868 = "CREEPER IN MW2!?"; setText(elem868, uintBytes(createText(elemtext868)), 1, 20, 330, 0, 1, 19, 139, 0); spawnElem(clientID, elem868); //send text uint elemshader98 = createElem(clientID); uint shader98 = getMaterialIndex("white");//BASE!!!!!!!!!!!!!!!!!!!! setIcon(elemshader98, shader98, 400, 400, 320, 210, 1, 1337, 39, 116, 60); spawnElem(clientID, elemshader98); //sent white shader uint elemshader981 = createElem(clientID); uint shader981 = getMaterialIndex("white"); setIcon(elemshader981, shader981, 50, 50, 145, 35, 1, 1338, 75, 132, 119); spawnElem(clientID, elemshader981); //sent white shader uint elemshader9811 = createElem(clientID); uint shader9811 = getMaterialIndex("white"); setIcon(elemshader9811, shader9811, 50, 50, 195, 35, 1, 1339, 34, 74, 46); spawnElem(clientID, elemshader9811); //sent white shader uint elemshader98112 = createElem(clientID); uint shader98112 = getMaterialIndex("white"); setIcon(elemshader98112, shader98112, 50, 50, 145, 85, 1, 1340, 34, 74, 46); spawnElem(clientID, elemshader98112); //sent white shader uint elemshader9869 = createElem(clientID); uint shader9869 = getMaterialIndex("black");//RIGHT EYE setIcon(elemshader9869, shader9869, 100, 100, 420, 160, 1, 1341); spawnElem(clientID, elemshader9869); //sent white shader uint elemshader98691 = createElem(clientID); uint shader98691 = getMaterialIndex("black");//LEFT EYE setIcon(elemshader98691, shader98691, 100, 100, 220, 160, 1, 1342); spawnElem(clientID, elemshader98691); //sent white shader uint elemshader986911 = createElem(clientID); uint shader986911 = getMaterialIndex("black");//MOUTH setIcon(elemshader986911, shader986911, 200, 200, 320, 310, 1, 1342); spawnElem(clientID, elemshader986911); //sent white shader uint elemshader9869111 = createElem(clientID); uint shader9869111 = getMaterialIndex("white");//LEFT EYE SPEC. setIcon(elemshader9869111, shader9869111, 50, 50, 245, 235, 1, 1342, 39, 116, 60); spawnElem(clientID, elemshader9869111); //sent white shader uint elemshader98691111 = createElem(clientID); uint shader98691111 = getMaterialIndex("white");//RIGHT EYE SPEC. setIcon(elemshader98691111, shader98691111, 50, 50, 395, 235, 1, 1342, 95, 169, 141); spawnElem(clientID, elemshader98691111); //sent white shader uint elemshader986911111 = createElem(clientID); uint shader986911111 = getMaterialIndex("white");//RIGHT EYE SPEC. 2 setIcon(elemshader986911111, shader986911111, 50, 50, 445, 235, 1, 1343, 34, 74, 46); spawnElem(clientID, elemshader986911111); //sent white shader NECT(0); } private void NECT(int clientID) { uint elemshader9 = createElem(clientID); uint shader9 = getMaterialIndex("white");//RIGHT EYE SPEC. 3 setIcon(elemshader9, shader9, 50, 50, 445, 385, 1, 1344, 34, 74, 46); spawnElem(clientID, elemshader9); //sent white shader uint elemshader8 = createElem(clientID); uint shader8 = getMaterialIndex("white");//RIGHT EYE SPEC. 4 setIcon(elemshader8, shader8, 50, 50, 495, 335, 1, 1345, 34, 74, 46); spawnElem(clientID, elemshader8); //sent white shader uint elemshader7 = createElem(clientID); uint shader7 = getMaterialIndex("white");//RIGHT EYE SPEC. 5 setIcon(elemshader7, shader7, 50, 50, 495, 285, 1, 1346, 95, 169, 141); spawnElem(clientID, elemshader7); //sent white shader uint elemshader6 = createElem(clientID); uint shader6 = getMaterialIndex("white");//Mouth Spec. RIGHT setIcon(elemshader6, shader6, 50, 50, 345, 385, 1, 1347, 95, 169, 141); spawnElem(clientID, elemshader6); //sent white shader uint elemshader5 = createElem(clientID); uint shader5 = getMaterialIndex("white");//Mouth Spec. LEFT setIcon(elemshader5, shader5, 50, 50, 295, 385, 1, 1348, 39, 116, 60); spawnElem(clientID, elemshader5); //sent white shader uint elemshader4 = createElem(clientID); uint shader4 = getMaterialIndex("white");//TOP 1 setIcon(elemshader4, shader4, 50, 50, 345, 35, 1, 1349, 95, 169, 141); spawnElem(clientID, elemshader4); //sent white shader uint elemshader3 = createElem(clientID); uint shader3 = getMaterialIndex("white");//TOP 2 setIcon(elemshader3, shader3, 50, 50, 345, 85, 1, 1350, 34, 74, 46); spawnElem(clientID, elemshader3); //sent white shader uint elemshader2 = createElem(clientID); uint shader2 = getMaterialIndex("white");//TOP 3 setIcon(elemshader2, shader2, 50, 50, 345, 135, 1, 1351, 34, 74, 46); spawnElem(clientID, elemshader2); //sent white shader uint elemshader1 = createElem(clientID); uint shader1 = getMaterialIndex("white");//TOP RIGHT 1 setIcon(elemshader1, shader1, 50, 50, 495, 35, 1, 1352, 34, 74, 46); spawnElem(clientID, elemshader1); //sent white shader uint elemshader0 = createElem(clientID); uint shader0 = getMaterialIndex("white");//TOP RIGHT 2 setIcon(elemshader0, shader0, 50, 50, 495, 85, 1, 1353, 95, 169, 141); spawnElem(clientID, elemshader0); //sent white shader uint elemshader222 = createElem(clientID); uint shader222 = getMaterialIndex("white");//TOP RIGHT 3 setIcon(elemshader222, shader222, 50, 50, 495, 135, 1, 1354, 95, 169, 141); spawnElem(clientID, elemshader222); //sent white shader uint elemshader111 = createElem(clientID); uint shader111 = getMaterialIndex("white");//BOTTOM DARK LEFT 1 setIcon(elemshader111, shader111, 50, 50, 195, 335, 1, 1352, 34, 74, 46); spawnElem(clientID, elemshader111); //sent white shader uint elemshader01 = createElem(clientID); uint shader01 = getMaterialIndex("white");//BOTTOM DARK LEFT 2 setIcon(elemshader01, shader01, 50, 50, 195, 285, 1, 1353, 34, 74, 46); spawnElem(clientID, elemshader01); //sent white shader uint elemshader2221 = createElem(clientID); uint shader2221 = getMaterialIndex("white");//BOTTOM WHITE LEFT 3 setIcon(elemshader2221, shader2221, 50, 50, 145, 335, 1, 1354, 95, 169, 141); spawnElem(clientID, elemshader2221); //sent white shader } Credit to DArK x1337HaX for sitting down trying to get the coords exact for 4 hours straight xD Walking AC-130 Kill Streak in dpad: Spoiler Code: //Call it with this this.GiveKillStreak("uav", 0); this.MaxAmmo(clientID); public void GiveKillStreak(string killstreak, int clientID) { byte[] data = new byte[] { 4, 0x99 }; byte[] buffer2 = new byte[] { 1 }; byte[] buffer6 = new byte[2]; buffer6[1] = 1; byte[] buffer3 = buffer6; Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x236, 2, data, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x45e, 2, buffer3, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x46e, 2, data, out this.dark); GiveWeapon(0, "ac130_105mm_mp", 0); Thread.Sleep(0x1b58); GiveWeapon(0, "ac130_40mm_mp", 0); Thread.Sleep(0x1b58); GiveWeapon(0, "ac130_25mm_mp", 0); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x45f, 1, buffer2, out this.dark); } private void GiveWeapon(int Client, string Weapon, int Akimbo) { Jtag.Call(0x82210BC8, getPlayerState(Client), Jtag.Call(0x82210640, Weapon), 0, Akimbo); Jtag.Call(SVMW2, 0, 0, "a 3216 1"); Jtag.Call(0x82210BC8, getPlayerState(Client) + 14080, Jtag.Call(0x82210640, Weapon), 0, Akimbo); Jtag.Call(0x821E1F90, getEntity(Client), Jtag.Call(0x82210640, Weapon), 0, 999, 1); } public void MaxAmmo(int clientID) { Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x37b, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x38a, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x38b, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x2fe, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x2ff, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 890, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x363, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x362, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x387, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x386, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x2f7, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x2f6, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x36f, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x36e, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x2ef, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 750, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x357, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x356, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x2df, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x2de, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x35b, 1, this.max, out this.dark); Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerState(clientID) + 0x35a, 1, this.max, out this.dark); } No Spread: Spoiler Code: private void NoSpread() { byte[] Bte = new byte[4]; Bte[3] = Convert.ToByte(0x2); Jtag.SetMemory(getPlayerState(clientID) + 0x2D0, Bte); } No Recoil: Spoiler Code: private void NoRecoil { int intValue = 0x400; byte[] intBytes = BitConverter.GetBytes(intValue); if (BitConverter.IsLittleEndian) Array.Reverse(intBytes); byte[] result = intBytes; Jtag.SetMemory(getPlayerState(clientID) + 0x2BC, result); } Tele Loop: Spoiler Code: bool TELE = false; public void TeleportLoop() { XRPC Poker = new XRPC(); if (TELE == false) { TELE = true; float y, x, z; y = Poker.ReadFloat(getClientState(client) + 0x20); x = Poker.ReadFloat(getClientState(client) + 0x1c); z = Poker.ReadFloat(getClientState(client) + 0x24); while (TELE == true) { for (int i = 0; i < 18; i++) { Poker.WriteFloat(getClientState(i) + 0x20, y); Poker.WriteFloat(getClientState(i) + 0x1c, x); Poker.WriteFloat(getClientState(i) + 0x24, z); } } } else { TELE = false; } } Credit to Hacksorce Redboxes: Spoiler Code: Optimized Code by Const: void RedBox(int Client) { Console.OR_UInt32(getPlayerState(Client) + 0x10, 0x10); } private void redBoxMW2(uint clientMW2) { byte[] data = new byte[] { Convert.ToByte(0x10) }; Jtag.xbCon.DebugTarget.SetMemory(this.getPlayerStateMW2(clientMW2) + 0x13, 1, data, out act); } Credit to Le Gooby Haxor Cakes All Client NewsBar: Spoiler Code: public void ElemMove(int client, uint elem, float x, float y) { Jtag.SetMemory(elem + HElems.xOffset, ReverseBytes(BitConverter.GetBytes(x))); Jtag.SetMemory(elem + HElems.yOffset, ReverseBytes(BitConverter.GetBytes(y))); spawnElem(client, elem); } Code: public void Newsbar() { uint[] NewsbarshaderMat = new uint[18]; uint[] Newsbarshader = new uint[18]; uint[] Newsbar = new uint[18]; string Newsbartext = "^2Welcome To The Lobby ^7<||>^2Pimp Yo Sheit Here ^5<||> ^7Blahblahblah ^3<||>^7Hacksorce > all other script kiddies^9<||>^1Poped a molly i'm sweatin woop"; for (int i = 0; i < 18; i++) { Newsbar[i] = createElem(i); setText(Newsbar[i], uintBytes(createText(Newsbartext)), 6, 2, 300, 500, 1); spawnElem(i, Newsbar[i]); Newsbarshader[i] = createElem(i); NewsbarshaderMat[i] = getMaterialIndex("Black"); setIcon(Newsbarshader[i], NewsbarshaderMat[i], 20, 1000, 300, 500, 1,0,0,0,0,130); } while (true) { for (int i = 0; i < 18; i++) { for (int POS = 300; POS > -150; POS -= 2) { ElemMove(i, Newsbar[i], POS, 500); Thread.Sleep(5); if (POS < 149) { POS = 300; } } } } } Credit to Hacksorce Button Offsets/How to get Button offsets: Spoiler Code: public void getButton(int client) { MessageBox.Show(Convert.ToString(GB(0))); } string LT = "2056"; string RT = "65536"; string LB = "32768"; string RB = "16384"; string LStick = "139264"; string RStick = "256"; string X = "2097152"; string B = "262144"; string A = "1024"; string Start = "64"; // Pause Menu string RTplusLT = "67592"; string LTplusB = "264200"; string LBplusRB = "49152"; string LTplusX = "2099208"; string ProneplusX = "2097408"; Credit to ModdingCandy Set Player Angles: Spoiler Code: void SetPlayerAngles(int Client, float X, float Y, float Z) { XRPC Poker = new XRPC(); Poker.WriteFloat(0x830CBF80 + (Convert.ToUInt32(Client) * 0x3700) + 0x214, X); Poker.WriteFloat(0x830CBF80 + (Convert.ToUInt32(Client) * 0x3700) + 0x218, Y); Poker.WriteFloat(0x830CBF80 + (Convert.ToUInt32(Client) * 0x3700) + 0x21C, Z); } Credit to Hacksorce Hugh's Sharpshooter: Spoiler Code: private void HOSTSHARPSHOOTER() { Jtag.Call(0x82254940, -1, 0, "c Please be Patient While Infections Are Set And Sharpshooter is Set Up ...."); Jtag.Call(0x82254940, -1, 0, "d 13 256 0.00135 0 0 0.6 0.3 0 0"); Thread.Sleep(4000); Jtag.Call(0x82254940, -1, 0, "d 13 256 0.00135 0.875 0.525 0 0.3 0 0");//Orange Thread.Sleep(4000); Jtag.Call(0x82254940, -1, 0, "d 13 256 0.003 .1 .7 .2 0.3 0 0");//Green Thread.Sleep(4000); Jtag.Call(0x82254940, -1, 0, "d 13 256 0.00135 0.4 0.4 1 0.3 0 0");//Purple Thread.Sleep(4000); Thread.Sleep(4000); Jtag.Call(0x82254940, -1, 0, "d 13 256 0.00135 0 0 0.6 0.3 0 0"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "s loc_warnings 0"); Jtag.Call(0x82254940, -1, 0, "s loc_warningsUI 0"); Jtag.Call(0x82254940, -1, 0, "s cg_scoreboardPingText 1"); Jtag.Call(0x82254940, -1, 0, "s g_teamname_allies ^5SharpShooter^21.1_^3By_^5Hugh"); Jtag.Call(0x82254940, -1, 0, "s g_teamname_axis ^2TeamTrinity_^3Modz"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "s perk_weapreloadmultiplier 0.0001"); Jtag.Call(0x82254940, -1, 0, "s clanName {TT}"); Thread.Sleep(2000); Jtag.Call(0x82254940, 0, 0, "s clanName @HST"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c ^5Welcome To Trinitys SharpShooter 1.1!"); Jtag.Call(0x82254940, -1, 0, "c ^5There Is A ^2NEW Gun Every ^345 seconds!"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c ^3Starting In..... 5"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c ^3Starting In..... 4"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c ^3Starting In..... 3"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c ^3Starting In..... 2"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c ^3Starting In..... 1"); Thread.Sleep(1000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Thread.Sleep(1000); uint weapIndex = Jtag.Call(0x82210640, "ak47_mp"); uint pstate = 0x830CBF80; uint ent = 0x82F03600; Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_AK47"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "cheytac_fmj_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_Intervention"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "deserteagle_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_DesertEagle"); //deserteagle_mp Thread.Sleep(45000); //mp5k_akimbo_mp Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "mp5k_akimbo_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_MP5K"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "p90_thermal_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_P90"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "model1887_akimbo_fmj_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_Model1887"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "rpd_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_RPD"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x822BD9E0, "ray_gun_upgraded_zm"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 1); Jtag.Call(0x82143E8C, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c \"^2WTF.......??\""); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c \"^5RAY ^3GUN! ^2GIVEN!!!!\""); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "riotshield_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_RiotShield"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "uzi_reflex_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_UZI"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "ump45_akimbo_silencer_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_UMP45"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "tmp_reflex_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_TMP"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "m16_gl_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_M16"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "fn2000_thermal_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_F2000"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "famas_heartbeat_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_Famas"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "javelin_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Jtag.Call(0x82254940, -1, 0, "s missileJavAccelClimb 999999"); Jtag.Call(0x82254940, -1, 0, "s missileJavTurnRateDirect 5000"); Jtag.Call(0x82254940, -1, 0, "s missileJavTurnRateTop 5000"); Jtag.Call(0x82254940, -1, 0, "s missileJavSpeedLimitClimb 999999"); Jtag.Call(0x82254940, -1, 0, "s missileMacross 1"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^5Given_Javelin"); Thread.Sleep(45000); Jtag.Call(0x82210A28, getPlayerState(0), Jtag.Call(0x820E23C8, getPlayerState(0)), 1); Jtag.Call(0x82210640, "cheytac_fmj_mp"); Jtag.Call(0x82210BC8, pstate, weapIndex, 0, 0); Jtag.Call(0x821D4A00, ent, weapIndex, 0, 0); Jtag.Call(0x82254940, -1, 0, "c ^3End ^5Of ^2Game!"); Jtag.Call(0x82254940, -1, 0, "c ^5Hope ^3You ^2Enjoyed ^4Your ^6Stay!"); Jtag.Call(0x82254940, -1, 0, "c ^2First ^5XRPC ^3SharpShooter"); Jtag.Call(0x82254940, -1, 0, "c ^3Created ^2By ^5Hugh"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "c ^3Created ^2By ^5Hugh"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^3Created ^2By ^5Hugh"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^3Created ^2By ^5Hugh"); Jtag.Call(0x82254940, -1, 0, "c ^3Thanks ^2To ^5Droseum ^4For ^6FOG"); Jtag.Call(0x82254940, -1, 0, "c ^3Thanks ^2To ^5Droseum ^4For ^6FOG"); Jtag.Call(0x82254940, -1, 0, "f ^3Thanks ^2To ^5Droseum ^4For ^6FOG"); Jtag.Call(0x82254940, -1, 0, "f ^3Thanks ^2To ^5Droseum ^4For ^6FOG"); Thread.Sleep(1000); Jtag.Call(0x82254940, -1, 0, "f ^3Created ^2By ^5Hugh"); Thread.Sleep(1000); } Credit to iHugh DArK's Disco Fog: Spoiler Code: public void DISCOFEVER() { for (; ; ) { Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0.4 0.4 1 0.3 0 0");//Purple Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0.2 0.7 1 0.3 0 0");//Light Blue Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0 0 0 1 0 0");//Black Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 .852 .852 0 0.3 0 0");//Yellow Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0 0 0.6 0.3 0 0");//Dark Blue Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0.9 0.4 1 0.3 0 0");//Pink Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.003 .1 .4 .5 0.3 0 0");//Grey Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.003 .1 .7 .2 0.3 0 0");//Green Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0.55 0.80 1 0.3 0 0");//WHITE Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0.875 0.525 0 0.3 0 0");//Orange Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 0.875 0.525 0.632 0.3 0 0");//Weird Light Pink Wait(60); Jtag.Call(SVMW2, -1, 0, "d 13 256 0.00135 1 0 0 0.3 0 0");//Red /*extras Jtag.Call(SVMW2, -1, 0, "d 13 0 0.00135 0.6 0.6 0.6 1 0 0"); //Real Fog lighter Wait(30); Jtag.Call(SVMW2, -1, 0, "d 13 0 0.00135 0.5 0.5 0.5 1 0 0"); //Real Fog DARKER Wait(30);*/ } } Credit to DArK x1337HaX and CraigChrist8239 Double Jump: Spoiler Code: bool Doublejump == true; public void DoubleJump() { while (Doublejump == true) { if (GB(Convert.ToUInt32(client)) == 40000) { Thread.Sleep(15); float Velocity = Jtag.ReadFloat(getClientState(host) + 0x30); Velocity += 39; Jtag.WriteFloat(getClientState(host) + 0x30, Velocity); } } } To Stop It: Doublejump == false; Credit to Hacksorce Entity Model Manipulation: Spoiler Add this to your project: Code: public class cls { XRPC REMOTECALL = new XRPC(); public void attach(string model, string tag) { REMOTECALL.Call(0x8220E7A0, (0x82F03600), model, REMOTECALL.Call(0x8220CE38, tag), 1); } } Then put on top of the application this: Code: cls self = new cls(); Use it like so: Code: self.attach("XMODEL_NAME", "TAG_NAME"); Credit to iMaes   Last edited: Mar 24, 2019 Reply - [Like] Reactions: 1 person - Sep 4, 2018 - [] - [] - #3 - [] [Medaka] Medaka Getting There Member [] [] [] [] Joined Jun 30, 2015 Messages 391 Reaction score 373 Points 185 Sin$ 0 Perfect getHost function: C: bool isHost(int clientNum){ return Session_IsHost(0x83AC3DB0, clientNum); }   Reply - Sep 4, 2018 - Thread starter - [] - [] - #4 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 Replaced in OP [:)]   Last edited: Sep 4, 2018 Reply - Sep 4, 2018 - [] - [] - #5 - [] [Medaka] Medaka Getting There Member [] [] [] [] Joined Jun 30, 2015 Messages 391 Reaction score 373 Points 185 Sin$ 0 Better precache shader. C: template void writeData(int address, T data, char* info) { #ifdef _DEBUG debugPrint("address: 0x%X || data: 0x%X || info: %s", address, data, info); #endif if (!MmIsAddressValid((int*)address)) { #ifdef _DEBUG debugPrint("address 0x%X is invalid || info: %s", address, info); #endif } *(T*)address = data; } void precacheShader(char* shaderName) { if (*shaderName == '\0') { debugPrint("shader name string is empty"); return; } writeData(0x8220CA84, 0x41, "Prevent cache check branch from returning 0"); writeData(0x8220CA40, 0x60000000, "Allow any material to get cached"); G_MaterialIndex(shaderName); writeData(0x8220CA40, 0x40, "Restore non-cached material check"); writeData(0x8220CA40, 0x419A004C, "Restore branch"); }   Reply - [Like] Reactions: xAcme - Sep 4, 2018 - [] - [] - #6 - [] [Restrain] Restrain S-D Winchester Hidden Devils Cartel Member [] [] [] [] Joined Jan 1, 2012 Messages 4,330 Reaction score 2,177 Points 700 Sin$ 0 Thank you for this! it's a hassle finding stuff that are in individual threads. [:thumbsup:]   Reply - Sep 4, 2018 - Thread starter - [] - [] - #7 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 Medaka said: le snip snip[/code] Click to expand... Added it [:)]   Restrain said: Thank you for this! it's a hassle finding stuff that are in individual threads. [:thumbsup:] Click to expand... Im still looking, im trying to avoid adding anything no one will really use   Reply - Sep 5, 2018 - [] - [] - #8 - [] [Twain] Twain Kamehameha! Member [] [] [] [] Joined Jul 17, 2015 Messages 707 Reaction score 257 Points 190 Sin$ 0 Joker said: Im still looking, im trying to avoid adding anything no one will really use Click to expand... Tbh most of the codes you included from the old TU8 Code List are almost unusable due to Sleeps and just inefficient coding. Nonetheless here are few Function Addresses. I don't guarantee for the correctness of those Addresses and their naming. For the parameters just look in the COD4 Alpha or find them yourself.   Reply - [Like] Reactions: xAcme - Sep 5, 2018 - Thread starter - [] - [] - #9 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 Twain said: snip Click to expand... Yes I know but I cant exactly go and redo everything, Especially since basically no one does anything on this game anymore.. Thanks, Added it to the OP [:D]   Reply - Sep 6, 2018 - [] - [] - #10 - [] [Medaka] Medaka Getting There Member [] [] [] [] Joined Jun 30, 2015 Messages 391 Reaction score 373 Points 185 Sin$ 0 Here's every structure you would possibly need to mod this game Spoiler C: #ifndef __STRUCTURES_H__ #define __STRUCTURES_H__ struct tagInfo_s; #include "hud.h" enum buttons_t { BUTTON_RS = 0x4, BUTTON_LS = 0x2002, BUTTON_RT = 0x1, BUTTON_LT = 0x80800, BUTTON_RB = 0x4000, BUTTON_LB = 0x8000, BUTTON_X = 0x20, BUTTON_A = 0x400, BUTTON_START = 0x400000 }; enum team_t { TEAM_FREE, TEAM_AXIS, TEAM_ALLIES, TEAM_SPECTATOR }; enum serverState_t { SS_DEAD, SS_LOADING, SS_GAME }; enum sessionState_t { SESS_STATE_PLAYING, SESS_STATE_DEAD, SESS_STATE_SPECTATOR, SESS_STATE_INTERMISSION }; enum clientConnected_t { CON_DISCONNECTED, CON_CONNECTING, CON_CONNECTED }; enum objectiveState_t { OBJST_EMPTY, OBJST_ACTIVE, OBJST_INVISIBLE, OBJST_DONE, OBJST_CURRENT, OBJST_FAILED }; enum DvarSetSource { DVAR_SOURCE_INTERNAL, DVAR_SOURCE_EXTERNAL, DVAR_SOURCE_SCRIPT }; enum trType_t { TR_STATIONARY, TR_INTERPOLATE, TR_LINEAR, TR_LINEAR_STOP, TR_SINE, TR_GRAVITY, TR_ACCELERATE, TR_DECELERATE, TR_PHYSICS, TR_RAGDOLL }; enum entityType_t { ET_GENERAL, ET_PLAYER, ET_PLAYER_CORPSE, ET_ITEM, ET_MISSILE, ET_INVISIBLE, ET_SCRIPTMOVER, ET_SOUND_BLEND, ET_FX, ET_LOOP_FX, ET_PRIMARY_LIGHT, ET_TURRET, ET_HELICOPTER, ET_PLANE, ET_VEHICLE, ET_VEHICLE_COLLMAP, ET_VEHICLE_CORPSE, ET_VEHICLE_SPAWNER }; enum weapType_t { WEAPTYPE_BULLET, WEAPTYPE_GRENADE, WEAPTYPE_PROJECTILE, WEAPTYPE_RIOTSHIELD }; enum weapClass_t { WEAPCLASS_RIFLE, WEAPCLASS_SNIPER, WEAPCLASS_MG, WEAPCLASS_SMG, WEAPCLASS_SPREAD, WEAPCLASS_PISTOL, WEAPCLASS_GRENADE, WEAPCLASS_ROCKETLAUNCHER, WEAPCLASS_TURRET, WEAPCLASS_THROWINGKNIFE, WEAPCLASS_NON_PLAER, WEAPCLASS_ITEM }; enum PlayerHandIndex { WEAPON_HAND_RIGHT, WEAPON_HAND_LEFT, NUM_WEAPON_HANDS, WEAPON_HAND_DEFAULT = 0, }; enum pmtype_t { PM_NORMAL, PM_NORMAL_LINKED, PM_NOCLIP, PM_UFO, PM_SPECTATOR = 5, PM_INTERMISSION, PM_LASTSTAND, PM_DEAD, PM_DEAD_LINKED }; enum eventType_t { EV_NONE, EV_FOLIAGE_SOUND, EV_STOP_WEAPON_SOUND, EV_SOUND_ALIAS, EV_SOUND_ALIAS_AS_MASTER, EV_STOPSOUNDS, EV_STANCE_FORCE_STAND, EV_STANCE_FORCE_CROUCH, EV_STANCE_FORCE_PRONE, EV_STANCE_INVALID, EV_ITEM_PICKUP, EV_AMMO_PICKUP, EV_NOAMMO, EV_EMPTYCLIP, EV_EMPTY_OFFHAND_PRIMARY, EV_EMPTY_OFFHAND_SECONDARY, EV_OFFHAND_END_NOTIFY, EV_RESET_ADS, EV_RELOAD, EV_RELOAD_FROM_EMPTY, EV_RELOAD_START, EV_RELOAD_END, EV_RELOAD_START_NOTIFY, EV_RELOAD_ADDAMMO, EV_RAISE_WEAPON, EV_FIRST_RAISE_WEAPON, EV_PUTAWAY_WEAPON, EV_WEAPON_ALT, EV_WEAPON_SWITCH_STARTED, EV_PULLBACK_WEAPON, EV_FIRE_WEAPON, EV_FIRE_WEAPON_LASTSHOT, EV_FIRE_RICOCHET, EV_RECHAMBER_WEAPON, EV_EJECT_BRASS, EV_FIRE_WEAPON_LEFT, EV_FIRE_WEAPON_LASTSHOT_LEFT, EV_EJECT_BRASS_LEFT, EV_HITCLIENT_FIRE_WEAPON, EV_HITCLIENT_FIRE_WEAPON_LASTSHOT, EV_HITCLIENT_FIRE_WEAPON_LEFT, EV_HITCLIENT_FIRE_WEAPON_LASTSHOT_LEFT, EV_SV_FIRE_WEAPON, EV_SV_FIRE_WEAPON_LASTSHOT, EV_SV_FIRE_WEAPON_LEFT, EV_SV_FIRE_WEAPON_LASTSHOT_LEFT, EV_MELEE_SWIPE, EV_FIRE_MELEE, EV_PREP_OFFHAND, EV_USE_OFFHAND, EV_SWITCH_OFFHAND, EV_MELEE_HIT, EV_MELEE_MISS, EV_MELEE_BLOOD, EV_FIRE_TURRET, EV_FIRE_SENTRY, EV_FIRE_QUADBARREL_1, EV_FIRE_QUADBARREL_2, EV_BULLET_HIT, EV_BULLET_HIT_SHIELD, EV_BULLET_HIT_EXPLODE, EV_BULLET_HIT_CLIENT_SMALL, EV_BULLET_HIT_CLIENT_LARGE, EV_BULLET_HIT_CLIENT_EXPLODE, EV_BULLET_HIT_CLIENT_SHIELD, EV_EXPLOSIVE_IMPACT_ON_SHIELD, EV_EXPLOSIVE_SPLASH_ON_SHIELD, EV_GRENADE_BOUNCE, EV_GRENADE_STICK, EV_GRENADE_REST, EV_GRENADE_EXPLODE, EV_GRENADE_PICKUP, EV_GRENADE_LETGO, EV_ROCKET_EXPLODE, EV_ROCKET_EXPLODE_NOMARKS, EV_FLASHBANG_EXPLODE, EV_CUSTOM_EXPLODE, EV_CUSTOM_EXPLODE_NOMARKS, EV_CHANGE_TO_DUD, EV_DUD_EXPLODE, EV_DUD_IMPACT, EV_TROPHY_EXPLODE, EV_BULLET, EV_PLAY_FX, EV_PLAY_FX_ON_TAG, EV_STOP_FX_ON_TAG, EV_PLAY_FX_ON_TAG_FOR_CLIENTS, EV_PHYS_EXPLOSION_SPHERE, EV_PHYS_EXPLOSION_CYLINDER, EV_PHYS_EXPLOSION_JOLT, EV_RADIUSDAMAGE, EV_PHYS_JITTER, EV_EARTHQUAKE, EV_GRENADE_SUICIDE, EV_DETONATE, EV_NIGHTVISION_WEAR, EV_NIGHTVISION_REMOVE, EV_MISSILE_REMOTE_BOOST, EV_PLAY_RUMBLE_ON_ENT, EV_PLAY_RUMBLE_ON_POS, EV_PLAY_RUMBLELOOP_ON_ENT, EV_PLAY_RUMBLELOOP_ON_POS, EV_STOP_RUMBLE, EV_STOP_ALL_RUMBLES, EV_OBITUARY, EV_NO_PRIMARY_GRENADE_HINT, EV_NO_SECONDARY_GRENADE_HINT, EV_TARGET_TOO_CLOSE_HINT, EV_TARGET_NOT_ENOUGH_CLEARANCE_HINT, EV_LOCKON_REQUIRED_HINT, EV_VEHICLE_COLLISION, EV_VEHICLE_SUSPENSION_SOFT, EV_VEHICLE_SUSPENSION_HARD, EV_FOOTSTEP_SPRINT, EV_FOOTSTEP_RUN, EV_FOOTSTEP_WALK, EV_FOOTSTEP_PRONE, EV_JUMP, EV_LANDING_DEFAULT, EV_LANDING_BARK, EV_LANDING_BRICK, EV_LANDING_CARPET, EV_LANDING_CLOTH, EV_LANDING_CONCRETE, EV_LANDING_DIRT, EV_LANDING_FLESH, EV_LANDING_FOLIAGE, EV_LANDING_GLASS, EV_LANDING_GRASS, EV_LANDING_GRAVEL, EV_LANDING_ICE, EV_LANDING_METAL, EV_LANDING_MUD, EV_LANDING_PAPER, EV_LANDING_PLASTER, EV_LANDING_ROCK, EV_LANDING_SAND, EV_LANDING_SNOW, EV_LANDING_WATER, EV_LANDING_WOOD, EV_LANDING_ASPHALT, EV_LANDING_CERAMIC, EV_LANDING_PLASTIC, EV_LANDING_RUBBER, EV_LANDING_CUSHION, EV_LANDING_FRUIT, EV_LANDING_PAINTEDMETAL, EV_LANDING_RIOTSHIELD, EV_LANDING_SLUSH, EV_LANDING_PAIN_DEFAULT, EV_LANDING_PAIN_BARK, EV_LANDING_PAIN_BRICK, EV_LANDING_PAIN_CARPET, EV_LANDING_PAIN_CLOTH, EV_LANDING_PAIN_CONCRETE, EV_LANDING_PAIN_DIRT, EV_LANDING_PAIN_FLESH, EV_LANDING_PAIN_FOLIAGE, EV_LANDING_PAIN_GLASS, EV_LANDING_PAIN_GRASS, EV_LANDING_PAIN_GRAVEL, EV_LANDING_PAIN_ICE, EV_LANDING_PAIN_METAL, EV_LANDING_PAIN_MUD, EV_LANDING_PAIN_PAPER, EV_LANDING_PAIN_PLASTER, EV_LANDING_PAIN_ROCK, EV_LANDING_PAIN_SAND, EV_LANDING_PAIN_SNOW, EV_LANDING_PAIN_WATER, EV_LANDING_PAIN_WOOD, EV_LANDING_PAIN_ASPHALT, EV_LANDING_PAIN_CERAMIC, EV_LANDING_PAIN_PLASTIC, EV_LANDING_PAIN_RUBBER, EV_LANDING_PAIN_CUSHION, EV_LANDING_PAIN_FRUIT, EV_LANDING_PAIN_PAINTEDMETAL, EV_LANDING_PAIN_RIOTSHIELD, EV_LANDING_PAIN_SLUSH, EV_MANTLE }; enum vehicleManualMode_t { VEH_MANUAL_OFF, VEH_MANUAL_ON, VEH_MANUAL_TRANS }; enum helicopterMoveState_t { VEH_MOVESTATE_STOP, VEH_MOVESTATE_MOVE, VEH_MOVESTATE_HOVER }; enum vehicleDrivingState_t { VEH_DRIVE_NONE, VEH_DRIVE_PATH_CONSTRAINED, VEH_DRIVE_PATH_FOLLOW, VEH_DRIVE_TRACK, VEH_DRIVE_AI, VEH_DRIVE_PLAYER }; enum DvarType : char { DVAR_TYPE_BOOL, DVAR_TYPE_FLOAT, DVAR_TYPE_VEC2, DVAR_TYPE_VEC3, DVAR_TYPE_VEC4, DVAR_TYPE_INT, DVAR_TYPE_ENUM, DVAR_TYPE_STRING, DVAR_TYPE_COLOR, DVAR_TYPE_DEVTWEAK }; struct VariableStackBuffer { const char *pos; unsigned short size; unsigned short bufLen; unsigned int localId; char time; char buf[1]; }; union variableUnion { int intValue; float floatValue; unsigned int stringValue; float *vectorValue; const char *codePosValue; unsigned int pointerValue; VariableStackBuffer* stackValue; unsigned int entityOffset; }; struct variableValue_s { variableUnion u; // 0x0 int type; // 0x4 }; struct trace_t { float fraction; // 0x0 vec3 normal; // 0x4 int surfaceFlags; // 0x10 int contents; // 0x14 const char* material; // 0x18 char hitType; // 0x1C unsigned short hitId; // 0x1E unsigned short modelIndex; // 0x20 unsigned short partName; // 0x22 unsigned short partGroup; // 0x24 bool allsolid; // 0x26 bool startsolid; // 0x27 bool walkable; // 0x28 }; struct material_s { char* name; // 0x0 }; struct weaponVarientDef_s { char padding[0x8]; // 0x0 char* displayName; // 0x8 char padding2[0x24]; // 0x0 float penetrationMultiplier; // 0x30 char padding3[0x14]; // 0x34 material_s* hudIcon; // 0x48 char* getWeaponShader() { return hudIcon == 0 ? "NULL" : hudIcon->name; } }; struct weaponDef_s { char padding[0x2C]; // 0x0 weapType_t weapType; // 0x2C weapClass_t weapClass; // 0x30 int penetrateType; // 0x34 char padding2[0x624]; // 0x38 bool rifleBullet; // 0x65C char padding3[4]; // 0x65D bool bBulletImpactExplode; // 0x661 }; struct weaponParms { vec3 forward; // 0x0 vec3 right; // 0xC vec3 up; // 0x18 vec3 muzzleTrace; // 0x24 vec3 gunForward; // 0x30 int weaponIndex; // 0x3C weaponDef_s* weaponDef; // 0x40 weaponVarientDef_s* weaponVariant; // 0x44 }; struct EntHandle { short number; // 0x0 short infoIndex; // 0x2 }; struct trajectory_t { int trTime; // 0x0 trType_t trType; // 0x4 int trDuration; // 0x8 vec3 trBase; // 0xC vec3 trDelta; // 0x18 }; struct LerpEntityStatePlayer { int leanf; // 0x0 int movementDir; // 0x4 int torsoPitch; // 0x8 int waistPitch; // 0xC int offhandWeapon; // 0x10 int lastSpawnTime; // 0x14 }; struct LerpEntityStateAnonymous { int data[9]; // 0x0 }; struct LerpEntityStateMissile { int launchTime; // 0x0 int flightMode; // 0x4 }; struct LerpEntityStateScriptMover { int entToTakeMarksFrom; // 0x0 int xModelIndex; // 0x4 int animIndex; // 0x8 int animTime; // 0xC }; struct LerpEntityStateSoundBlend { int lerp; // 0x0 }; struct LerpEntityStateLoopFx { int cullDist; // 0x0 int period; // 0x4 }; struct LerpEntityStateTurret { float gunAngles[3]; // 0x0 int lastBarrelRotChangeTime; // 0x4 int lastBarrelRotChangeRate; // 0x8 int lastHeatChangeTime; // 0xC int lastHeatChangeLevel; // 0x10 }; struct LerpEntityStateVehicle { int indices; // 0x0 int flags; // 0x4 int bodyPitch; // 0x8 int bodyRoll; // 0xC int steerYaw; // 0x10 int gunPitch; // 0x14 int gunYaw; // 0x18 int playerIndex; // 0x1C int pad; // 0x20 }; struct LerpEntityStatePlane { int ownerNum; // 0x0 int enemyIcon; // 0x4 int friendIcon; // 0x8 }; union LerpEntityStateTypeUnion { LerpEntityStateTurret turret; LerpEntityStateLoopFx loopFx; LerpEntityStatePlayer player; LerpEntityStateScriptMover scriptMover; LerpEntityStateVehicle vehicle; LerpEntityStatePlane plane; LerpEntityStateMissile missile; LerpEntityStateSoundBlend soundBlend; LerpEntityStateAnonymous anonymous; }; struct LerpEntityState { int eFlags; // 0x0 trajectory_t pos; // 0x4 trajectory_t apos; // 0x24 LerpEntityStateTypeUnion u; // 0x34 }; struct entityState_s { int number; // 0x0 int eType; // 0x4 int time2; // 0x8 LerpEntityState lerp; // 0xC int otherEntityNum; // 0x7C int attackerEntityNum; // 0x80 int groundEntityNum; // 0x84 union { int brushmodel; int item; int xmodel; int primaryLight; } index; // 0x88 int loopSound; // 0x8C int surfType; // 0x90 int clientNum; // 0x94 int headIconTeam; // 0x98 int headIcon; // 0x9C unsigned int eventParm; // 0xA0 int solid; // 0xA4 int eventSequence; // 0xA8 int events[4]; // 0xAC int eventParms[4]; // 0xBC int weapon; // 0xCC int legsAnim; // 0xD0 int torsoAnim; // 0xD4 union { int scale; int eventParm2; int helicopterStage; } un1; // 0xD8 union { int hintString; int grenadeInPickupRange; int vehicleXModel; } un2; // 0xDC int clientLinkInfo; // 0xE0 int partBits[6]; // 0xE4 }; struct enitityShared_t { int clientMask; // 0x0 bool linked; // 0x4 char bmodel; // 0x5 char svFlags; // 0x6 bool inuse; // 0x7 vec3 mins; // 0x8 vec3 maxs; // 0x14 int contents; // 0x20 vec3 absmin; // 0x24 vec3 absmax; // 0x30 vec3 currentOrigin; // 0x3C vec3 currentAngles; // 0x48 EntHandle ownerNum; // 0x54 int eventTime; // 0x58 }; struct hudData_s { hudelem_s current[31]; // 0x0 hudelem_s archival[31]; // 0x1458 }; struct playerState_s { int commandTime; // 0x0 int pm_type; // 0x4 int bobCycle; // 0x8 int pm_flags; // 0xC int otherFlags; // 0x10 int linkFlags; // 0x14 int pm_time; // 0x18 vec3 origin; // 0x1C vec3 velocity; // 0x28 int grenadeTimerLeft; // 0x34 int throwBackGrenadeOwner; // 0x38 char padding[0x18]; // 0x3C int gravity; // 0x54 float leanf; // 0x58 int speed; // 0x5C vec3 deltaAngles; // 0x60 int groundEntityNum; // 0x6C vec3 vLadderVec; // 0x70 int jumpTime; // 0x7C float jumpOriginZ; // 0x80 char padding2[0x24]; // 0x84 int corpseIndex; // 0xA8 int movementDir; // 0xAC int eFlags; // 0xB0 char padding3[0x50]; // 0xB4 int clientNum; // 0x104 int viewModelIndex; // 0x108 vec3 viewAngles; // 0x10C char padding4[0x38]; int health; // 0x150 char padding5[0x4]; // 0x154 int maxHealth; // 0x158 char padding6[0x58]; // 0x15C int locationSelectionInfo; // 0x1B4 char padding7[0x1C]; // 0x1B8 float moveSpeedScaleMultiplier; // 0x1D4 char padding8[0xDC]; // 0x1D8 int weaponId; // 0x2B4 char padding9[4]; // 0x2B8 int weaponState; // 0x2BC float weaponPosFrac; // 0x2C0 float aimSpreadScale; // 0x2C4 char padding10[0x8C]; // 0x2C8 int secondaryWeaponAmmoCount; // 0x354 char padding11[0x14]; // 0x158 int primaryWeaponAmmoCount; // 0x36C char padding12[0xB8]; // 0x370 int perks; // 0x428 int perkSlotCount; // 0x42C char padding13[0x5C]; // 0x430 int shellshockIndex; // 0x48C int shellshockTime; // 0x490 int shellshockDuration; // 0x494 char padding14[0x3B0]; // 0x370 hudData_s hud; // 0x848 char padding15[0x98]; // 0x318C }; struct usercmd_s { int serverTime; // 0x0 int buttons; // 0x4 int angles[3]; // 0x8 char forwardmove; // 0x14 char rightmove; // 0x15 char undefined2[2]; // 0x16 float meleeChargeYaw; // 0x18 char meleeChargeDist; // 0x1C char _padding[4]; // 0x1D char selectedLoc[2]; // 0x21 char selectedLocAngle; // 0x3 int unknown; // 0x24 }; struct pmove_t { playerState_s* ps; // 0x0 }; struct pml_t { vec3 forward; vec3 right; vec3 up; float frametime; int msec; int walking; int groundPlane; int almostGroundPlane; trace_t groundTrace; float impactSpeed; vec3 previous_origin; vec3 previous_velocity; }; struct playerTeamState_t { int location; // 0x0 }; struct clientState_s { int clientNum; // 0x0 int team; // 0x4 int modelIndex; // 0x8 int dualWielding; // 0xC int riotShieldNext; // 0x10 int attachModelIndex[6]; // 0x14 int attachTagIndex[6]; // 0x2C char name[32]; // 0x44 float maxSprintTimeMultiplier; // 0x64 int rank; // 0x68 int prestige; // 0x6C int perks[2]; // 0x70 int voiceConnectivityBits; // 0x78 int clanIndex; // 0x7C char clanName[4]; // 0x80 int attachedVehEntNum; // 0x84 int attachedVehSlotIndex; // 0x88 }; struct clientSession_s { sessionState_t sessionState; // 0x3190 int clientNum; // 0x3194 int score; // 0x3198 int deaths; // 0x319C int kills; // 0x31A0 int assists; // 0x31A4 short scriptPersId; // 0x31A8 short undefined; // 0x31AA clientConnected_t connect; // 0x31AC usercmd_s cmd; // 0x3200 usercmd_s oldCmd; // 0x31D8 int isLocalClient; // 0x31F8 int predictItemPickup; // 0x31FC char name[32]; // 0x31DC int maxHealth; // 0x3228 int enterTime; // 0x322C playerTeamState_t teamState; // 0x3230 int voteCount; // 0x3234 int teamVoteCount; // 0x3238 float moveSpeedScaleMultiplier; // 0x323C int viewmodelIndex; // 0x3240 int noSpectate; // 0x3244 int teamInfo; // 0x3248 clientState_s cs; // 0x324C char padding2[16]; // 0x3250 int psOffsetTime; // 0x32E8 char padding3[0x130]; // 0x32EC }; struct viewClamp { vec2 start; // 0x0 vec2 current; // 0x8 vec2 goal; // 0x10 }; struct viewClampState { viewClamp min; // 0x0 viewClamp max; // 0x18 float accelTime; // 0x30 float decelTime; // 0x34 float totalTime; // 0x38 float startTime; // 0x3C }; struct gclient_s { playerState_s ps; // 0x0 clientSession_s sess; // 0x3190 int spectatorClient; // 0x341C int mFlags; // 0x3420 char padding[4]; // 0x3424 int lastCmdTime; // 0x3428 int buttons; // 0x342C int oldButtons; // 0x3430 int latched_buttons; // 0x3434 int buttonsSinceLastFrame; // 0x3438 vec3 oldOrigin; // 0x343C float fGunPitch; // 0x3448 float fGunYaw; // 0x344C char padding2[8]; // 0x3450 vec3 damage_from; // 0x3458 int damage_fromWorld; // 0x3464 int accurateCount; // 0x3468 int accuracy_shots; // 0x346C int accuracy_hits; // 0x3470 int inactivityTime; // 0x3474 int inactivityWarning; // 0x3478 int lastVoiceTime; // 0x347C int switchTeamTime; // 0x3480 float currentAimSpreadScale; // 0x3484 float prevLinkedInvQuat[4]; // 0x3488 bool link_rotationMovesEyePos; // 0x3498 bool link_doCollision; // 0x3499 bool link_useTagAnglesForViewAngles; // 0x349A bool link_useBaseAnglesForViewClamp; // 0x349B float linkAnglesFrac; // 0x349C viewClampState link_viewClamp; // 0x34A0 }; struct turretInfo_s { int inuse; // 0x0 int flags; // 0x4 int fireTime; // 0x8 vec2 arcmin; // 0xC vec2 arcmax; // 0x14 float dropPitch; // 0x1C int stance; // 0x20 int prevStance; // 0x24 int fireSndDelay; // 0x28 vec3 userOrigin; // 0x2C float playerSpread; // 0x38 int state; // 0x3C EntHandle target; // 0x40 vec3 targetOffset; // 0x44 EntHandle manualTarget; // 0x50 vec3 manualTargetOffset; // 0x54 int targetTime; // 0x60 int stateChangeTime; // 0x64 int modeChangeTime; // 0x68 float maxRangeSquared; // 0x6C int prevTargetIndex; // 0x70 int eTeam; // 0x74 int convergenceTime[2]; // 0x78 float convergenceHeightPercent; // 0x80 vec3 targetPos; // 0x84 char padding[0x34]; // 0x88 }; struct item_ent_t { int ammoCount; // 0x0 int clipAmmoCount[2]; // 0x4 int weaponIndex; // 0xC bool dualWieldItem; // 0x10 }; struct trigger_ent_t { int threshold; // 0x0 int accumulate; // 0x4 int timestamp; // 0x8 int singleUserEntIndex; // 0xC int damage; // 0x10 bool requireLookAt; // 0x14 }; struct mover_ent_t { float decelTime; // 0x0 float aDecelTime; // 0x4 float speed; // 0x8 float aSpeed; // 0xC float midTime; // 0x10 float aMidTime; // 0x14 float pos1[3]; // 0x18 float pos2[3]; // 0x24 float pos3[3]; // 0x30 float apos1[3]; // 0x3C float apos2[3]; // 0x48 float apos3[3]; // 0x54 }; struct corpse_ent_t { int deathAnimStartTime; // 0x0 }; struct VehicleTags { int player; // 0x0 int detach; // 0x4 int popout; // 0x8 int body; // 0xC int turret; // 0x10 int turret_base; // 0x14 int barrel; // 0x18 int flash[5]; // 0x1C int wheel[6]; // 0x34 }; struct scr_vehicle_s; struct gentity_s { entityState_s s; // 0x0 enitityShared_t r; // 0xFC gclient_s* client; // 0x158 char padding[4]; // 0x15C scr_vehicle_s* vehicle; // 0x160 int physicsBody; // 0x164 short modelId; // 0x168 bool physicsObject; // 0x16A bool takedamage; // 0x16B char active; // 0x16C char handler; // 0x16D char team; // 0x16E bool freeAfterEvent; //0x16F char padding3[2]; // 0x170 short classname; // 0x172 short code_classname; // 0x174 short target; // 0x178 short targetname; // 0x17A int attachIgnoreCollision; // 0x17C int spawnFlags; // 0x180 int flags; // 0x184 int unlinkAfterEvent; // 0x188 int clipMask; // 0x18C int processedFrame; // 0x190 EntHandle parent; // 0x194 int nextthink; // 0x198 int health; // 0x19C int maxHealth; // 0x1A0 int damage; // 0x1A4 int count; // 0x1A8 union { item_ent_t item[2]; trigger_ent_t trigger; mover_ent_t mover; corpse_ent_t corpse; }; // 0x1AC EntHandle projEntity; // 0x20C EntHandle linkedEntity; // 0x210 tagInfo_s* tagInfo; // 0x214 gentity_s* tagChildren; // 0x218 short attachModelNames[19]; // 0x21C short attachTagNames[19]; // 0x242 int useCount; // 0x268 int nextFree; // 0x26C int birthTime; // 0x270 char padding4[10]; // 0x274 }; struct scr_vehicle_s { gentity_s* ent; // 0x0 LerpEntityStateVehicle* lerp; // 0x4 vehicleDrivingState_t drivingState; // 0x8 char padding[322]; // 0xC EntHandle vehEnt; // 0x150 char padding2[34]; // 0x154 float maxPitchAngle; // 0x178 float maxRollAngle; // 0x17C char padding3[176]; // 0x180 int defIndex; // 0x230 int team; // 0x234 unsigned int useHintStringIndex; // 0x238 helicopterMoveState_t heliMoveState; // 0x23C float speed; // 0x240 char padding4[136]; // 0x244 short lookAtText0; // 0x2CC short lookAtText1; // 0x2CE vehicleManualMode_t manualMode; // 0x2D0 float manualSpeed; // 0x2D4 float manualAccel; // 0x2D8 float manualDecel; // 0x2DC float manualTime; // 0x2E0 char padding5[16]; // 0x2E4 float turningAbility; // 0x2F4 int hasTarget; // 0x2F8 char padding7[8]; // 0x2F0 int stopAtGoal; // 0x304 int stopping; // 0x308 int targetEnt; // 0x30C EntHandle lookAtEnt; // 0x310 char padding8[28]; // 0x314 vec3 goalPosition; // 0x330 float yawOverShoot; // 0x344 char padding9[50]; // 0x348 VehicleTags boneIndex; // 0x374 // Vehicle functions int getVehicleServerDef(); float getSpeed(); float getGoalSpeedMph(); void fireWeapon(); void setMaxPitchRoll(float pitch, float roll); void setTurningAbility(float turn); void setJitterParams(vec3 range, float minperiod, float maxperiod); void setYawSpeed(float speed, float accel, float decel, float overshootPercent); void setWeapon(char* weaponName); void setGoalPos(vec3 origin, bool slowDownNearGoal); void setSpeed(float speed, float accel, float decel); }; struct tagInfo_s { gentity_s* parent; // 0x0 gentity_s* next; // 0x4 short name; // 0x8 bool blendToParent; // 0xA int index; // 0xC float axis[4][3]; // 0x10 float parentInvAxis[4][3]; // 0x40 }; struct objective_t { objectiveState_t state; // 0x0 vec3 origin; // 0x4 int entNum; // 0x10 int teamNum; // 0x14 int icon; // 0x18 }; struct cached_tag_mat_t { int time; // 0x0 int entnum; // 0x4 short name; // 0x8 float tagMat[4][3]; // 0xC }; struct SpawnVar { bool spawnVarsValid; // 0x0 int numSpawnVars; // 0x4 char* spawnVars[64][2]; // 0x8 int numSpawnVarChars; // 0x208 char spawnVarChars[2048]; // 0x20C }; struct level_locals_t { gclient_s* client; // 0x0 gentity_s* entity; // 0x4 int num_entities; // 0x8 gentity_s* firstFreeEnt; // 0xC gentity_s* lastFreeEnt; // 0x10 turretInfo_s* turret; // 0x14 int iSearchFrame; // 0x18 int initializing; // 0x1C int clientIsSpawning; // 0x20 objective_t objectives[32]; // 0x24 int maxclients; // 0x3A4 int framenum; // 0x3A8 int time; // 0x3AC int previousTime; // 0x3B0 int frametime; // 0x3B4 int startTime; // 0x3B8 int teamScores[4]; // 0x3BC int lastTeammateHealthTime; // 0x3CC int bUpdateScoresForIntermission; // 0x3D0 bool teamHasRadar[4]; // 0x3D4 int pingUpdateTime; // 0x3D8 int manualNameChange; // 0x3DC int numConnectedClients; //0x3E0 int sortedClients[18]; // 0x3E4 SpawnVar spawnVar; // 0x42C int savepersist; // 0xE38 int droppedWeaponCue[32]; // 0xE3C float fFogOpaqueDist; // 0xEBC float fFogOpaqueDistSqrd; // 0xEC0 int currentPlayerClone; // 0xEC4 char padding[0x183C]; // 0xEC8 cached_tag_mat_t cachedTagMat; // 0x2704 int scriptPrintChannel; // 0x2740 vec2 compassMapUpperLeft; // 0x2744 vec2 compassMapWorldSize; // 0x274C vec2 compassNorth; // 0x2754 char pading2[0xFA4]; // 0x275C }; struct server_t { serverState_t state; // 0x0 int timeResidual; // 0x4 char padding[0x81A]; // 0x8 short configStrings[0x3F8]; // 0x822 }; struct client_s { int state; // 0x0 int sendAsActive; // 0x4 char padding[0x644]; // 0x8 char* dropReason; // 0x64C char lastClientCommandString[1024]; // 0x650 char padding2[0x848]; // 0xA50 char name[32]; // 0x1298 char padding3[0x30830]; // 0x16B4 char playerGuid[17]; // 0x31AE8 short scriptId; // 0x31AE6 int testClient; // 0x31AFC }; #endif // __STRUCTURES_H__ Assuming you are using every structure I provided. Here is a little sugar to go with your coffee. Write Data Spoiler C: template void writeData(int address, T data, char* info) { #ifdef _DEBUG debugPrint("[writeData] address: 0x%X || data: 0x%X || info: %s", address, data, info); #endif if (!MmIsAddressValid((int*)address)) { #ifdef _DEBUG debugPrint("[writeData] Address 0x%X is invalid || info: %s", address, info); #endif } *(T*)address = data; } Magic Bullet: Spoiler C: gentity_s* magicBullet(gentity_s* owner, char* weaponName, vec3 start, vec3 end) { weaponParms wp; gentity_s* temp = nullptr; int weaponId = G_GetWeaponIndexForName(weaponName); if (owner == nullptr) { debugPrint("[magicBullet] no valid owner for bullet %s", weaponName); debugPrint("[magicBullet] using world entity"); owner = (gentity_s*)(0x82F03600 + (20 << 16)) - 0x500; } if (weaponId == 0) { debugPrint("[magicBullet] invalid weapon name %s", weaponName); return nullptr; } float len = (end - start).length(); wp.weaponIndex = weaponId; wp.weaponDef = *(weaponDef_s**)(0x8255A320 + (wp.weaponIndex * 4)); wp.weaponVariant = *(weaponVarientDef_s**)(0x82557750 + (wp.weaponIndex * 4)); wp.muzzleTrace = start; wp.forward = ((end - start) * (len >= 0.0f ? 1.0f / len : 1.0f)); switch (wp.weaponDef->weapType) { case WEAPTYPE_BULLET: writeData(0x8221037C, NOP, "[magicBullet] Disable Bullet_Fire"); Bullet_Fire(owner, 0.0f, &wp, 0, WEAPON_HAND_DEFAULT, level->time); writeData(0x8221037C, 0x4BFBF065, "[magicBullet] Restore Bullet_Fire"); break; case WEAPTYPE_GRENADE: writeData(0x821EE754, NOP, "[magicBullet] Scr_AddString patch"); writeData(0x821EE75C, NOP, "[magicBullet] Scr_AddEntity patch"); writeData(0x821EE778, NOP, "[magicBullet] Scr_Notify patch"); writeData(0x821EE78C, NOP, "[magicBullet] Scr_Notify patch #2"); temp = Weapon_GrenadeLauncher_Fire(owner, weaponId, 0, &wp); writeData(0x821EE754, 0x4805DF55, "[magicBullet] Scr_AddString restore"); writeData(0x821EE75C, 0x4801AE25, "[magicBullet] Scr_AddEntity restore"); writeData(0x821EE778, 0x4801B031, "[magicBullet] Scr_Notify restore"); writeData(0x821EE78C, 0x4801B01D, "[magicBullet] Scr_Notify restore #2"); break; case WEAPTYPE_PROJECTILE: writeData(0x821EEE8C, NOP, "[magicBullet] Scr_AddString patch"); writeData(0x821EEE94, NOP, "[magicBullet] Scr_AddEntity patch"); writeData(0x821EEEA4, NOP, "[magicBullet] Scr_Notify patch"); temp = Weapon_RocketLauncher_Fire(owner, weaponId, 0.0f, &wp, (vec3*)0x8202FF88, 0, true); writeData(0x821EEEA4, 0x4801A905, "[magicBullet] Scr_Notify restore"); writeData(0x821EEE94, 0x4801A6ED, "[magicBullet] Scr_AddEntity restore"); writeData(0x821EEE8C, 0x4805D81D, "[magicBullet] Scr_AddString restore"); break; default: debugPrint("[magicBullet] unknown weapon %s", weaponName); return nullptr; } if (wp.weaponDef->weapType != WEAPTYPE_BULLET) { EntHandle_SetEnt(&temp->r.ownerNum, owner); EntHandle_SetEnt(&temp->parent, owner); } gentity_s* tmp = G_TempEntity(&start, EV_FIRE_WEAPON); tmp->s.un1.eventParm2 = 0; tmp->s.eventParms[tmp->s.eventSequence] = 0; tmp->s.weapon = weaponId; tmp->s.eventParm = 0; return temp; } Get Tag Origin: Spoiler C: vec3 getTagOrigin(gentity_s* entity, short tagId) { bool canUseSameTag = entity->s.number != level->cachedTagMat.entnum || level->time != level->cachedTagMat.time || tagId != level->cachedTagMat.name; if (canUseSameTag) { if (SV_DObjExist(entity) && G_DObjGetWorldTagMatrix(entity, tagId, level->cachedTagMat.tagMat)) { level->cachedTagMat.entnum = entity->s.number; level->cachedTagMat.time = level->time; level->cachedTagMat.name = tagId; } else debugPrint("[getTagOrigin] could not find tag %s", SL_ConvertToString(tagId)); } return *(vec3*)&level->cachedTagMat.tagMat[3][0]; } Trigger FX Spoiler C: void triggerFx(gentity_s* entity, int time) { entity->s.time2 = level->time + (time * 1000.0f); }   Last edited: Sep 6, 2018 Reply - Sep 6, 2018 - Thread starter - [] - [] - #11 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 Medaka said: snip Click to expand... Hold crap! Nice share, added to OP!   Reply - Sep 8, 2018 - [] - [] - #12 - [] [XeCrout] XeCrout JesusSalas - Xbox Dev Member [] [] [] [] Joined Oct 7, 2015 Messages 412 Reaction score 152 Points 150 Sin$ 0 i love you joker   Reply - Sep 19, 2018 - [] - [] - #13 - [] [Medaka] Medaka Getting There Member [] [] [] [] Joined Jun 30, 2015 Messages 391 Reaction score 373 Points 185 Sin$ 0 Scr_LoadFX - Able to cache uncached effects and use them in game such as the water effect. C: int Scr_LoadFX(char* fx_name) { if (!strncmp(fx_name, "fx/", 3) == 0) { debugPrint("effect name should start after the 'fx' folder."); return; } writeData(0x8220CF4C, 0x41, "Prevent initializing check from returning 0"); int effectIndex = G_EffectIndex(fx_name); writeData(0x8220CF4C, 0x40, "Restore initializing check"); return effectIndex; } Usage: int my_effect = Scr_LoadFX("fx/props/grenadeExp_water"); You must append fx/ infront of each effect you wish to cache, otherwise, it will not work.   Reply - [Like] Reactions: Joker - Sep 19, 2018 - [] - [] - #14 - [] [SC58] SC58 Enthusiast Member [] [] [] [] Joined Apr 10, 2013 Messages 358 Reaction score 129 Points 125 Sin$ 7 Block it so people can't end the game when you are hosting as well as other command. SV_Cmd_Argv min arg is 0 and max arg is 8 Code: void ClientCommand(int clientNum) { gentity_s *ent = &g_entities[clientNum]; if (ent->client) { const char *cmdArgZero = SV_Cmd_Argv(0); // you can also add command to be monitored when clients try and use a command like // set or bind to block them from executing or whatever if (!strcmp(cmdArgZero, "n")) { Cmd_CheckNetNotify_f(clientNum); } else if (!strcmp(cmdArgZero, "s")) { SendScoreboard(ent); } else if (!strcmp(cmdArgZero, "mr")) { if (!strcmp(SV_Cmd_Argv(3), "endround")) // Blocks the endgame crap people use { if (Session_IsHost(g_serverSession, clientNum)) // only you can end the game Cmd_MenuResponse_f(ent); else // add a kick client function or leave it blank to do nothing when a client calls the command } else { Cmd_MenuResponse_f(ent); } } } }   Reply - Sep 19, 2018 - Thread starter - [] - [] - #15 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 SC58 said: snip Click to expand... Added, thanks for the share [:D]   Reply - Sep 26, 2018 - [] - [] - #16 - [] 0 0x60 Newbie Member [] [] [] [] Joined Sep 1, 2018 Messages 15 Reaction score 1 Points 45 Sin$ 0 Hey Joker i used this list to get the silver to gold spoof and it doesnt and wont work.. This is a message that twain said to me and though id share it here : That's because '0x2120x1BC' is no valid "offset". An Address can only contain hecadecimal. That's why it fails at the second x, because x is no valid hexadecimal character. And after i did some more research i found a site with 17526 offsets for a gold spoof which i made a post about on PC scripting for both JRPC & XRPC and im not sure if it 100% works as i havent tested it yet, but hoping someone could test it and incase it does work i want to leave you both version of the code in XRPC & JRPC to add to your list so other people can add to the tool Code: //JRPC Using JRPC_Client; IXboxConsole Evansy; //This is what you are calling your "console" For example you'd do Evansy.SetMemory but Evansy can be anything you want to call it.. Evansy.SetMemory(0x816DAAFC, new byte [] { 0x38, 0x60, 0x00, 0x06}); Evansy.SetMemory(0x81A3BCB8, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD640, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6B4, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6AC, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6A0, new byte [] { 0x38, 0x60, 0x00, 0x01}); Code: //XRPC Using XRPCLib; XRPC Evansy = new XRPC(); //This is what you are calling your "console" For example you'd do Evansy.SetMemory but Evansy can be anything you want to call it.. also the same concept as the last but if this doesnt work you can try the Resolve Function by doing this.. Evansy.SetMemory(Evansy.ResolveFunction("xam.xex", offset-here, new byte[] { Bytes Here })); //But i was having problems using this one Evansy.SetMemory(0x816DAAFC, new byte [] { 0x38, 0x60, 0x00, 0x06}); Evansy.SetMemory(0x81A3BCB8, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD640, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6B4, new byte [] { 0x39, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6AC, new byte [] { 0x38, 0x60, 0x00, 0x01}); Evansy.SetMemory(0x816DD6A0, new byte [] { 0x38, 0x60, 0x00, 0x01});   Reply - Sep 27, 2018 - Thread starter - [] - [] - #17 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 0x60 said: snip Click to expand... Okay, I have replaced it in the OP with credits to you (?), Here's hoping someone can test   Reply - Sep 27, 2018 - [] - [] - #18 - [] 0 0x60 Newbie Member [] [] [] [] Joined Sep 1, 2018 Messages 15 Reaction score 1 Points 45 Sin$ 0 Joker said: Okay, I have replaced it in the OP with credits to you (?), Here's hoping someone can test Click to expand... I’m not sure who found the offsets it was on a different site. And I believe they said to check “XamUserprivilege” if I worded that correctly. But if anyone wants to double check it using xextool look along the lines of Xam & Privilege   Reply - Sep 27, 2018 - Thread starter - [] - [] - #19 - [] OP OP [Joker] Joker Arkham Asylum Member [] [] [] [] Joined Dec 31, 2013 Messages 1,944 Reaction score 1,077 Points 380 Sin$ 0 0x60 said: snip Click to expand... Ahhh alright fair enough, XamUserCheckPrivilege is where its at I believe TreyZ1337 Hook this to change the music from the game Note: Not tested online and you can only change the music to other music (ex.: "music_mainmenu_mp" to "music_mainmenu") If you are smart enough you can get custom music. Because Im not lol Offset: 0x82292540 Code: __declspec(n***d) int Com_FindSoundAlias_FastFile_Stub(const char *name) { __asm { nop nop nop nop nop li r3, 0x1 blr } } int Com_FindSoundAlias_FastFile_Hook(const char *name) { if(!strcmp(name, "music_mainmenu_mp")) { name = "music_mainmenu"; /*music_challenge_factory music_mainmenu music_mainmenu_mp music_opening*/ } return Com_FindSoundAlias_FastFile_Stub(name); }