/* SISTEMA CRIADO POR: GRAF_SPEE ([THs]ShadoW), favor manter os créditos. Eu deixei no Topo do Código algumas "Defines", (Linhas 21 - 25) para se selecionar o que vai e o que não vai ser executado, para alterar os valores é só alterar de 1 (True ou Verdadeiro) para 0 (False ou Falso), e vice versa. Vou ensinar como configurá-las e o que elas mudam. O "LOCALSALVAMENTO" é, como o nome já diz, onde o Arquivo de Salvamento será criado, se for somente um arquivo solto em Scriptfiles não é necessário (nem recomendado) criá-lo, pois o FilterScript o fará automaticamente, porém, se o arquivo for definido para ser salvo dentro de uma pasta (Ex: "Exemplo/InfoHorasLigadas.txt") A PASTA DEVERÁ SER CRIADA, caso contrário pode haver um mal funcionamento do Script ou o fechamento do Console (e consequentemente, do servidor). O "TESTAR" é para aqueles que desejam testar o funcionamento do FS, a cada segundo ele Printa uma mensagem no Console com o Segundo atual (recomendado manter em "0" se comprovado o funcionamento do FS, visto que pode causar um certo "LAG") O "PRINTARMIN" se definido para 1, printa uma mensagem no console a cada minuto (Mensagem = "Minuto Adicionado" "Estamos no Minuto: %d") O "PRINTARHOR" se definido para 1, printa uma mensagem no console a cada hora (Mensagem = "Hora Adicionada" "Estamos na Hora: %d") */ #include #include #include /*------*/ #define LOCALSALVAMENTO "InfoHorasLigadas.txt" // #define TESTAR 1 #define PRINTARMIN 1 #define PRINTARHOR 1 /*------*/ new HorasLigadas; new MinutosLigados; new HorasLigadasSeguidas; new MinutosLigadosSeguidos; new Minutos; new TimerSubir; new Teste = 0; forward MinutoAMais(); forward Teste2(); public OnFilterScriptInit() { print("\n--------------------------------------"); print(" FilterScipt - Cronômetro - By Graf_Spee"); print("--------------------------------------\n"); if(DOF2_FileExists(LOCALSALVAMENTO)) { Minutos = DOF2_GetInt(LOCALSALVAMENTO, "Minutos Ligados"); MinutosLigados = DOF2_GetInt(LOCALSALVAMENTO, "Minutos Ligados"); HorasLigadas = MinutosLigados / 60; } if(!DOF2_FileExists(LOCALSALVAMENTO)) { HorasLigadas = 0; MinutosLigados = 0; DOF2_CreateFile(LOCALSALVAMENTO); DOF2_SetInt(LOCALSALVAMENTO, "Minutos Ligados", MinutosLigados); HorasLigadas = 0; MinutosLigados = 0; } TimerSubir = SetTimer("MinutoAMais", 1000 * 60, true); #if TESTAR == 1 SetTimer("Teste2", 1000, true); #endif HorasLigadasSeguidas = 0; MinutosLigadosSeguidos = 0; return 1; } public OnFilterScriptExit() { DOF2_SetInt(LOCALSALVAMENTO, "Minutos Ligados", MinutosLigados); DOF2_SetInt(LOCALSALVAMENTO, "Horas Ligadas", HorasLigadas); DOF2_Exit(); KillTimer(TimerSubir); return 1; } CMD:tempoligado(playerid, params[]) { new String[256]; format(String, sizeof(String), "{FF8C00}[INFO]{FFFF00} O Servidor está ligado a {FF69B4}%d{FFFF00} minuto(s) seguidos. Isto equivale a {FF69B4}%d{FFFF00} hora(s).", MinutosLigadosSeguidos, HorasLigadasSeguidas); SendClientMessage(playerid, -1, String); format(String, sizeof(String), "{FF8C00}[INFO]{FFFF00} O mesmo já passou {FF69B4}%d{FFFF00} minuto(s) ligado. Isto equivale a {FF69B4}%d{FFFF00} hora(s).", MinutosLigados, HorasLigadas); SendClientMessage(playerid, -1, String); SendClientMessage(playerid, -1, "Sistema criado por Graf_Spee"); return 1; } public Teste2() { Teste++; printf("%d", Teste); } public MinutoAMais() { MinutosLigados++; MinutosLigadosSeguidos++; Minutos++; // #if PRINTARMIN == 1 print("Minuto Adicionado"); printf("Estamos no minuto: %d", Minutos); #endif // if(Minutos == 60) { HorasLigadas++; Minutos = 0; #if PRINTARHOR == 1 print("Hora Adicionada"); printf("Estamos na hora: %d", HorasLigadas); #endif } if(MinutosLigadosSeguidos == 60) { HorasLigadasSeguidas++; } return 1; }