Advertisement
Guest User

jonesy

a guest
Feb 17th, 2008
2,558
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.50 KB | None | 0 0
  1. #include <a_samp>
  2. #define FILTERSCRIPT
  3.  
  4. new Text:Clock; new Text:WeekDayg;
  5.  
  6. forward GetWeekdayNum(d,m,y);
  7. forward settime();
  8. forward weatherchange();
  9.  
  10. public OnFilterScriptInit()
  11. {
  12.     print("\n--------------------------------------");
  13.     print(" [FS]Weekday Clock - by Jonesy           ");
  14.     print("--------------------------------------\n");
  15.    
  16.     WeekDayg = TextDrawCreate(502.000000,11.000000,"----");
  17.     TextDrawAlignment(WeekDayg,0);
  18.     TextDrawBackgroundColor(WeekDayg,0x000000ff);
  19.     TextDrawFont(WeekDayg,3);
  20.     TextDrawLetterSize(WeekDayg,0.700000,1.000000);
  21.     TextDrawColor(WeekDayg,0xffff00cc);
  22.     TextDrawSetOutline(WeekDayg,1);
  23.     TextDrawSetProportional(WeekDayg,1);
  24.     TextDrawSetShadow(WeekDayg,10);
  25.  
  26.     Clock = TextDrawCreate(547.0, 24.0, "--:--");
  27.     TextDrawLetterSize(Clock, 0.6, 1.8);
  28.     TextDrawFont(Clock, 3);
  29.     TextDrawSetOutline(Clock, 2);
  30.    
  31.     SetTimer("settime",1000,true);
  32.     SetTimer("weatherchange",10800000,true);
  33.     return 1;
  34. }
  35.  
  36. public OnFilterScriptExit()
  37. {
  38.     return 1;
  39. }
  40.  
  41. public OnPlayerSpawn(playerid)
  42. {
  43.     TextDrawShowForPlayer(playerid, Clock);
  44.     TextDrawShowForPlayer(playerid, WeekDayg);
  45.     SendClientMessage(playerid, 0xFF9900AA, "[FS]Weekday Clock - by Jonesy");
  46.     return 1;
  47. }
  48.  
  49. public OnPlayerDisconnect(playerid, reason)
  50. {
  51.     TextDrawHideForPlayer(playerid, Clock);
  52.     TextDrawHideForPlayer(playerid, WeekDayg);
  53.     return 1;
  54. }
  55.  
  56. public weatherchange(){
  57.     SetWeather(random(18));
  58. }
  59.  
  60. public settime(){
  61.     new hour,minute,second;
  62.     new string[256];
  63.     gettime(hour,minute,second);
  64.     if (minute <= 9){format(string,25,"%d:0%d",hour,minute);}
  65.     else {format(string,25,"%d:%d",hour,minute);}
  66.     TextDrawSetString(Clock,string);
  67.     SetWorldTime(hour);
  68.     new day, month, year;
  69.     new weekday;
  70.     getdate(day, month, year);
  71.     weekday = GetWeekdayNum(day, month, year);
  72.     if(weekday == 1){TextDrawSetString(WeekDayg,"Monday");}
  73.     if(weekday == 2){TextDrawSetString(WeekDayg,"Tuesday");}
  74.     if(weekday == 3){TextDrawSetString(WeekDayg,"Wednesday");}
  75.     if(weekday == 4){TextDrawSetString(WeekDayg,"Thursday");}
  76.     if(weekday == 5){TextDrawSetString(WeekDayg,"Friday");}
  77.     if(weekday == 6){TextDrawSetString(WeekDayg,"Saturday");}
  78.     if(weekday == 7){TextDrawSetString(WeekDayg,"Sunday");}
  79.     return 1;
  80. }
  81.  
  82. public GetWeekdayNum(d,m,y) //by d.wine
  83. {
  84.     m-=2;
  85.     if(m<=0)
  86.         {
  87.         y--;
  88.         m+=12;
  89.         }
  90.     new cen = y/100;
  91.     y=getrem(y,100);
  92.     new w = d + ((13*m-1)/5) + y + (y/4) + (cen/4) - 2*cen;
  93.     w=getrem(w,7);
  94.     if (w==0) w=7;
  95.     return w-1;
  96. }
  97.  
  98. getrem(a,b) //get remnant of division
  99. {
  100.     new div = a/b;
  101.     new left = a-b*div;
  102.     return left;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement