25.12.2010, 07:41
Код:
dcmd_report(playerid, params[]) { new tmp[256], idx; tmp = strtok(params, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0x555252AA, "/report [id] [reason]"); return 1; }else{ new pid = strval(tmp); tmp = strrest(params, idx); if(!IsPlayerConnected(pid)){ SendClientMessage(playerid, 0x555252AA, "Invalid Player"); return 1; }else{ if(!strlen(tmp)){ SendClientMessage(playerid, 0x555252AA, "/report [id] [reason]"); return 1; }else{ new name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], string[200]; GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(pid, name2, sizeof(name2)); format(string, sizeof(string), "*%s(%d) reported %s(%d) for '%s'", name, playerid, name2, pid, tmp); for(new i=0; i<GetMaxPlayers(); i++){ if(IsPlayerConnected(i)){ if(IsPlayerAdmin(i)){ SendClientMessage(i, 0x555252AA, string); } } } } } } return 1; } stock strrest(const string[], index) { new length = strlen(string),offset = index,result[256]; while ((index < length) && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r')) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
(Possible output: "Sascha(0) reported doryn3l(2) for 'lalalalala'")
I hope it works as I just wrote it up...