All pastes #526640 Raw Edit

dcmd_swear

public c v1 · immutable
#526640 ·published 2007-05-31 21:52 UTC
rendered paste body
dcmd_swear(player, func[]) {	if(IsPlayerConnected(player) && IsPlayerAdmin(player)) {		new tmp[256],		    swear[STR],			idx;		tmp = strtok(func, idx);		if(!strlen(tmp)) {		    SendClientMessage(player, 0xFFFFFFFF, "The command let you add/remove \"bad word\" to the list of censured words.");		    SendClientMessage(player, 0xEEEEEEFF, "* USAGE: /swear [add/remove] [word]");		    return 1;		}		else {		    if(!strcmp(tmp, "add", true)) {			    tmp = strtok(func, idx);				if(!strlen(tmp)) return SendClientMessage(player, 0xEEEEEEAA, "** USAGE: /swear [add] [word]");				else {			    	new File: file = fopen("antiswear.cfg", io_readwrite);			    	if(file) {			    	    FixChars(tmp);			    	    new string[256],							bool:swear_exists = false;			    	    while(fread(file,string)) {			    			for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';							if(strcmp(string, tmp, true)==0) {							    swear_exists = true;							    break;							}			    	    }			    	    if(swear_exists) {							SendClientMessage(player, 0xDDDDDDAA, "This word already exists.");						}						else {						    new added_swear[STR];					        format(added_swear, sizeof added_swear, "%s\n", tmp);					        fwrite(file, added_swear);					        format(swear, sizeof swear, "%s", tmp);		    		        Swears[num_words] = swear;		        		    num_words++;			    	    	format(swear, sizeof swear, "You have added \"%s\" to the list of censured words.", tmp);							SendClientMessage(player, 0xFFFFFFAA, swear);						}					    fclose(file);						return 1;			    	}			    	else return SendClientMessage(player, 0xEEEEEEAA, "File: \"antiswear.cfg\" does NOT exist.");				}			}			else if(!strcmp(tmp, "remove", true)) {			    tmp = strtok(func, idx);				if(!strlen(tmp)) return SendClientMessage(player, 0xEEEEEEAA, "** USAGE: /swear [remove] [word]");				else {			    	new File: file = fopen("antiswear.cfg", io_readwrite);			    	new File: copy = fopen("copy_anti.cfg", io_write);			    	if(file) {			    	    FixChars(tmp);			    	    new string[STR],							deleted[STR],							bool: exists=false;			    	    while(fread(file,string)) {			    	        for(new i; i < strlen(string); i++) {								if(string[i] == '\n'								|| string[i] == '\r'){									string[i] = '\0';									if(!strcmp(string, tmp, true)) {									    exists = true;										continue;									}									format(deleted, sizeof deleted, "%s\r\n", string);									fwrite(copy, deleted);								}							}			    	    }			    	    if(exists)						    SendClientMessage(player, 0xEEEEEEAA, "*** The word was successfully removed.");						else						    SendClientMessage(player, 0xDDDDDDAA, "*** The word you want to remove does NOT exist.");						fclose(copy);					    fclose(file);					    fremove("antiswear.cfg");					    fcopytextfile("copy_anti.cfg", "antiswear.cfg");					    fremove("copy_anti.cfg");					    new File: fileRead;					    num_words = 0;						if((fileRead = fopen("antiswear.cfg",io_read)))						{							while(fread(fileRead,string))							{							    FixChars(string);							    for(new i = 0, j = strlen(string); i < j; i++)									if(string[i] == '\n' || string[i] == '\r')										string[i] = '\0';					            Swears[num_words] = string;					            num_words++;							}							fclose(file);						}						return 1;			    	}			    	else return SendClientMessage(player, 0xEEEEEEAA, "File: \"antiswear.cfg\" does NOT exist.");				}		    }		    else SendClientMessage(player, 0xDDDDDDFF, "*** USAGE: /swear [add/remove] [word]");		}	}else SendClientMessage(player, 0xEE0000FF, "*** Login as admin and try again.");    return 1;}