Quote (DIEHARD)
я все наблюдал и наблюдал и хз куда обратиться! вопрос банален как сделать команду /report id причина (жалоба игрока на игрока админу с причиной) причем нада для 0.3с кто знает помогите плиз а то я уже голову изломал вроде все сделал норм вот только это не получается
DIEHARD попробуй этот код
dcmd_report(playerid,params[]) {
new reported, tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(params)) return SendClientMessage(playerid, red, " ПРАВКА: /report [id игрока] [причина жалобы]");
reported = strval(tmp);
if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
if(PlayerInfo[reported][Level] == ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red," ОШИБКА: Вы не можете пожаловаться на админа");
if(playerid == reported) return SendClientMessage(playerid,red," ОШИБКА: Вы не можете пожаловаться на себя");
if(strlen(params) > 7) {
new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128], hour,minute,second; gettime(hour,minute,second);
GetPlayerName(reported, reportedname, sizeof(reportedname)); GetPlayerName(playerid, reporter, sizeof(reporter));
format(str, sizeof(str), " ||НОВАЯ ЖАЛОБА|| %s(%d) жалуется на %s(%d) Причина: %s |@%d:%d:%d|", reporter,playerid, reportedname, reported, params[strlen(tmp)+1], hour,minute,second);
MessageToAdmins(COLOR_WHITE,str);
SaveToFile("ReportLog",str);
format(str, sizeof(str), " ЖАЛОБА(%d:%d:%d): %s(%d) жалуется %s(%d) Причина: %s", hour,minute,second, reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
for(new i = 1; i < MAX_REPORTS-1; i++) Reports[i] = Reports[i+1];
Reports[MAX_REPORTS-1] = str;
return SendClientMessage(playerid,yellow, " Ваша жалоба отправлена всем админам, которые сейчас в игре.");
} else return SendClientMessage(playerid,red," ОШИБКА: Слишком короткая жалоба");
} else return SendClientMessage(playerid, red, " Нет такого игрока");
}