Guest User

Geebrox Time Converter (SA:MP)

a guest
May 21st, 2016
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.59 KB | None | 0 0
  1. const UNIX_MINUTE = 60;
  2. const UNIX_HOUR = UNIX_MINUTE*60;
  3. const UNIX_DAY = UNIX_HOUR*24;
  4. const UNIX_MONTH = UNIX_DAY*30;
  5. const UNIX_YEAR = UNIX_MONTH*12;
  6. //Константы можете переместить в начало мода
  7.  
  8.  
  9. stock TimeConvert(array[], timestamp, array_size = sizeof(array))
  10. {
  11.     new compare = gettime(), time = (timestamp > compare) ? (timestamp - compare) : (compare - timestamp), remainder;
  12.     if(array_size < 14)
  13.         return 0;
  14.     if(time < UNIX_MINUTE)
  15.     {
  16.         remainder = time;
  17.         while(remainder > 10 && remainder != 11)
  18.             remainder = remainder % 10;
  19.         switch(remainder)
  20.         {
  21.             case 1:
  22.                 strcat(array, " секунда", 9);
  23.             case 2, 3, 4:
  24.                 strcat(array, " секунды", 9);
  25.             default:
  26.                 strcat(array, " секунд", 8);
  27.         }
  28.     }
  29.     else if(time < UNIX_HOUR)
  30.     {
  31.         remainder = time = time / UNIX_MINUTE;
  32.         while(remainder > 10 || remainder != 11)
  33.             remainder = remainder % 10;
  34.         switch(remainder)
  35.         {
  36.             case 1:
  37.                 strcat(array, " минута", 8);
  38.             case 2, 3, 4:
  39.                 strcat(array, " минуты", 8);
  40.             default:
  41.                 strcat(array, " минут", 7);
  42.         }
  43.     }
  44.     else if(time < UNIX_DAY)
  45.     {
  46.         remainder = time = time / UNIX_HOUR;
  47.         while(remainder > 10 && remainder != 11)
  48.             remainder = remainder % 10;
  49.         switch(remainder)
  50.         {
  51.             case 1:
  52.                 strcat(array, " час", 5);
  53.             case 2, 3, 4:
  54.                 strcat(array, " часа", 6);
  55.             default:
  56.                 strcat(array, " часов", 7);
  57.         }
  58.     }
  59.     else if(time < UNIX_MONTH)
  60.     {
  61.         remainder = time = time / UNIX_DAY;
  62.         while(remainder > 10 && remainder != 11)
  63.             remainder = remainder % 10;
  64.         switch(remainder)
  65.         {
  66.             case 1:
  67.                 strcat(array, " день", 6);
  68.             case 2, 3, 4:
  69.                 strcat(array, " дня", 5);
  70.             default:
  71.                 strcat(array, " дней", 6);
  72.         }
  73.     }
  74.     else if(time < UNIX_YEAR)
  75.     {
  76.         remainder = time = time / UNIX_MONTH;
  77.         while(remainder > 10 && remainder != 11)
  78.             remainder = remainder % 10;
  79.         switch(remainder)
  80.         {
  81.             case 1:
  82.                 strcat(array, " месяц", 7);
  83.             case 2, 3, 4:
  84.                 strcat(array, " месяца", 8);
  85.             default:
  86.                 strcat(array, " месяцев", 8);
  87.         }
  88.     }
  89.     else
  90.     {
  91.         remainder = time = time / UNIX_YEAR;
  92.         while(remainder > 10 && remainder != 11)
  93.             remainder = remainder % 10;
  94.         switch(remainder)
  95.         {
  96.             case 1:
  97.                 strcat(array, " год", 5);
  98.             case 2, 3, 4:
  99.                 strcat(array, " года", 6);
  100.             default:
  101.                 strcat(array, " лет", 5);
  102.         }
  103.     }
  104.     new val[4];
  105.     valstr(val, time);
  106.     strins(array, val, 0, array_size);
  107.     return 1;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment