Page 1 of 1

Orpheu: CBase Virtual Functions Offsets

Posted: Mon Sep 28, 2026 12:16 pm
by Archive-Poster
Well, all of you know the module Hamsandwich, so my idea was to replace this module with Orpheu, so I decided to make these signatures, now we can use Orpheu to hook CBase virtual function instead of Hamsandwich

- This is the list of offsets of all what I did:

Code: Select all

// Auto reconstructed from vtable block @ 0x0018A480
// from "hl.so", by ida_vtables.idc
0	CBasePlayer::Spawn(void)
1	CBasePlayer::Precache(void)
2	CBaseMonster::KeyValue(KeyValueData_s *)
3	CBasePlayer::Save(CSave &)
4	CBasePlayer::Restore(CRestore &)
5	CBasePlayer::ObjectCaps(void)
6	CBaseEntity::Activate(void)
7	CBaseEntity::SetObjectCollisionBox(void)
8	CBasePlayer::Classify(void)
9	CBaseEntity::DeathNotice(entvars_s *)
10	CBasePlayer::TraceAttack(entvars_s *,float,Vector,TraceResult *,int)
11	CBasePlayer::TakeDamage(entvars_s *,entvars_s *,float,int)
12	CBasePlayer::TakeHealth(float,int)
13	CBasePlayer::Killed(entvars_s *,int)
14	CBaseMonster::BloodColor(void)
15	CBaseEntity::TraceBleed(float,Vector,TraceResult *,int)
16	CBaseEntity::IsTriggered(CBaseEntity*)
17	CBaseMonster::MyMonsterPointer(void)
18	CBaseEntity::MySquadMonsterPointer(void)
19	CBaseToggle::GetToggleState(void)
20	CBasePlayer::AddPoints(int,int) 
21	CBasePlayer::AddPointsToTeam(int,int)
22	CBasePlayer::AddPlayerItem(CBasePlayerItem *)
23	CBasePlayer::RemovePlayerItem(CBasePlayerItem *)
24	CBasePlayer::GiveAmmo(int,char *,int)
25	CBaseToggle::GetDelay(void)
26	CBaseMonster::IsMoving(void)
27	CBaseEntity::OverrideReset(void)
28	CBaseEntity::DamageDecal(int)
29	CBaseEntity::SetToggleState(int)
30	CBasePlayer::StartSneaking(void)
31	CBasePlayer::StopSneaking(void)
32	CBaseEntity::OnControls(entvars_s *)
33	CBasePlayer::IsSneaking(void)
34	CBasePlayer::IsAlive(void)
35	CBaseEntity::IsBSPModel(void)
36	CBaseEntity::ReflectGauss(void)
37	CBaseEntity::HasTarget(unsigned int)
38	CBaseEntity::IsInWorld(void)
39	CBasePlayer::IsPlayer(void)
40	CBasePlayer::IsNetClient(void)
41	CBasePlayer::TeamID(void)
42	CBaseEntity::GetNextTarget(void)t
43	CBaseEntity::Think(void)
44	CBaseEntity::Touch(CBaseEntity*)
45	CBaseEntity::Use(CBaseEntity*,CBaseEntity*,USE_TYPE,float)
46	CBaseEntity::Blocked(CBaseEntity*)
47	CBaseEntity::Respawn(void)
48	CBaseEntity::UpdateOwner(void)
49	CBasePlayer::FBecomeProne(void)
50	CBaseEntity::Center(void)
51	CBaseEntity::EyePosition(void)
52	CBaseEntity::EarPosition(void)
53	CBasePlayer::BodyTarget(Vector const&)
54	CBasePlayer::Illumination(void)
55	CBaseEntity::FVisible(CBaseEntity*)
56	CBaseEntity::FVisible(Vector const&)
57	CBaseMonster::HandleAnimEvent(MonsterEvent_t *)
58	CBaseMonster::Look(int)
59	CBaseMonster::RunAI(void)
60	CBasePlayer::ShouldFadeOnDeath(void)
61	CBaseMonster::ChangeYaw(int)
62	CBaseMonster::MonsterThink(void)
63	CBaseMonster::IRelationship(CBaseEntity *)
64	CBaseMonster::MonsterInit(void)
65	CBaseMonster::MonsterInitDead(void)
66	CBaseMonster::BecomeDead(void)
67	CBaseMonster::StartMonster(void)
68	CBaseMonster::BestVisibleEnemy(void)
69	CBaseMonster::FInViewCone(CBaseEntity *)
70	CBaseMonster::FInViewCone(Vector *)
71	CBaseMonster::CheckLocalMove(Vector const&,Vector const&,CBaseEntity *,float *)
72	CBaseMonster::Move(float)
73	CBaseMonster::MoveExecute(CBaseEntity *,Vector const&,float)
74	CBaseMonster::ShouldAdvanceRoute(float)
75	CBaseMonster::GetStoppedActivity(void)
76	CBaseMonster::Stop(void)
77	CBaseMonster::CheckRangeAttack1(float,float)
78	CBaseMonster::CheckRangeAttack2(float,float)
79	CBaseMonster::CheckMeleeAttack1(float,float)
80	CBaseMonster::CheckMeleeAttack2(float,float)
81	CBaseMonster::ScheduleFromName(char const*)
82	CBaseMonster::StartTask(Task_t *)
83	CBaseMonster::RunTask(Task_t *)
84	CBaseMonster::GetScheduleOfType(int)
85	CBaseMonster::GetSchedule(void)
86	CBaseMonster::ScheduleChange(void)
87	CBaseMonster::CanPlaySequence(int,int)
88	CBaseMonster::CanPlaySentence(int)
89	CBaseMonster::PlaySentence(char const*,float,float,float)
90	CBaseMonster::PlayScriptedSentence(char const*,float,float,float,int,CBaseEntity *)
91	CBaseMonster::SentenceStop(void)
92	CBaseMonster::GetIdealState(void)
93	CBaseMonster::SetActivity(Activity)
94	CBaseMonster::ReportAIState(void)
95	CBaseMonster::CheckEnemy(CBaseEntity *)
96	CBaseMonster::FTriangulate(Vector const&,Vector const&,float,CBaseEntity *,Vector*)
97	CBaseMonster::SetYawSpeed(void)
98	CBaseMonster::BuildNearestRoute(Vector,Vector,float,float)
99	CBaseMonster::FindCover(Vector,Vector,float,float)
100	CBaseMonster::FValidateCover(Vector const&)
101	CBaseMonster::CoverRadius(void)
102	CBaseMonster::FCanCheckAttacks(void)
103	CBaseMonster::CheckAmmo(void)
104	CBaseMonster::IgnoreConditions(void)
105	CBaseMonster::FValidateHintType(short)
106	CBaseMonster::FCanActiveIdle(void)
107	CBaseMonster::ISoundMask(void)
108	CBaseMonster::PBestSound(void)
109	CBaseMonster::PBestScent(void)
110	CBaseMonster::HearingSensitivity(void)
111	CBasePlayer::BarnacleVictimBitten(entvars_s *)
112	CBasePlayer::BarnacleVictimReleased(void)
113	CBaseMonster::PrescheduleThink(void)
114	CBaseMonster::GetDeathActivity(void)
115	CBaseMonster::GibMonster(void)
116	CBaseMonster::HasHumanGibs(void)
117	CBaseMonster::HasAlienGibs(void)
118	CBaseMonster::FadeMonster(void)
119	CBasePlayer::GetGunPosition(void)
120	CBasePlayer::DeathSound(void)
121	CBaseMonster::AlertSound(void)
122	CBaseMonster::IdleSound(void)
123	CBaseMonster::PainSound(void)
124	CBaseMonster::StopFollowing(int)
125	CBasePlayer::Jump(void)
126	CBasePlayer::Duck(void)
127	CBasePlayer::PreThink(void)
128	CBasePlayer::PostThink(void)
129	CBasePlayer::UpdateClientData(void)
130	CBasePlayer::ImpulseCommands(void)
Half-Life: Counter-Strike

