Lanser
Умник
Всем привет. Решил как то я для понта
сделать, чтобы логи писались по-русски и в столбик. Попробывал на команде /kick
ко всем forward
и в конец мода
Все лог мы рабочим сделали, теперь давайте саму сделаем кик, чтобы сохранялся в лог сам кик
Заменяем свой кик на этот
Чуть не забыл, в папке scriptfiles создайте папку Logs.
В папке Logs докумет Kick.log
Пример как будет писаться "* Mels_Rostovski кикнут(а) администратором Mels_Rostovski, причина: Проверка [Дата:26/07/2012][Время:17:17:33]
Всем спасибо, будут ошибки, варнинги, вопросы пишите с теме.
Буду благодарен плюсу)
Автор я)
ко всем forward
Код:
forward SystemDiniLog(string[]);
Код:
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);
}
Заменяем свой кик на этот
Код:
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;
}
В папке Logs докумет Kick.log
Пример как будет писаться "* Mels_Rostovski кикнут(а) администратором Mels_Rostovski, причина: Проверка [Дата:26/07/2012][Время:17:17:33]
Всем спасибо, будут ошибки, варнинги, вопросы пишите с теме.
Буду благодарен плюсу)
Автор я)
Последнее редактирование:
