/* [WHO]Them's score publisher, this is designed to be a clone of spudbot */ #include <core> #include <console> #include <string> #include <admin> #include <adminlib> #define ACCESS_LOGD 131072 #define PUBLISH_EVERY_ROUND 1 #define RESPOND_TO_SAY 1 new STRING_VERSION[MAX_DATA_LENGTH] = "v1.0"; new currentctscore = 0; new currentterrorscore = 0; public logd_scorepublish(HLCommand,HLData,HLUserName,UserIndex) { new Params[MAX_DATA_LENGTH]; convert_string(HLData,Params,MAX_DATA_LENGTH); new Data1[MAX_DATA_LENGTH]; //team new Data2[MAX_DATA_LENGTH]; //action strbreak(Params,Data1,Data2,MAX_DATA_LENGTH); if(strmatch(Data2, "CTs_Win", strlen("CTs_Win")) || strmatch(Data2, "Terrorists_Win", strlen("Terrorists_Win"))) { new scores[MAX_DATA_LENGTH]; new ctscore[MAX_DATA_LENGTH]; new terrorscore[MAX_DATA_LENGTH]; new useless[MAX_DATA_LENGTH]; new numstring[MAX_DATA_LENGTH]; new messageout[MAX_DATA_LENGTH]; new x=0; strbreak(Data2, useless, scores, MAX_DATA_LENGTH); strbreak(scores, ctscore, terrorscore, MAX_DATA_LENGTH); new i=0; new i2=0; for(i=0; i < strlen(ctscore) && ctscore[i]!='#';i=i+1) x = x + 1; i=i+1; for(i2=0; (i + i2) < strlen(ctscore); i2++) { numstring[i2] = ctscore[i+i2]; } currentctscore = strtonum(numstring); for(i=0; i < strlen(terrorscore) && terrorscore[i]!='#';i=i+1) x = x + 1; i=i+1; for(i2=0; (i + i2) < strlen(terrorscore); i2++) { numstring[i2] = terrorscore[i+i2]; } currentterrorscore = strtonum(numstring); #if PUBLISH_EVERY_ROUND==1 strcpy(messageout, "Terrorists ", MAX_DATA_LENGTH); numtostr(currentterrorscore, terrorscore); strcat(messageout, terrorscore, MAX_DATA_LENGTH); strcat(messageout, " -- Counter-Terrorists ", MAX_DATA_LENGTH); numtostr(currentctscore, ctscore); strcat(messageout, ctscore, MAX_DATA_LENGTH); strcat(messageout, ".", MAX_DATA_LENGTH); typesay(messageout,10,250,250,10); #endif } return PLUGIN_CONTINUE; } #if RESPOND_TO_SAY==1 public logd_requestpublish(HLCommand,HLData,HLUserName,UserIndex) { new data[MAX_DATA_LENGTH]; convert_string(HLData,data,MAX_DATA_LENGTH); if(streq(data, "score")) { new ctscore[MAX_DATA_LENGTH]; new terrorscore[MAX_DATA_LENGTH]; new messageout[MAX_DATA_LENGTH]; strcpy(messageout, "Terrorists ", MAX_DATA_LENGTH); numtostr(currentterrorscore, terrorscore); strcat(messageout, terrorscore, MAX_DATA_LENGTH); strcat(messageout, " -- Counter-Terrorists ", MAX_DATA_LENGTH); numtostr(currentctscore, ctscore); strcat(messageout, ctscore, MAX_DATA_LENGTH); strcat(messageout, ".", MAX_DATA_LENGTH); typesay(messageout,10,250,250,10); } return PLUGIN_CONTINUE; } #endif public plugin_init() { plugin_registerinfo("Score Publisher","Publishes Counter-Strike scores to the server.",STRING_VERSION); plugin_registercmd("logd_teamaction", "logd_scorepublish", ACCESS_LOGD, ""); #if RESPOND_TO_SAY==1 plugin_registercmd("say", "logd_requestpublish", ACCESS_ALL, "score : publishes the current score"); plugin_registercmd("say_team", "logd_requestpublish", ACCESS_ALL, "score : publishes the current score"); #endif exec( "logd_reg 61 admin_command logd_teamaction" ); return PLUGIN_CONTINUE; }