Дмитрий |
Дата: Понедельник, 06.08.2012, 22:40 | Сообщение # 1 | Сообщить о нерабочей теме
|
Регистрация: | 03.12.2011
|
Страна: | Российская Федерация |
Репутация: |
14
|
Сообщений: | 1421 |
Награды: |
4
+
|
Статус: |
|
| Всем привет. Решил как то я для понта:D сделать, чтобы логи писались по-русски и в столбик. Попробывал на команде /kick
ко всем forward
Code forward SystemDiniLog(string[]);
и в конец мода
Code log(filename[],string[]) { new year, month,day; new hour,minuite,second; new stringer[100]; new str[500]; gettime(hour,minuite,second); FixHour(hour); hour = shifthour+1; getdate(year, month, day); format(stringer,sizeof(stringer),"Logs/%s.log",filename);// Это куда сохраняются файлы с разширением log new File:file = fopen(stringer, io_append); format(str,sizeof(str),"%s [Дата:%d/%d/%d][Время:%d:%d:%d]\r\n",string,day,month,year,hour,minuite,second); for(new io=0; io<strlen(str); io++) { fputchar(file, str[io], false); } fclose(file); }
Все лог мы рабочим сделали, теперь давайте саму сделаем кик, чтобы сохранялся в лог сам кик Заменяем свой кик на этот
Code if(strcmp(cmd, "/kick", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, " Èñïîëüçîâàòü: /kick [playerid/PartOfName] [reason]"); return 1; } giveplayerid = ReturnUser(tmp); if (PlayerInfo[playerid][pAdmin] >= 1) { if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); new kickstring[999]; while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /kick [playerid/PartOfName] [reason]"); return 1; } new year, month,day; getdate(year, month, day); format(string, sizeof(string), "* %s кикнут(а) администратором %s ,причина: %s", giveplayer, sendername, (result)); log("Kick", string); format(string, sizeof(string), " %s кикнут(а) администратором: %s", giveplayer, sendername, (result)); SendClientMessageToAll(COLOR_LIGHTRED, string); format(kickstring, sizeof(kickstring), "* Вы %s, были кикнуты администратором %s *", giveplayer, sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, kickstring); format(kickstring, sizeof(kickstring), "* Причина: %s *",(result)); SendClientMessage(giveplayerid, COLOR_YELLOW, kickstring); format(kickstring, sizeof(kickstring), "* Дата: %d-%d-%d *",day,month,year); SendClientMessage(giveplayerid, COLOR_YELLOW, kickstring); Kick(giveplayerid); return 1; } } } else { format(string, sizeof(string), " %d нет в игре.", giveplayerid); SendClientMessage(playerid, COLOR_GRAD1, string); } } return 1; }
Чуть не забыл, в папке scriptfiles создайте папку Logs. В папке Logs докумет Kick.log
Пример как будет писаться "* Mels_Rostovski кикнут(а) администратором Mels_Rostovski, причина: Проверка [Дата:26/07/2012][Время:17:17:33]
Автор: Lanser
From Russia With Love!
|
|
|
|