core/ChatTriggers.h
author David Anderson <dvander@alliedmods.net>
Sat Jul 14 00:35:08 2007 +0000 (2007-07-14)
changeset 1103 043baf2d8c96
parent 897 0c966f18680c
child 1231 17badaf66ce4
permissions -rw-r--r--
fixed amb582 - private triggers getting fired twice
dvander@893
     1
#ifndef _INCLUDE_SOURCEMOD_CHAT_TRIGGERS_H_
dvander@893
     2
#define _INCLUDE_SOURCEMOD_CHAT_TRIGGERS_H_
dvander@893
     3
dvander@893
     4
#include "sm_globals.h"
dvander@893
     5
#include "sourcemm_api.h"
dvander@893
     6
dvander@893
     7
#define SM_REPLY_CONSOLE	0
dvander@893
     8
#define SM_REPLY_CHAT		1
dvander@893
     9
dvander@893
    10
class ChatTriggers : public SMGlobalClass
dvander@893
    11
{
dvander@893
    12
public:
dvander@893
    13
	ChatTriggers();
dvander@897
    14
	~ChatTriggers();
dvander@893
    15
public: //SMGlobalClass
dvander@893
    16
	void OnSourceModGameInitialized();
dvander@893
    17
	void OnSourceModShutdown();
dvander@896
    18
	ConfigResult OnSourceModConfigChanged(const char *key, 
dvander@896
    19
		const char *value, 
dvander@896
    20
		ConfigSource source,
dvander@896
    21
		char *error, 
dvander@896
    22
		size_t maxlength);
dvander@893
    23
private: //ConCommand
dvander@893
    24
	void OnSayCommand_Pre();
dvander@893
    25
	void OnSayCommand_Post();
dvander@893
    26
public:
dvander@893
    27
	unsigned int GetReplyTo();
dvander@893
    28
	unsigned int SetReplyTo(unsigned int reply);
dvander@893
    29
private:
dvander@1103
    30
	bool PreProcessTrigger(edict_t *pEdict, const char *args, bool is_quoted);
dvander@893
    31
private:
dvander@893
    32
	ConCommand *m_pSayCmd;
dvander@897
    33
	ConCommand *m_pSayTeamCmd;
dvander@893
    34
	char *m_PubTrigger;
dvander@893
    35
	size_t m_PubTriggerSize;
dvander@893
    36
	char *m_PrivTrigger;
dvander@893
    37
	size_t m_PrivTriggerSize;
dvander@893
    38
	bool m_bWillProcessInPost;
dvander@1103
    39
	bool m_bTriggerWasSilent;
dvander@893
    40
	unsigned int m_ReplyTo;
dvander@1103
    41
	char m_ToExecute[300];
dvander@893
    42
};
dvander@893
    43
dvander@893
    44
extern ChatTriggers g_ChatTriggers;
dvander@893
    45
dvander@893
    46
#endif //_INCLUDE_SOURCEMOD_CHAT_TRIGGERS_H_