void AdminCmds::SM_Chat(const char* line, int clnum) { char chattername[256]; char cleanname[256]; int i; if(line[0] == 0) { return; } if ( clnum >= 0 ) { Q_strncpyz(cleanname, Plugin_GetPlayerName(clnum), sizeof(cleanname)); Q_CleanStr(cleanname); if(Plugin_CanPlayerUseCommand(clnum, "sm_chat")) { Com_sprintf(chattername, sizeof(chattername), "^3%s", cleanname); }else{ Com_sprintf(chattername, sizeof(chattername), "^2%s", cleanname); } }else{ Q_strncpyz(chattername, "^1Console", sizeof(chattername)); } for ( i = 0; i < Plugin_GetSlotCount(); ++i ) { if ( Plugin_CanPlayerUseCommand(i, "sm_chat") || i == clnum) { Plugin_ChatPrintf(i, "^3[^0AdminChat^3]^7 (%s^7): %s", chattername, line); } } }
PCL void OnMessageSent(char *message, int slot,qboolean **show){ FILE *write; char path[512]; snprintf(path,sizeof(path),"%s/%i.txt",Plugin_Cvar_VariableString("fs_homepath"),Plugin_Cvar_VariableIntegerValue("net_port")); write = fopen( path, "at" ); fprintf(write,"time\\%d\\name\\%s\\guid\\%s\\message\\%s\n",(int)time(NULL),Plugin_GetPlayerName(slot),Plugin_GetPlayerGUID(slot),message); fclose(write); }
//For using chat with @@ prefix void AdminCmds::SM_PSay(const char* msg, int source) { int i; char message[1024]; char cleannames[128]; char cleannamed[128]; Cmd_TokenizeString(msg); if(Cmd_Argc() < 2) { Plugin_ChatPrintf(source, "Usage: @@player message"); return; } client_t* cl = Plugin_SV_Cmd_GetPlayerClByHandle(Cmd_Argv(0)); if(cl == NULL) { Plugin_ChatPrintf(source, "No player for %s found", Cmd_Argv(0)); return; } if(cl->state < CS_ACTIVE) { Plugin_ChatPrintf(source, "Player %s is not in active", cl->name); return; } message[0] = '\0'; for(i = 1; i < Cmd_Argc(); ++i) { Q_strcat(message, sizeof(message), Cmd_Argv(i)); Q_strcat(message, sizeof(message), " "); } int destination = NUMFORCLIENT(cl); if(source == destination) { Plugin_ChatPrintf(source, "Why would you send a message to yourself?"); return; } Q_strncpyz(cleannames, Plugin_GetPlayerName(source), sizeof(cleannames)); Q_strncpyz(cleannamed, cl->name, sizeof(cleannamed)); Q_CleanStr(cleannames); Q_CleanStr(cleannamed); Plugin_ChatPrintf(source, "^7%s ^1>> ^7%s: %s", cleannames, cleannamed, message); Plugin_ChatPrintf(destination, "^7%s ^1>> ^7%s: %s", cleannames, cleannamed, message); }