Code: Select all

// Auto reconstructed from vtable block @ 0x001E1680
// from "cs.so", by ida_vtables.idc
0	CBasePlayer::Spawn(void)
1	CBasePlayer::Precache(void)
2	CBaseEntity::Restart(void) 
3	CBaseMonster::KeyValue(KeyValueData_s *)
4	CBasePlayer::Save(CSave &)
5	CBasePlayer::Restore(CRestore &)
6	CBasePlayer::ObjectCaps(void)
7	CBaseEntity::Activate(void)
8	CBaseEntity::SetObjectCollisionBox(void)
9	CBasePlayer::Classify(void)
10	CBaseEntity::DeathNotice(entvars_s *)
11	CBasePlayer::TraceAttack(entvars_s *,float,Vector,TraceResult *,int)
12	CBasePlayer::TakeDamage(entvars_s *,entvars_s *,float,int)
13	CBasePlayer::TakeHealth(float,int)
14	CBasePlayer::Killed(entvars_s *,int)
15	CBaseMonster::BloodColor(void)
16	CBaseEntity::TraceBleed(float,Vector,TraceResult *,int)
17	CBaseEntity::IsTriggered(CBaseEntity*)
18	CBaseEntity::MyMonsterPointer(void)
19	CBaseEntity::MySquadMonsterPointer(void)
20	CBaseToggle::GetToggleState(void)
21	CBasePlayer::AddPoints(int,int)
22	CBasePlayer::AddPointsToTeam(int,int)
23	CBasePlayer::AddPlayerItem(CBasePlayerItem *)
24	CBasePlayer::RemovePlayerItem(CBasePlayerItem *)
25	CBasePlayer::GiveAmmo(int,char *,int)
26	CBaseToggle::GetDelay(void)
27	CBaseEntity::IsMoving(void)
28	CBaseEntity::OverrideReset(void)
29	CBaseEntity::DamageDecal(int)
30	CBaseEntity::SetToggleState(int)
31	CBasePlayer::StartSneaking(void)
32	CBasePlayer::StopSneaking(void)
33	CBaseEntity::OnControls(entvars_s *)
34	CBasePlayer::IsSneaking(void)
35	CBasePlayer::IsAlive(void)
36	CBaseEntity::IsBSPModel(void)
37	CBaseEntity::ReflectGauss(void)
38	CBaseEntity::HasTarget(unsigned int)
39	CBaseEntity::IsInWorld(void)
40	CBasePlayer::IsPlayer(void)
41	CBasePlayer::IsNetClient(void)
42	CBasePlayer::TeamID(void)
43	CBaseEntity::GetNextTarget(void)
44	CBaseEntity::Think(void)
45	CBaseEntity::Touch(CBaseEntity*)
46	CBaseEntity::Use(CBaseEntity*,CBaseEntity*,USE_TYPE,float)
47	CBaseEntity::Blocked(CBaseEntity*)
48	CBaseEntity::Respawn(void)
49	CBaseEntity::UpdateOwner(void)
50	CBasePlayer::FBecomeProne(void)
51	CBaseEntity::Center(void)
52	CBaseEntity::EyePosition(void)
53	CBaseEntity::EarPosition(void)
54	CBasePlayer::BodyTarget(Vector const&)
55	CBasePlayer::Illumination(void)
56	CBaseEntity::FVisible(CBaseEntity*)
57	CBaseEntity::FVisible(Vector const&)
58	CBaseAnimating::HandleAnimEvent(MonsterEvent_t *)
59	CBaseMonster::ChangeYaw(int)
60	CBaseMonster::HasHumanGibs(void)
61	CBaseMonster::HasAlienGibs(void)
62	CBaseMonster::FadeMonster(void)
63	CBaseMonster::GibMonster(void)
64	CBaseMonster::GetDeathActivity(void)
65	CBaseMonster::BecomeDead(void)
66	CBasePlayer::ShouldFadeOnDeath(void)
67	CBaseMonster::IRelationship(CBaseEntity *)
68	CBaseMonster::PainSound(void)
69	CBasePlayer::ResetMaxSpeed(void)
70	CBaseMonster::ReportAIState(void)
71	CBaseMonster::MonsterInitDead(void)
72	CBaseMonster::Look(int)
73	CBaseMonster::BestVisibleEnemy(void)
74	CBaseMonster::FInViewCone(CBaseEntity *)
75	CBaseMonster::FInViewCone(Vector *)
76	CBasePlayer::Jump(void)
77	CBasePlayer::Duck(void)
78	CBasePlayer::PreThink(void)
79	CBasePlayer::PostThink(void)
80	CBasePlayer::GetGunPosition(void)
81	CBasePlayer::IsBot(void)
82	CBasePlayer::UpdateClientData(void)
83	CBasePlayer::ImpulseCommands(void)
84	CBasePlayer::RoundRespawn(void)
85	CBasePlayer::GetAutoaimVector(float)
86	CBasePlayer::Blind(float,float,float,int)
87	CBasePlayer::OnTouchingWeapon(CWeaponBox *)
Half-Life: Day of Defeat

Code: Select all

// Auto reconstructed from vtable block @ 0x00196AA0
// from "dod.so", by ida_vtables.idc
0	CBaseEntity::RoundRespawn(void)
1	CBaseEntity::RoundRespawnEnt(void)
2	CBaseEntity::RoundStore(void)
3	CBasePlayer::Spawn(void)
4	CBasePlayer::Precache(void)
5	CBaseMonster::KeyValue(KeyValueData_s *)
6	CBasePlayer::Save(CSave &)
7	CBasePlayer::Restore(CRestore &)
8	CBasePlayer::ObjectCaps(void)
9	CBaseEntity::Activate(void)
10	CBaseEntity::area_SetIndex(int)
11	CBaseEntity::area_SendStatus(CBasePlayer *)
12	CBaseEntity::SetObjectCollisionBox(void)
13	CBasePlayer::Classify(void)
14	CBaseEntity::DeathNotice(entvars_s *)
15	CBaseToggle::GetState(void)
16	CBaseEntity::GetState(CBaseEntity*)
17	CBasePlayer::TraceAttack(entvars_s *,float,Vector,TraceResult *,int)
18	CBasePlayer::TakeDamage(entvars_s *,entvars_s *,float,int)
19	CBasePlayer::TakeHealth(float,int)
20	CBasePlayer::Killed(entvars_s *,int)
21	CBaseMonster::BloodColor(void)
22	CBaseEntity::TraceBleed(float,Vector,TraceResult *,int)
23	CBaseMonster::MyMonsterPointer(void)
24	CBaseEntity::MySquadMonsterPointer(void)
25	CBaseToggle::GetToggleState(void)
26	CBasePlayer::AddPoints(int,int)
27	CBasePlayer::AddPointsToTeam(int,int)
28	CBasePlayer::AddPlayerItem(CBasePlayerItem *)
29	CBasePlayer::RemovePlayerItem(CBasePlayerItem *)
30	CBasePlayer::GiveAmmo(int,char const*,int)
31	CBaseToggle::GetDelay(void)
32	CBaseMonster::IsMoving(void)
33	CBaseEntity::OverrideReset(void)
34	CBaseEntity::DamageDecal(int)
35	CBaseEntity::SetToggleState(TOGGLE_STATE)
36	CBaseEntity::StartSneaking(void)
37	CBaseEntity::StopSneaking(void)
38	CBaseEntity::OnControls(entvars_s *)
39	CBaseEntity::IsSneaking(void)
40	CBasePlayer::IsAlive(void)
41	CBaseEntity::IsBSPModel(void)
42	CBaseEntity::ReflectGauss(void)
43	CBaseEntity::HasTarget(unsigned int)
44	CBaseEntity::IsInWorld(void)
45	CBasePlayer::IsPlayer(void)
46	CBasePlayer::IsNetClient(void)
47	CBasePlayer::TeamID(void)
48	CBaseEntity::GetNextTarget(void)
49	CBaseEntity::Think(void)
50	CBaseEntity::Touch(CBaseEntity*)
51	CBaseEntity::Use(CBaseEntity*,CBaseEntity*,USE_TYPE,float)
52	CBaseEntity::Blocked(CBaseEntity*)
53	CBaseEntity::Respawn(void)
54	CBaseEntity::UpdateOwner(void)
55	CBasePlayer::FBecomeProne(void)
56	CBaseEntity::Center(void)
57	CBaseEntity::EyePosition(void)
58	CBaseEntity::EarPosition(void)
59	CBasePlayer::BodyTarget(Vector const&)
60	CBaseEntity::Illumination(void)
61	CBaseEntity::FVisible(CBaseEntity*)
62	CBaseEntity::FVisible(Vector const&)
63	CBaseMonster::HandleAnimEvent(MonsterEvent_t *)
64	CBaseMonster::Look(int)
65	CBaseMonster::RunAI(void)
66	CBasePlayer::ShouldFadeOnDeath(void)
67	CBaseMonster::ChangeYaw(int)
68	CBaseMonster::MonsterThink(void)
69	CBaseMonster::IRelationship(CBaseEntity *)
70	CBaseMonster::MonsterInit(void)
71	CBaseMonster::MonsterInitDead(void)
72	CBaseMonster::BecomeDead(void)
73	CBaseMonster::StartMonster(void)
74	CBaseMonster::BestVisibleEnemy(void)
75	CBaseMonster::FInViewCone(CBaseEntity *)
76	CBaseMonster::FInViewCone(Vector *)
77	CBaseMonster::CheckLocalMove(Vector const&,Vector const&,CBaseEntity *,float *)
78	CBaseMonster::Move(float)
79	CBaseMonster::MoveExecute(CBaseEntity *,Vector const&,float)
80	CBaseMonster::ShouldAdvanceRoute(float)
81	CBaseMonster::GetStoppedActivity(void)
82	CBaseMonster::Stop(void)
83	CBaseMonster::CheckRangeAttack1(float,float)
84	CBaseMonster::CheckRangeAttack2(float,float)
85	CBaseMonster::CheckMeleeAttack1(float,float)
86	CBaseMonster::CheckMeleeAttack2(float,float)
87	CBaseMonster::ScheduleFromName(char const*)
88	CBaseMonster::StartTask(Task_t *)
89	CBaseMonster::RunTask(Task_t *)
90	CBaseMonster::GetScheduleOfType(int)
91	CBaseMonster::GetSchedule(void)
92	CBaseMonster::ScheduleChange(void)
93	CBaseMonster::CanPlaySequence(int,int)
94	CBaseMonster::CanPlaySentence(int)
95	CBaseMonster::PlaySentence(char const*,float,float,float)
96	CBaseMonster::PlayScriptedSentence(char const*,float,float,float,int,CBaseEntity *)
97	CBaseMonster::SentenceStop(void)
98	CBaseMonster::GetIdealState(void)
99	CBaseMonster::SetActivity(Activity)
100	CBaseMonster::ReportAIState(void)
101	CBaseMonster::CheckEnemy(CBaseEntity *)
102	CBaseMonster::FTriangulate(Vector const&,Vector const&,float,CBaseEntity *,Vector*)
103	CBaseMonster::SetYawSpeed(void)
104	CBaseMonster::BuildNearestRoute(Vector,Vector,float,float)
105	CBaseMonster::FindCover(Vector,Vector,float,float)
106	CBaseMonster::FValidateCover(Vector const&)
107	CBaseMonster::CoverRadius(void)
108	CBaseMonster::FCanCheckAttacks(void)
109	CBaseMonster::CheckAmmo(void)
110	CBaseMonster::IgnoreConditions(void)
111	CBaseMonster::FValidateHintType(short)
112	CBaseMonster::FCanActiveIdle(void)
113	CBaseMonster::ISoundMask(void)
114	CBaseMonster::PBestSound(void)
115	CBaseMonster::PBestScent(void)
116	CBaseMonster::HearingSensitivity(void)
117	CBaseMonster::BarnacleVictimBitten(entvars_s *)
118	CBaseMonster::BarnacleVictimReleased(void)
119	CBaseMonster::DoDSetScriptReset(void)
120	CBaseMonster::PrescheduleThink(void)
121	CBaseMonster::GetDeathActivity(void)
122	CBaseMonster::GibMonster(void)
123	CBaseMonster::HasHumanGibs(void)
124	CBaseMonster::HasAlienGibs(void)
125	CBaseMonster::FadeMonster(void)
126	CBasePlayer::GetGunPosition(void)
127	CBasePlayer::DeathSound(void)
128	CBaseMonster::AlertSound(void)
129	CBaseMonster::IdleSound(void)
130	CBaseMonster::PainSound(void)
131	CBaseMonster::StopFollowing(int)
132	CBasePlayer::PreThink(void)
133	CBasePlayer::PostThink(void)
134	CBasePlayer::Jump(void)
135	CBasePlayer::Duck(void)
136	CBasePlayer::UpdateClientData(void)
137	CBasePlayer::ImpulseCommands(void)
Half-Life: Team Fortress Classic

