#include #include #define DELAY_TIME 30000 #define FILE_NAME "Y_Messages.txt" new gDelay = DELAY_TIME; new gLastCall = 0; public OnFilterScriptInit() { // Do my usual fancy stuff here print("\r\n===================================="); print("| |"); print("| YMessage Announcer System |"); print("| ------------------------- |"); print("| |"); print("| By Alex \"Y_Less\" Cole - (c) 2006 |"); print("| v0.3 |"); print("====================================\r\n"); ShowRandomMessage(false); new h, m, s; gettime(h, m, s); gLastCall = ((h * 3600) + (m * 60) + s) * 1000; //printf("%d, %d", gLastCall, gDelay); return 0; } public OnPlayerConnect(playerid) { CheckRand(); return 0; } CheckRand() { new h, m, s; gettime(h, m, s); h = ((h * 3600) + (m * 60) + s) * 1000; //printf("%d, %d", h, h - gLastCall); if (((h < gDelay) && (((h + 86400000) - gLastCall) > gDelay)) || ((h - gLastCall) > gDelay)) { ShowRandomMessage(); gLastCall = h; } } ShowRandomMessage(a = true) { new text[512]; new num, index; new File:yfile; //print("go"); if (fexist(FILE_NAME)) { if ((yfile = fopen(FILE_NAME, io_read))) { fread(yfile, text); num = strval(strtok(text, index)); if (a) { num = random(num); index = 0; while ((fread(yfile, text)) && (index <= num)) { if (text[0] == '}') { index++; } else if ((index == num) && (text[0] != '{')) { SendClientMessageToAll(0x00FF00FF, text); } } } else { gDelay = strval(strtok(text, index)); } fclose(yfile); } else { print("yAd Error: Could not open file, please ensure you have a scriptfiles directory"); } } else { print("yAd Error: Messages file not found"); } } public strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[32]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof (result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public OnPlayerRequestClass(playerid, classid) { CheckRand(); return 0; } public OnPlayerDisconnect(playerid) { CheckRand(); return 0; } public OnPlayerSpawn(playerid) { CheckRand(); return 0; } public OnPlayerDeath(playerid, killerid, reason) { CheckRand(); return 0; } public OnVehicleSpawn(vehicleid) { CheckRand(); return 0; } public OnVehicleDeath(vehicleid, killerid) { CheckRand(); return 0; } public OnPlayerText(playerid) { CheckRand(); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { CheckRand(); return 0; } public OnPlayerInfoChange(playerid) { CheckRand(); return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { CheckRand(); return 0; } public OnPlayerExitVehicle(playerid, vehicleid) { CheckRand(); return 0; } public OnPlayerStateChange(playerid, newstate, oldstate) { CheckRand(); return 0; } public OnPlayerEnterCheckpoint(playerid) { CheckRand(); return 0; } public OnPlayerLeaveCheckpoint(playerid) { CheckRand(); return 0; }