Vocк tem que formatar as linhas em uma string e depois mostrar a dialog com ela.
PHP код:
stock ExibirLog(playerid, log[], lines = 5, bool:checksize = true)
{
new str[128];
if(ShowLogLines[playerid] > 0) lines = ShowLogLines[playerid];
if(ShowLogLines[playerid] > 100) ShowLogLines[playerid] = 100;
if(!fexist(log)){
format(str, sizeof(str), "| LOG |: O arquivo nгo existe: {C0C0C0}%s", log);
SendClientMessage(playerid,0xFF0000FF,str);
return 1;}
new Buffer[256],TotalLines,Lines;
new File:LogFile = fopen(log, io_read);
if(checksize == true)
{
if(flength(LogFile) > 512000) //500KB
{
fclose(LogFile);
SendClientMessage(playerid,0xFF0000FF,"| ERRO | O arquivo de log nгo pode ser exibido por passar do tamanho limite (500KB)");
return 1;
}
}
while(fread(LogFile, Buffer)) TotalLines++;
fseek(LogFile, seek_start);
format(str, sizeof(str), "| LOG |: Lendo as ъltimas %i linhas do arquivo: {C0C0C0}%s", lines, log);
SendClientMessage(playerid,0x00FF00FF,str);
new dialog[1000];
while(fread(LogFile, Buffer))
{
Lines++;
if(TotalLines - Lines < lines) strcat(dialog, Buffer);
}
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_MSGBOX,"{FF0000}Logs!",dialog,"Fechar","");
SendClientMessage(playerid,0x00FF00FF,"| LOG |: Leitura efetuada com sucesso!");
fclose(LogFile);
return 1;
}