Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*---------------------------------------------------------------------------------------------*\
- | (C)Remi-X |
- | _________ _______ ______ ______ ____ ____ ____ |
- | | _ \ | | | \ / | | | \ \ / / |
- | | | | | | ____| | \ / | | | \ \ / / |
- | | |_| | | |____ | |\ \ / /| | | | ______ \ \/ / |
- | | _ \ | | | | \ \ / / | | | | | | \ / |
- | | | \ \ | ____| | | \ \_/ / | | | | |______| / \ |
- | | | \ \ | |____ | | \ / | | | | / /\ \ |
- | | | \ \ | | | | \ / | | | | / / \ \ |
- | |___| \____\ |_______| |___| \___/ |___| |____| /___/ \___\ |
- | |
- | The Remi-X Time Tools V2.0 |
- | Please, do not remove any credits. |
- \*---------------------------------------------------------------------------------------------*/
- /*---------------------------------------------------------------------------------------------*\
- | Changelog V2.0: |
- | -Removed commands. They seemed to bug. |
- | -Removed bool between playertime and servertime. It doesn't work in the old version. |
- | -Some bugfixes fixed. (I thought only Playrid 0 can see the clock counting) |
- | -Some things done wich are faster to use. |
- | -Less script. |
- | -More information to edit the code. |
- | -This code should'nt have the atomic bomb bug. |
- | -I'm busy to get a place for the year. Coming in V2.1. |
- \*---------------------------------------------------------------------------------------------*/
- /*---------------------------------------------------------------------------------------------*\
- | Changelog V1.3: |
- | -You can coose if players must see their time, or the servertime. |
- | -Edit line: 239, and set it to true if you want the servertime, or false for the playertime.|
- | -Commands (RCON): |
- | -/rw : Sets a random weather. |
- | -/w [weatherid] to choose a weather. |
- | -/settime [hour] to set the Server World Time. |
- \*---------------------------------------------------------------------------------------------*/
- /*---------------------------------------------------------------------------------------------*\
- | Changelog V1.2: |
- | -Stupid red weather hopefully deleted... |
- \*---------------------------------------------------------------------------------------------*/
- /*---------------------------------------------------------------------------------------------*\
- | Changelog V1.1: |
- | -Some Dutch text translated, that I was forgotten. |
- | -If you startup the FilterScript, a random weather will be choosen. |
- | -If you startup the FilterScript, the worldtime will also set directly. |
- | -The weather, changed at the older version just one time (Bug). Now always. |
- \*---------------------------------------------------------------------------------------------*/
- /*---------------------------------------------------------------------------------------------*\
- | The Remi-X Time Tools V1.0: |
- | -Ingame clock, working on servertime, in seconds. |
- | -If it is night in your server time, than will it be also ingame night. |
- | -A random weather script, that will change the weather every hour. |
- | -The weather is based on the seasons, so if it's summer, you don't get winter weather. |
- | -There are no bullshit weathers, like the darkest weather ever. |
- | -The clock works on servertime, with seconds. |
- | -The clock has the same place as the original clock of San Andreas. |
- | -There is also a simple date, only without the year. |
- | -If it's month 4, the game says April. |
- | -The WorldTime change also, so if someone check your server values, he see also the hour. |
- | -There is a SetPlayerTime, so every minute will the daytime changed. |
- \*---------------------------------------------------------------------------------------------*/
- //=====Includes================================================================================//
- #include <a_samp>
- //=====Defines=================================================================================//
- //-----Colors----------------------------------------------------------------------------------//
- #define BLACK 0x000000FF
- #define WHITE 0xFFFFFFFF
- #define YELLOW 0xFFFF00FF
- #define RED 0xE60000FF
- //-----TextDrawSetFormat(Text:text, const format[], {Float,_}:...)-----------------------------//
- new FALSE = false;
- #define TextDrawSetFormat(%0,%1) do{new _str[128]; format(_str,128,%1); TextDrawSetString(%0,_str);}while(FALSE)
- //=====New variables===========================================================================//
- //-----TextDraws-------------------------------------------------------------------------------//
- new Text:TextdrawHour;
- new Text:TextdrawSeconds;
- new Text:TextdrawDay;
- new Text:TextdrawMonth;
- //-----Weather---------------------------------------------------------------------------------//
- // You can change the numbers for different weathers. Look the wiki for all weathers.
- new SpringWeather[8] = {1,10,11,14,17,23,29,33};
- new SummerWeather[5] = {0,1,10,11,19};
- new AutumnWeather[10] = {7,8,9,12,15,16,17,25,30,32};
- new WinterWeather[13] = {1,4,5,7,8,9,12,15,17,20,25,27,30};
- //=====Forwarding==============================================================================//
- forward RemiX_Time_Tools();
- //=====Callbacks==============================================================================//
- public OnFilterScriptInit()
- {
- //Print
- print("\n--------------------------------------");
- print(" Remi-X Time-Tools V2.0 started up.");
- print("--------------------------------------\n");
- //News
- new Year, Month, Day;
- new ServerHour, ServerMinute, ServerSecond;
- new summerrand = random(sizeof(SummerWeather));
- new winterrand = random(sizeof(WinterWeather));
- new springrand = random(sizeof(SpringWeather));
- new autumnrand = random(sizeof(AutumnWeather));
- //Gets
- getdate(Year, Month, Day);
- gettime(ServerHour, ServerMinute, ServerSecond);
- CreateRXTT();
- switch(Month)
- {
- case 1:{
- TextDrawSetString(TextdrawMonth, " January");
- SetWeather(WinterWeather[winterrand]);
- }
- case 2:{
- TextDrawSetString(TextdrawMonth, " February");
- SetWeather(WinterWeather[winterrand]);
- }
- case 3:{
- TextDrawSetString(TextdrawMonth, " March");
- if(Day <21){SetWeather(WinterWeather[winterrand]);}
- else{SetWeather(SpringWeather[springrand]);}
- }
- case 4:{
- TextDrawSetString(TextdrawMonth, " April");
- SetWeather(SpringWeather[springrand]);
- }
- case 5:{
- TextDrawSetString(TextdrawMonth, " May");
- SetWeather(SpringWeather[springrand]);
- }
- case 6:{
- TextDrawSetString(TextdrawMonth, " June");
- if(Day <21){SetWeather(SpringWeather[springrand]);}
- else{SetWeather(SummerWeather[summerrand]);}
- }
- case 7:{
- TextDrawSetString(TextdrawMonth, " July");
- SetWeather(SummerWeather[summerrand]);
- }
- case 8:{
- TextDrawSetString(TextdrawMonth, " August");
- SetWeather(SummerWeather[summerrand]);
- }
- case 9:{
- TextDrawSetString(TextdrawMonth, " September");
- if(Day <21){SetWeather(SummerWeather[summerrand]);}
- else{SetWeather(AutumnWeather[autumnrand]);}
- }
- case 10:{
- TextDrawSetString(TextdrawMonth, " October");
- SetWeather(AutumnWeather[autumnrand]);
- }
- case 11:{
- TextDrawSetString(TextdrawMonth, " November");
- SetWeather(AutumnWeather[autumnrand]);
- }
- case 12:{
- TextDrawSetString(TextdrawMonth, " December");
- if(Day <21){SetWeather(AutumnWeather[autumnrand]);}
- else{SetWeather(WinterWeather[winterrand]);}
- }
- }
- if(ServerHour == 22){SetWorldTime(22);} //Can't be different. I don't know why, but otherwise you get a atomic bomb weather.
- else{SetWorldTime(ServerHour);}
- //Timers
- SetTimer("RemiX_Time_Tools", 1000, true);
- return 1;
- }
- public OnFilterScriptExit()
- {
- DestroyRXTT();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- HideRXTT(playerid);
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- HideRXTT(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- ShowRXTT(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- HideRXTT(playerid);
- return 1;
- }
- //=====Forwarding==============================================================================//
- //=====Forwarding==============================================================================//
- public RemiX_Time_Tools()
- {
- //News
- new ServerHour, ServerMinute, ServerSecond;
- new Year, Month, Day;
- new summerrand = random(sizeof(SummerWeather));
- new winterrand = random(sizeof(WinterWeather));
- new springrand = random(sizeof(SpringWeather));
- new autumnrand = random(sizeof(AutumnWeather));
- //Gets
- gettime(ServerHour,ServerMinute,ServerSecond);
- getdate(Year, Month, Day);
- //TextDraw Clock
- TextDrawSetFormat(TextdrawHour, "%02d", ServerHour);
- TextDrawSetFormat(TextdrawSeconds, ":%02d", ServerSecond);
- for(new i = 0; i < GetMaxPlayers(); i++){SetPlayerTime(i, ServerHour, ServerMinute);}
- //TextDraw Day
- TextDrawSetFormat(TextdrawDay, "%02d", Day);
- //Weather Changer
- if(ServerMinute == 0 && ServerSecond == 1) //When a new hour starts. The one second is to prevent a bug.
- {
- new string[128];
- format(string, sizeof(string), "It's %02d o' clock. The weather is changed.",ServerHour);
- SendClientMessageToAll(YELLOW, string);
- printf("The weather is changed. [%02d:%02d:%02d]",ServerHour, ServerMinute, ServerSecond);
- switch(Month)
- {
- case 1:{
- TextDrawSetString(TextdrawMonth, " January");
- SetWeather(WinterWeather[winterrand]);
- }
- case 2:{
- TextDrawSetString(TextdrawMonth, " February");
- SetWeather(WinterWeather[winterrand]);
- }
- case 3:{
- TextDrawSetString(TextdrawMonth, " March");
- if(Day <21){SetWeather(WinterWeather[winterrand]);}
- else{SetWeather(SpringWeather[springrand]);}
- }
- case 4:{
- TextDrawSetString(TextdrawMonth, " April");
- SetWeather(SpringWeather[springrand]);
- }
- case 5:{
- TextDrawSetString(TextdrawMonth, " May");
- SetWeather(SpringWeather[springrand]);
- }
- case 6:{
- TextDrawSetString(TextdrawMonth, " June");
- if(Day <21){SetWeather(SpringWeather[springrand]);}
- else{SetWeather(SummerWeather[summerrand]);}
- }
- case 7:{
- TextDrawSetString(TextdrawMonth, " July");
- SetWeather(SummerWeather[summerrand]);
- }
- case 8:{
- TextDrawSetString(TextdrawMonth, " August");
- SetWeather(SummerWeather[summerrand]);
- }
- case 9:{
- TextDrawSetString(TextdrawMonth, " September");
- if(Day <21){SetWeather(SummerWeather[summerrand]);}
- else{SetWeather(AutumnWeather[autumnrand]);}
- }
- case 10:{
- TextDrawSetString(TextdrawMonth, " October");
- SetWeather(AutumnWeather[autumnrand]);
- }
- case 11:{
- TextDrawSetString(TextdrawMonth, " November");
- SetWeather(AutumnWeather[autumnrand]);
- }
- case 12:{
- TextDrawSetString(TextdrawMonth, " December");
- if(Day <21){SetWeather(AutumnWeather[autumnrand]);}
- else{SetWeather(WinterWeather[winterrand]);}
- }
- }
- if(ServerHour == 22){SetWorldTime(22);}
- else{SetWorldTime(ServerHour);}
- }
- return 1;
- }
- stock CreateRXTT()
- {
- //Hours
- TextdrawHour = TextDrawCreate(546.000000,22.000000,"--");
- TextDrawAlignment(TextdrawHour,0);
- TextDrawBackgroundColor(TextdrawHour,BLACK);
- TextDrawFont(TextdrawHour,3);
- TextDrawLetterSize(TextdrawHour,0.634,2.4);
- TextDrawColor(TextdrawHour,WHITE);
- TextDrawSetOutline(TextdrawHour,1);
- TextDrawSetProportional(TextdrawHour,1);
- TextDrawSetShadow(TextdrawHour,1);
- //Seconds
- TextdrawSeconds = TextDrawCreate(606.500000,33.000000,"--");
- TextDrawAlignment(TextdrawSeconds,0);
- TextDrawBackgroundColor(TextdrawSeconds,BLACK);
- TextDrawFont(TextdrawSeconds,3);
- TextDrawLetterSize(TextdrawSeconds,0.3,1.0);
- TextDrawColor(TextdrawSeconds,WHITE);
- TextDrawSetOutline(TextdrawSeconds,1);
- TextDrawSetProportional(TextdrawSeconds,1);
- TextDrawSetShadow(TextdrawSeconds,1);
- //Day
- TextdrawDay = TextDrawCreate(500.000000,10.000000,"--");
- TextDrawAlignment(TextdrawDay,0);
- TextDrawBackgroundColor(TextdrawDay,BLACK);
- TextDrawFont(TextdrawDay,3);
- TextDrawLetterSize(TextdrawDay,0.44,1.2);
- TextDrawColor(TextdrawDay,WHITE);
- TextDrawSetOutline(TextdrawDay,1);
- TextDrawSetProportional(TextdrawDay,1);
- TextDrawSetShadow(TextdrawDay,1);
- //Month
- TextdrawMonth = TextDrawCreate(515.000000,10.000000,"---------");
- TextDrawAlignment(TextdrawMonth,0);
- TextDrawBackgroundColor(TextdrawMonth,BLACK);
- TextDrawFont(TextdrawMonth,3);
- TextDrawLetterSize(TextdrawMonth,0.44,1.2);
- TextDrawColor(TextdrawMonth,WHITE);
- TextDrawSetOutline(TextdrawMonth,1);
- TextDrawSetProportional(TextdrawMonth,1);
- TextDrawSetShadow(TextdrawMonth,1);
- }
- stock HideRXTT(playerid)
- {
- TextDrawHideForPlayer(playerid,TextdrawHour);
- TextDrawHideForPlayer(playerid,TextdrawSeconds);
- TextDrawHideForPlayer(playerid,TextdrawDay);
- TextDrawHideForPlayer(playerid,TextdrawMonth);
- }
- stock ShowRXTT(playerid)
- {
- TextDrawShowForPlayer(playerid,TextdrawHour);
- TextDrawShowForPlayer(playerid,TextdrawSeconds);
- TextDrawShowForPlayer(playerid,TextdrawDay);
- TextDrawShowForPlayer(playerid,TextdrawMonth);
- }
- stock DestroyRXTT()
- {
- TextDrawDestroy(TextdrawHour);
- TextDrawDestroy(TextdrawSeconds);
- TextDrawDestroy(TextdrawDay);
- TextDrawDestroy(TextdrawMonth);
- }
Add Comment
Please, Sign In to add comment