Code: Select all

// Auto reconstructed from vtable block @ 0x00179240
// from "tfc.so", by ida_vtables.idc
0	CBasePlayer::~CBasePlayer()
1	CBasePlayer::~CBasePlayer()
2	CBasePlayer::Spawn(void)
3	CBasePlayer::Precache(void)
4	CBaseMonster::KeyValue(KeyValueData_s *)
5	CBasePlayer::Save(CSave &)
6	CBasePlayer::Restore(CRestore &)
7	CBasePlayer::ObjectCaps(void)
8	CBaseEntity::Activate(void)
9	CBaseEntity::SetObjectCollisionBox(void)
10	CBasePlayer::Classify(void)
11	CBaseEntity::DeathNotice(entvars_s *)
12	CBasePlayer::TraceAttack(entvars_s *,float,Vector,TraceResult *,int)
13	CBasePlayer::TakeDamage(entvars_s *,entvars_s *,float,int)
14	CBasePlayer::TakeHealth(float,int)
15	CBasePlayer::Killed(entvars_s *,entvars_s *,int)
16	CBaseMonster::BloodColor(void)
17	CBaseEntity::TraceBleed(float,Vector,TraceResult *,int)
18	CBaseEntity::IsTriggered(void)
19	CBaseMonster::MyMonsterPointer(void)
20	CBaseEntity::MySquadMonsterPointer(void)
21	CBaseToggle::GetToggleState(void)
22	CBasePlayer::AddPlayerItem(CBasePlayerItem *)
23	CBasePlayer::RemovePlayerItem(CBasePlayerItem *)
24	CBasePlayer::GiveAmmo(int,char *,int,int *)
25	CBaseToggle::GetDelay(void)
26	CBaseMonster::IsMoving(void)
27	CBaseEntity::OverrideReset(void)
28	CBaseEntity::DamageDecal(int)
29	CBaseEntity::SetToggleState(int)
30	CBasePlayer::StartSneaking(void)
31	CBasePlayer::StopSneaking(void)
32	CBaseEntity::OnControls(entvars_s *)
33	CBasePlayer::IsSneaking(void)
34	CBasePlayer::IsAlive(void)
35	CBaseEntity::IsBSPModel(void)
36	CBaseEntity::ReflectGauss(void)
37	CBaseEntity::HasTarget(unsigned int)
38	CBaseEntity::IsInWorld(void)
39	CBasePlayer::IsPlayer(void)
40	CBasePlayer::IsNetClient(void)
41	CBaseEntity::DB_GetItemName(void)
42	CBaseEntity::GetNextTarget(void)
43	CBaseEntity::Think(void)
44	CBaseEntity::Touch(CBaseEntity*)
45	CBaseEntity::Use(CBaseEntity*,CBaseEntity*,USE_TYPE,float)
46	CBaseEntity::Blocked(CBaseEntity*)
47	CBaseEntity::Respawn(void)
48	CBaseEntity::UpdateOwner(void)
49	CBasePlayer::FBecomeProne(void)
50	CBaseEntity::Center(void)
51	CBaseEntity::EyePosition(void)
52	CBaseEntity::EarPosition(void)
53	CBasePlayer::BodyTarget(Vector const&)
54	CBasePlayer::Illumination(void)
55	CBaseEntity::FVisible(CBaseEntity*)
56	CBaseEntity::FVisible(Vector const&)
57	CBasePlayer::EngineerUse(CBasePlayer*)
58	CBaseEntity::Finished(void)
59	CBaseEntity::TeamFortress_EMPExplode(entvars_s *,float,float)
60	CBasePlayer::TeamFortress_CalcEMPDmgRad(float &,float &)
61	CBasePlayer::TeamFortress_TakeEMPBlast(entvars_s *)
62	CBaseEntity::TeamFortress_EMPRemove(void)
63	CBasePlayer::TeamFortress_TakeConcussionBlast(entvars_s *,float)
64	CBasePlayer::TeamFortress_Concuss(entvars_s *)
65	CBaseMonster::HandleAnimEvent(MonsterEvent_t *)
66	CBaseMonster::Look(int)
67	CBaseMonster::RunAI(void)
68	CBasePlayer::ShouldFadeOnDeath(void)
69	CBaseMonster::ChangeYaw(int)
70	CBaseMonster::MonsterThink(void)
71	CBaseMonster::IRelationship(CBaseEntity *)
72	CBaseMonster::MonsterInit(void)
73	CBaseMonster::MonsterInitDead(void)
74	CBaseMonster::BecomeDead(void)
75	CBaseMonster::StartMonster(void)
76	CBaseMonster::BestVisibleEnemy(void)
77	CBaseMonster::FInViewCone(CBaseEntity *)
78	CBaseMonster::FInViewCone(Vector *)
79	CBaseMonster::CheckLocalMove(Vector const&,Vector const&,CBaseEntity *,float *)
80	CBaseMonster::Move(float)
81	CBaseMonster::MoveExecute(CBaseEntity *,Vector const&,float)
82	CBaseMonster::ShouldAdvanceRoute(float)
83	CBaseMonster::GetStoppedActivity(void)
84	CBaseMonster::Stop(void)
85	CBaseMonster::CheckRangeAttack1(float,float)
86	CBaseMonster::CheckRangeAttack2(float,float)
87	CBaseMonster::CheckMeleeAttack1(float,float)
88	CBaseMonster::CheckMeleeAttack2(float,float)
89	CBaseMonster::ScheduleFromName(char const*)
90	CBaseMonster::StartTask(Task_t *)
91	CBaseMonster::RunTask(Task_t *)
92	CBaseMonster::GetScheduleOfType(int)
93	CBaseMonster::GetSchedule(void)
94	CBaseMonster::ScheduleChange(void)
95	CBaseMonster::CanPlaySequence(int,int)
96	CBaseMonster::CanPlaySentence(int)
97	CBaseMonster::PlaySentence(char const*,float,float,float)
98	CBaseMonster::PlayScriptedSentence(char const*,float,float,float,int,CBaseEntity *)
99	CBaseMonster::SentenceStop(void)
100	CBaseMonster::GetIdealState(void)
101	CBaseMonster::SetActivity(Activity)
102	CBaseMonster::ReportAIState(void)
103	CBaseMonster::CheckEnemy(CBaseEntity *)
104	CBaseMonster::FTriangulate(Vector const&,Vector const&,float,CBaseEntity *,Vector*)
105	CBaseMonster::SetYawSpeed(void)
106	CBaseMonster::BuildNearestRoute(Vector,Vector,float,float)
107	CBaseMonster::FindCover(Vector,Vector,float,float)
108	CBaseMonster::FValidateCover(Vector const&)
109	CBaseMonster::CoverRadius(void)
110	CBaseMonster::FCanCheckAttacks(void)
111	CBaseMonster::CheckAmmo(void)
112	CBaseMonster::IgnoreConditions(void)
113	CBaseMonster::FValidateHintType(short)
114	CBaseMonster::FCanActiveIdle(void)
115	CBaseMonster::ISoundMask(void)
116	CBaseMonster::PBestSound(void)
117	CBaseMonster::PBestScent(void)
118	CBaseMonster::HearingSensitivity(void)
119	CBasePlayer::BarnacleVictimBitten(entvars_s *)
120	CBasePlayer::BarnacleVictimReleased(void)
121	CBaseMonster::PrescheduleThink(void)
122	CBaseMonster::GetDeathActivity(void)
123	CBaseMonster::GibMonster(void)
124	CBaseMonster::HasHumanGibs(void)
125	CBaseMonster::HasAlienGibs(void)
126	CBaseMonster::FadeMonster(void)
127	CBaseMonster::RadiusDamage(entvars_s *,entvars_s *,float,int,int)
128	CBaseMonster::RadiusDamage(Vector,entvars_s *,entvars_s *,float,int,int)
129	CBasePlayer::DeathSound(void)
130	CBaseMonster::AlertSound(void)
131	CBaseMonster::IdleSound(void)
132	CBasePlayer::PainSound(void)
133	CBaseMonster::StopFollowing(int)
134	CBasePlayer::Jump(void)
135	CBasePlayer::Duck(void)
136	CBasePlayer::PreThink(void)
137	CBasePlayer::PostThink(void)
138	CBasePlayer::ImpulseCommands(void)
Example:

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <orpheu>

new g_maxClients;

public plugin_init()
{
    new OrpheuFunction:playerSpawnHook = OrpheuGetFunctionFromClass("player", "Spawn", "CBasePlayer");
    OrpheuRegisterHook(playerSpawnHook, "Hook_ClientSpawn");
        
    new OrpheuFunction:playerKilledHook = OrpheuGetFunctionFromClass("player", "Killed", "CBasePlayer");
    OrpheuRegisterHook(playerKilledHook, "Hook_ClientKilled");
    
    g_maxClients = get_maxplayers();
}

public Hook_ClientSpawn(id)
{
    client_print(id, print_chat, "[Orpheu Test] You have been spawned!");
}

public Hook_ClientKilled(id, attacker, gib)
{
    new name[32], attackerName[32];
    get_user_name(id, name, charsmax(name));
    get_user_name(attacker, attackerName, charsmax(attackerName));
    
    for (new i = 1; i <= g_maxClients; i++)
    {
        client_print(i, print_chat, "[Orpheu Test] %s have just killed %s!", attackerName, name);
    }
    
    client_print(id, print_chat, "[Orpheu Test] You have been killed by %s!", attackerName);
    client_print(attacker, print_chat, "[Orpheu Test] You have killed %s!", name);  
}