00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #define MAX_MESSAGE_SIZE 256
00033 #define MAX_CHATTYPE_NAME 32
00034 #define MAX_MATCHVARIABLES 8
00035
00036 #define CHAT_GENDERLESS 0
00037 #define CHAT_GENDERFEMALE 1
00038 #define CHAT_GENDERMALE 2
00039
00040 #define CHAT_ALL 0
00041 #define CHAT_TEAM 1
00042 #define CHAT_TELL 2
00043
00044
00045 typedef struct bot_consolemessage_s
00046 {
00047 int handle;
00048 float time;
00049 int type;
00050 char message[MAX_MESSAGE_SIZE];
00051 struct bot_consolemessage_s *prev, *next;
00052 } bot_consolemessage_t;
00053
00054
00055 typedef struct bot_matchvariable_s
00056 {
00057 char offset;
00058 int length;
00059 } bot_matchvariable_t;
00060
00061 typedef struct bot_match_s
00062 {
00063 char string[MAX_MESSAGE_SIZE];
00064 int type;
00065 int subtype;
00066 bot_matchvariable_t variables[MAX_MATCHVARIABLES];
00067 } bot_match_t;
00068
00069
00070 int BotSetupChatAI(void);
00071
00072 void BotShutdownChatAI(void);
00073
00074 int BotAllocChatState(void);
00075
00076 void BotFreeChatState(int handle);
00077
00078 void BotQueueConsoleMessage(int chatstate, int type, char *message);
00079
00080 void BotRemoveConsoleMessage(int chatstate, int handle);
00081
00082 int BotNextConsoleMessage(int chatstate, bot_consolemessage_t *cm);
00083
00084 int BotNumConsoleMessages(int chatstate);
00085
00086 void BotInitialChat(int chatstate, char *type, int mcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7);
00087
00088 int BotNumInitialChats(int chatstate, char *type);
00089
00090 int BotReplyChat(int chatstate, char *message, int mcontext, int vcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7);
00091
00092 int BotChatLength(int chatstate);
00093
00094 void BotEnterChat(int chatstate, int clientto, int sendto);
00095
00096 void BotGetChatMessage(int chatstate, char *buf, int size);
00097
00098 int StringContains(char *str1, char *str2, int casesensitive);
00099
00100 int BotFindMatch(char *str, bot_match_t *match, unsigned long int context);
00101
00102 void BotMatchVariable(bot_match_t *match, int variable, char *buf, int size);
00103
00104 void UnifyWhiteSpaces(char *string);
00105
00106 void BotReplaceSynonyms(char *string, unsigned long int context);
00107
00108 int BotLoadChatFile(int chatstate, char *chatfile, char *chatname);
00109
00110 void BotSetChatGender(int chatstate, int gender);
00111
00112 void BotSetChatName(int chatstate, char *name, int client);
00113