Raised This Month: $ Target: $400
 0% 

Orpheu: GameRules Object


Post New Thread Reply   
 
Thread Tools Display Modes
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 04-15-2010 , 05:57   Re: Orpheu: GameRules Object
Reply With Quote #11

He's lazy, I know him.
__________________
Arkshine is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 04-16-2010 , 12:37   Re: Orpheu: GameRules Object
Reply With Quote #12

Quote:
Originally Posted by Arkshine View Post
It would be nice if someone could filter properly the functions available by game. Right now all is mixed and it's a pain to find something you can use.
There're 3 objects.

Quote:
CGameRules
CHalfLifeMultiplay
CHalfLifeRules
The last two inherites methods from CGameRules

Here's wha't I found in CS

PHP Code:
CGameRules::CanHaveAmmo(CBasePlayer *,char const *,int)
CGameRules::CanHavePlayerItem(CBasePlayer *,CBasePlayerItem *)
CGameRules::GetPlayerSpawnSpot(CBasePlayer *)
CGameRules::RefreshSkillData(void)
CHalfLifeMultiplay::AddToVIPQueue(CBasePlayer *)
CHalfLifeMultiplay::AllowAutoTargetCrosshair(void)
CHalfLifeMultiplay::AmmoShouldRespawn(CBasePlayerAmmo *)
CHalfLifeMultiplay::BalanceTeams(void)
CHalfLifeMultiplay::CHalfLifeMultiplay(void)
CHalfLifeMultiplay::CanHaveItem(CBasePlayer *,CItem *)
CHalfLifeMultiplay::CanHavePlayerItem(CBasePlayer *,CBasePlayerItem *)
CHalfLifeMultiplay::CareerRestart(void)
CHalfLifeMultiplay::ChangeLevel(void)
CHalfLifeMultiplay::CheckMapConditions(void)
CHalfLifeMultiplay::CheckWinConditions(void)
CHalfLifeMultiplay::CleanUpMap(void)
CHalfLifeMultiplay::ClientCommand(CBasePlayer *,char const *)
CHalfLifeMultiplay::ClientCommand_DeadOrAlive(CBasePlayer *,char const *)
CHalfLifeMultiplay::ClientConnected(edict_s *,char const *,char const *,char *)
CHalfLifeMultiplay::ClientDisconnected(edict_s *)
CHalfLifeMultiplay::ClientUserInfoChanged(CBasePlayer *,char *)
CHalfLifeMultiplay::DeadPlayerAmmo(CBasePlayer *)
CHalfLifeMultiplay::DeadPlayerWeapons(CBasePlayer *)
CHalfLifeMultiplay::DeathNotice(CBasePlayer *,entvars_s *,entvars_s *)
CHalfLifeMultiplay::DisplayMaps(CBasePlayer *,int)
CHalfLifeMultiplay::FAllowFlashlight(void)
CHalfLifeMultiplay::FAllowMonsters(void)
CHalfLifeMultiplay::FPlayerCanRespawn(CBasePlayer *)
CHalfLifeMultiplay::FPlayerCanTakeDamage(CBasePlayer *,CBaseEntity *)
CHalfLifeMultiplay::FShouldSwitchWeapon(CBasePlayer *,CBasePlayerItem *)
CHalfLifeMultiplay::FlAmmoRespawnTime(CBasePlayerAmmo *)
CHalfLifeMultiplay::FlHEVChargerRechargeTime(void)
CHalfLifeMultiplay::FlHealthChargerRechargeTime(void)
CHalfLifeMultiplay::FlItemRespawnTime(CItem *)
CHalfLifeMultiplay::FlPlayerFallDamage(CBasePlayer *)
CHalfLifeMultiplay::FlPlayerSpawnTime(CBasePlayer *)
CHalfLifeMultiplay::FlWeaponRespawnTime(CBasePlayerItem *)
CHalfLifeMultiplay::FlWeaponTryRespawn(CBasePlayerItem *)
CHalfLifeMultiplay::GetNextBestWeapon(CBasePlayer *,CBasePlayerItem *)
CHalfLifeMultiplay::GetPlayerSpawnSpot(CBasePlayer *)
CHalfLifeMultiplay::GiveC4(void)
CHalfLifeMultiplay::GoToIntermission(void)
CHalfLifeMultiplay::HasRoundTimeExpired(void)
CHalfLifeMultiplay::IPointsForKill(CBasePlayer *,CBasePlayer *)
CHalfLifeMultiplay::InitHUD(CBasePlayer *)
CHalfLifeMultiplay::IsAllowedToSpawn(CBaseEntity *)
CHalfLifeMultiplay::IsBombPlanted(void)
CHalfLifeMultiplay::IsCareer(void)
CHalfLifeMultiplay::IsCoOp(void)
CHalfLifeMultiplay::IsDeathmatch(void)
CHalfLifeMultiplay::IsInCareerRound(void)
CHalfLifeMultiplay::IsMultiplayer(void)
CHalfLifeMultiplay::IsThereABomb(void)
CHalfLifeMultiplay::IsThereABomber(void)
CHalfLifeMultiplay::IsVIPQueueEmpty(void)
CHalfLifeMultiplay::ItemShouldRespawn(CItem *)
CHalfLifeMultiplay::MarkLivingPlayersOnTeamAsNotReceivingMoneyNextRound(int)
CHalfLifeMultiplay::PickNextVIP(void)
CHalfLifeMultiplay::PlayerGotAmmo(CBasePlayer *,char *,int)
CHalfLifeMultiplay::PlayerGotItem(CBasePlayer *,CItem *)
CHalfLifeMultiplay::PlayerGotWeapon(CBasePlayer *,CBasePlayerItem *)
CHalfLifeMultiplay::PlayerKilled(CBasePlayer *,entvars_s *,entvars_s *)
CHalfLifeMultiplay::PlayerRelationship(CBasePlayer *,CBaseEntity *)
CHalfLifeMultiplay::PlayerSpawn(CBasePlayer *)
CHalfLifeMultiplay::PlayerThink(CBasePlayer *)
CHalfLifeMultiplay::ProcessMapVote(CBasePlayer *,int)
CHalfLifeMultiplay::QueueCareerRoundEndMenu(float,int)
CHalfLifeMultiplay::RefreshSkillData(void)
CHalfLifeMultiplay::RemoveGuns(void)
CHalfLifeMultiplay::ResetAllMapVotes(void)
CHalfLifeMultiplay::ResetCurrentVIP(void)
CHalfLifeMultiplay::RestartRound(void)
CHalfLifeMultiplay::SendMOTDToClient(edict_s *)
CHalfLifeMultiplay::ServerDeactivate(void)
CHalfLifeMultiplay::SetCareerMatchLimit(int,int)
CHalfLifeMultiplay::StackVIPQueue(void)
CHalfLifeMultiplay::SwapAllPlayers(void)
CHalfLifeMultiplay::TeamFull(int)
CHalfLifeMultiplay::TeamStacked(int,int)
CHalfLifeMultiplay::Think(void)
CHalfLifeMultiplay::UpdateGameMode(CBasePlayer *)
CHalfLifeMultiplay::UpdateTeamScores(void)
CHalfLifeMultiplay::VecAmmoRespawnSpot(CBasePlayerAmmo *)
CHalfLifeMultiplay::VecItemRespawnSpot(CItem *)
CHalfLifeMultiplay::VecWeaponRespawnSpot(CBasePlayerItem *)
CHalfLifeMultiplay::WeaponShouldRespawn(CBasePlayerItem *)
CHalfLifeRules::AllowAutoTargetCrosshair(void)
CHalfLifeRules::AmmoShouldRespawn(CBasePlayerAmmo *)
CHalfLifeRules::CHalfLifeRules(void)
CHalfLifeRules::CanHaveItem(CBasePlayer *,CItem *)
CHalfLifeRules::ClientConnected(edict_s *,char const *,char const *,char *)
CHalfLifeRules::ClientDisconnected(edict_s *)
CHalfLifeRules::DeadPlayerAmmo(CBasePlayer *)
CHalfLifeRules::DeadPlayerWeapons(CBasePlayer *)
CHalfLifeRules::DeathNotice(CBasePlayer *,entvars_s *,entvars_s *)
CHalfLifeRules::FAllowMonsters(void)
CHalfLifeRules::FPlayerCanRespawn(CBasePlayer *)
CHalfLifeRules::FShouldSwitchWeapon(CBasePlayer *,CBasePlayerItem *)
CHalfLifeRules::FlAmmoRespawnTime(CBasePlayerAmmo *)
CHalfLifeRules::FlHealthChargerRechargeTime(void)
CHalfLifeRules::FlItemRespawnTime(CItem *)
CHalfLifeRules::FlPlayerFallDamage(CBasePlayer *)
CHalfLifeRules::FlPlayerSpawnTime(CBasePlayer *)
CHalfLifeRules::FlWeaponRespawnTime(CBasePlayerItem *)
CHalfLifeRules::FlWeaponTryRespawn(CBasePlayerItem *)
CHalfLifeRules::GetNextBestWeapon(CBasePlayer *,CBasePlayerItem *)
CHalfLifeRules::GetPlayerSpawnSpot(CBasePlayer *)
CHalfLifeRules::IPointsForKill(CBasePlayer *,CBasePlayer *)
CHalfLifeRules::InitHUD(CBasePlayer *)
CHalfLifeRules::IsAllowedToSpawn(CBaseEntity *)
CHalfLifeRules::IsCoOp(void)
CHalfLifeRules::IsDeathmatch(void)
CHalfLifeRules::IsMultiplayer(void)
CHalfLifeRules::ItemShouldRespawn(CItem *)
CHalfLifeRules::PlayerGotAmmo(CBasePlayer *,char *,int)
CHalfLifeRules::PlayerGotItem(CBasePlayer *,CItem *)
CHalfLifeRules::PlayerGotWeapon(CBasePlayer *,CBasePlayerItem *)
CHalfLifeRules::PlayerKilled(CBasePlayer *,entvars_s *,entvars_s *)
CHalfLifeRules::PlayerRelationship(CBasePlayer *,CBaseEntity *)
CHalfLifeRules::PlayerSpawn(CBasePlayer *)
CHalfLifeRules::PlayerThink(CBasePlayer *)
CHalfLifeRules::Think(void)
CHalfLifeRules::VecAmmoRespawnSpot(CBasePlayerAmmo *)
CHalfLifeRules::VecItemRespawnSpot(CItem *)
CHalfLifeRules::VecWeaponRespawnSpot(CBasePlayerItem *)
CHalfLifeRules::WeaponShouldRespawn(CBasePlayerItem *) 
Don't know if CHalfLifeMultiplay and CHalfLifeRules can be referenced from CGameRules. I guess not.
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.

Last edited by joropito; 04-16-2010 at 12:40.
joropito is offline
Send a message via MSN to joropito
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 04-16-2010 , 12:41   Re: Orpheu: GameRules Object
Reply With Quote #13

CGameRules is the parent base class that CHalfLifeRules and CHalfLifeGamePlay derive from. In a single player game you have a CHalfLifeRules object, in a multiplayer you have a CHalfLifeMultiplay (Arkshine correct me if I'm wrong ).

This thread is about virtual functions of CGameRules

Anyway, you can use any of those functions with signatures but, this is for virtual functions to make it easy to address them (by providing only an offset)
__________________
joaquimandrade is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 04-16-2010 , 12:44   Re: Orpheu: GameRules Object
Reply With Quote #14

Quote:
Originally Posted by joaquimandrade View Post
This thread is about virtual functions of CGameRules
Yes, but Arkshine asks for someone to find available functions in each mod.

So in CS theres only 4 used?

PHP Code:
CGameRules::CanHaveAmmo(CBasePlayer *,char const *,int)
CGameRules::CanHavePlayerItem(CBasePlayer *,CBasePlayerItem *)
CGameRules::GetPlayerSpawnSpot(CBasePlayer *)
CGameRules::RefreshSkillData(void
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 04-16-2010 , 12:46   Re: Orpheu: GameRules Object
Reply With Quote #15

Quote:
Originally Posted by joropito View Post
Yes, but Arkshine asks for someone to find available functions in each mod.

So in CS theres only 4 used?

PHP Code:
CGameRules::CanHaveAmmo(CBasePlayer *,char const *,int)
CGameRules::CanHavePlayerItem(CBasePlayer *,CBasePlayerItem *)
CGameRules::GetPlayerSpawnSpot(CBasePlayer *)
CGameRules::RefreshSkillData(void
Code:
[0][RefreshSkillData]
[1][Think]
[2][IsAllowedToSpawn]
[3][FAllowFlashlight]
[4][FShouldSwitchWeapon]
[5][GetNextBestWeapon]
[6][IsMultiplayer]
[7][IsDeathmatch]
[8][IsTeamplay]
[9][IsCoOp]
[10][GetGameDescription]
[11][ClientConnected]
[12][InitHUD]
[13][ClientDisconnected]
[14][UpdateGameMode]
[15][FlPlayerFallDamage]
[16][FPlayerCanTakeDamage]
[17][ShouldAutoAim]
[18][PlayerSpawn]
[19][PlayerThink]
[20][FPlayerCanRespawn]
[21][FlPlayerSpawnTime]
[22][GetPlayerSpawnSpot]
[23][AllowAutoTargetCrosshair]
[24][ClientCommandDeadOrAlive]
[25][ClientCommand]
[26][ClientUserInfoChanged]
[27][IPointsForKill]
[28][PlayerKilled]
[29][DeathNotice]
[30][CanHavePlayerItem]
[31][PlayerGotWeapon]
[32][WeaponShouldRespawn]
[33][FlWeaponRespawnTime]
[34][FlWeaponTryRespawn]
[35][VecWeaponRespawnSpot]
[36][CanHaveItem]
[37][PlayerGotItem]
[38][ItemShouldRespawn]
[39][FlItemRespawnTime]
[40][VecItemRespawnSpot]
[41][CanHaveAmmo]
[42][PlayerGotAmmo]
[43][AmmoShouldRespawn]
[44][FlAmmoRespawnTime]
[45][VecAmmoRespawnSpot]
[46][FlHealthChargerRechargeTime]
[47][FlHEVChargerRechargeTime]
[48][DeadPlayerWeapons]
[49][DeadPlayerAmmo]
[50][GetTeamID]
[51][PlayerRelationship]
[52][GetTeamIndex]
[53][GetIndexedTeamName]
[54][IsValidTeam]
[55][ChangePlayerTeam]
[56][SetDefaultPlayerTeam]
[57][PlayTextureSounds]
[58][FAllowMonsters]
[59][EndMultiplayerGame]
[60][IsFreezePeriod]
[61][ServerDeactivate]
[62][CheckMapConditions]
[63][CleanUpMap]
[64][RestartRound]
[65][CheckWinConditions]
[66][RemoveGuns]
[67][GiveC4]
[68][ChangeLevel]
[69][GoToIntermission]
__________________
joaquimandrade is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 04-16-2010 , 12:50   Re: Orpheu: GameRules Object
Reply With Quote #16

Right, I understand now (I think).

For example, GiveC4 it's a virtual function of gamerules and, in case of HalfLifeMultiPlay, it's handled there.

That's why I can't see inside cs_i386.so any CGameRules::GiveC4.

I'm correct?
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 04-16-2010 , 14:12   Re: Orpheu: GameRules Object
Reply With Quote #17

Quote:
Originally Posted by joropito View Post
Right, I understand now (I think).

For example, GiveC4 it's a virtual function of gamerules and, in case of HalfLifeMultiPlay, it's handled there.

That's why I can't see inside cs_i386.so any CGameRules::GiveC4.

I'm correct?
A virtual function is a function that can be overrided by another in a derived class. In this case GiveC4 seems to be a virtual function belonging to CHalfLifeMultiplay and not from CGameRules. So, the files aren't quite correct.
__________________
joaquimandrade is offline
Reply



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

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

Forum Jump


All times are GMT -4. The time now is 11:33.


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