func_buyzone: Now print the titles.txt message hint for telling you to buy stuff.
This commit is contained in:
parent
0704d3e7fd
commit
92497583a1
4 changed files with 63 additions and 39 deletions
|
@ -83,4 +83,9 @@ func_buyzone::Touch(entity eToucher)
|
|||
|
||||
if (team == 0 || team == pl.team)
|
||||
pl.gflags |= GF_BUYZONE;
|
||||
|
||||
if (pl.m_buyMessage == false) {
|
||||
env_message_single(pl, "Hint_press_buy_to_purchase");
|
||||
pl.m_buyMessage = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@ class CSGameRules:CGameRules
|
|||
class CSSingleplayerRules:CSGameRules
|
||||
{
|
||||
/* client */
|
||||
virtual void(NSClientPlayer) PlayerSpawn;
|
||||
virtual void(NSClientPlayer) PlayerDeath;
|
||||
virtual void PlayerSpawn(NSClientPlayer);
|
||||
virtual void PlayerDeath(NSClientPlayer);
|
||||
};
|
||||
|
||||
class CSMultiplayerRules:CSGameRules
|
||||
|
@ -48,40 +48,42 @@ class CSMultiplayerRules:CSGameRules
|
|||
int m_iEscapedTerrorists;
|
||||
int m_iSwapTeamRoundCounter;
|
||||
|
||||
void() CSMultiplayerRules;
|
||||
void CSMultiplayerRules(void);
|
||||
|
||||
virtual void(void) InitPostEnts;
|
||||
virtual void(void) FrameStart;
|
||||
virtual void(NSClientPlayer) PlayerDisconnect;
|
||||
virtual void(NSClientPlayer) PlayerSpawn;
|
||||
virtual void(NSClientPlayer) PlayerPreFrame;
|
||||
virtual void(NSClientPlayer) PlayerDeath;
|
||||
virtual int(int) MaxItemPerSlot;
|
||||
virtual bool(NSClientPlayer, string) ConsoleCommand;
|
||||
virtual void InitPostEnts(void);
|
||||
virtual void FrameStart(void);
|
||||
virtual void PlayerDisconnect(NSClientPlayer);
|
||||
virtual void PlayerSpawn(NSClientPlayer);
|
||||
virtual void PlayerPreFrame(NSClientPlayer);
|
||||
virtual void PlayerDeath(NSClientPlayer);
|
||||
virtual int MaxItemPerSlot(int);
|
||||
virtual bool ConsoleCommand(NSClientPlayer, string);
|
||||
|
||||
/* CS specific */
|
||||
virtual void(void) CreateRescueZones;
|
||||
virtual void(void) CreateCTBuyzones;
|
||||
virtual void(void) CreateTBuyzones;
|
||||
virtual void(float, int) TimerBegin;
|
||||
virtual void(void) TimerUpdate;
|
||||
virtual void CreateRescueZones(void);
|
||||
virtual void CreateCTBuyzones(void);
|
||||
virtual void CreateTBuyzones(void);
|
||||
virtual void TimerBegin(float, int);
|
||||
virtual void TimerUpdate(void);
|
||||
|
||||
virtual bool(NSClientPlayer) BuyingPossible;
|
||||
virtual void(int, int, int) RoundOver;
|
||||
virtual void(int) RestartRound;
|
||||
virtual void(NSClientPlayer) DeathCheck;
|
||||
virtual void(NSClientPlayer) MakeBomber;
|
||||
virtual void(NSClientPlayer) MakeVIP;
|
||||
virtual void(void) CountPlayers;
|
||||
virtual void(void) SwitchTeams;
|
||||
virtual void(void) TimeOut;
|
||||
virtual bool(void) IsTeamplay;
|
||||
virtual bool BuyingPossible(NSClientPlayer);
|
||||
virtual void RoundOver(int, int, int);
|
||||
virtual void RestartRound(int);
|
||||
virtual void DeathCheck(NSClientPlayer);
|
||||
virtual void MakeBomber(NSClientPlayer);
|
||||
virtual void MakeVIP(NSClientPlayer);
|
||||
virtual void CountPlayers(void);
|
||||
virtual void SwitchTeams(void);
|
||||
virtual void TimeOut(void);
|
||||
virtual bool IsTeamplay(void);
|
||||
|
||||
virtual void PlayerClearWeaponry(NSClientPlayer);
|
||||
virtual void PlayerMakePlayable(NSClientPlayer, int);
|
||||
virtual void PlayerMakeSpectator(NSClientPlayer);
|
||||
virtual void PlayerRespawn(NSClientPlayer, int);
|
||||
virtual entity PlayerFindSpawn(float);
|
||||
virtual void PlayerReset(NSClientPlayer);
|
||||
|
||||
virtual void(NSClientPlayer) PlayerClearWeaponry;
|
||||
virtual void(NSClientPlayer, int) PlayerMakePlayable;
|
||||
virtual void(NSClientPlayer) PlayerMakeSpectator;
|
||||
virtual void(NSClientPlayer, int) PlayerRespawn;
|
||||
virtual entity(float) PlayerFindSpawn;
|
||||
};
|
||||
|
||||
void CSEv_JoinAuto(void);
|
||||
|
|
|
@ -456,8 +456,7 @@ CSMultiplayerRules::RestartRound(int iWipe)
|
|||
if (iWipe == FALSE) {
|
||||
Money_GiveTeamReward(pl);
|
||||
} else {
|
||||
pl.money = 0;
|
||||
Money_AddMoney(pl, autocvar_mp_startmoney);
|
||||
PlayerReset(pl);
|
||||
}
|
||||
}
|
||||
for (entity eFind = world; (eFind = findfloat(eFind, ::team, TEAM_CT));) {
|
||||
|
@ -476,8 +475,7 @@ CSMultiplayerRules::RestartRound(int iWipe)
|
|||
if (iWipe == FALSE) {
|
||||
Money_GiveTeamReward(pl);
|
||||
} else {
|
||||
pl.money = 0;
|
||||
Money_AddMoney(pl, autocvar_mp_startmoney);
|
||||
PlayerReset(pl);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -499,8 +497,7 @@ CSMultiplayerRules::RestartRound(int iWipe)
|
|||
if (iWipe == FALSE) {
|
||||
Money_GiveTeamReward(pl);
|
||||
} else {
|
||||
pl.money = 0;
|
||||
Money_AddMoney(pl, autocvar_mp_startmoney);
|
||||
PlayerReset(pl);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -981,6 +978,25 @@ CSMultiplayerRules::PlayerMakeSpectator(NSClientPlayer pp)
|
|||
PlayerClearWeaponry(pl);
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
PlayerReset
|
||||
|
||||
Called when we give the initial starting money, and also when
|
||||
another player joins and causes the game rules/scores to reset fully
|
||||
=================
|
||||
*/
|
||||
void
|
||||
CSMultiplayerRules::PlayerReset(NSClientPlayer pl)
|
||||
{
|
||||
player p = (player)pl;
|
||||
|
||||
/* give the initial server-joining money */
|
||||
p.money = 0;
|
||||
Money_AddMoney(pl, autocvar_mp_startmoney);
|
||||
p.m_buyMessage = false; /* unset the buy message. */
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
PlayerSpawn
|
||||
|
@ -995,8 +1011,7 @@ CSMultiplayerRules::PlayerSpawn(NSClientPlayer pl)
|
|||
PlayerMakeSpectator(pl);
|
||||
Spawn_ObserverCam(pl);
|
||||
|
||||
/* give the initial server-joining money */
|
||||
Money_AddMoney(pl, autocvar_mp_startmoney);
|
||||
PlayerReset(pl);
|
||||
|
||||
/* we don't belong to any team */
|
||||
pl.team = TEAM_SPECTATOR;
|
||||
|
|
|
@ -189,6 +189,8 @@ class player:NSClientPlayer
|
|||
int charmodel;
|
||||
int money;
|
||||
float progress;
|
||||
|
||||
bool m_buyMessage;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue