Results 1 to 2 of 2

Thread: GetTime(all the ways)

  1. #1
    Private Paho's Avatar
    Join Date
    Feb 2014
    Location
    Russia
    Posts
    101
    Thanks
    43
    Thanked 48 Times in 37 Posts

    GetTime(all the ways)

    is working:
    1. Linux get result
    Code:
    CodeCallback_StartGameType()
    {
    if(!isDefined(level.gametypestarted) || !level.gametypestarted)
    {
    thread timing();
    [[level.callbackStartGameType]]();
    level.gametypestarted = true;
    }
    }
    Code:
    timing()
    {
    for (;;)
    {
    if(!isDefined(level.day))
    {
    a=script_result("LC_TIME=en_US date");//every one hour or map
    mesasnie=a[4]+a[5]+a[6];
    mesas=0;
    chislo=0;
    day=0;
    minutka=0;
    if(mesasnie=="Jan")
    mesas="01";
    if(mesasnie=="Feb")
    mesas="02";
    if(mesasnie=="Mar")
    mesas="03";
    if(mesasnie=="Apr")
    mesas="04";
    if(mesasnie=="May")
    mesas="05";
    if(mesasnie=="Jun")
    mesas="06";
    if(mesasnie=="Jul")
    mesas="07";
    if(mesasnie=="Aug")
    mesas="08";
    if(mesasnie=="Sep")
    mesas="09";
    if(mesasnie=="Oct")
    mesas="10";
    if(mesasnie=="Nov")
    mesas="11";
    if(mesasnie=="Dec")
    mesas="12";
    day=int(a[8]+a[9]);
    chislo=a[11]+a[12];
    minutka=int(a[14]+a[15]);
    level.day=day;
    level.mesas=mesas;
    level.chislo=chislo;
    level.minutka=minutka-1;
    }
    level.minutka=level.minutka+1;
    players = getEntArray("player", "classname");
    pizdokril=0;
    if(level.day<10)
    pizdokril="0";
    if(level.day>=10)
    pizdokril="";
    for(x = 0; x < players.size; x++)
    {
    if(level.minutka>=10)
    players[x] setclientcvar("timeforserver",pizdokril+level.day+"/"+level.mesas+" "+level.chislo+":"+level.minutka);
    if(level.minutka<10)
    players[x] setclientcvar("timeforserver",pizdokril+level.day+"/"+level.mesas+" "+level.chislo+":0"+level.minutka);
    }
    if(level.minutka>=10)
    printf(pizdokril+level.day+"/"+level.mesas+" "+level.chislo+":"+level.minutka+"\n");
    if(level.minutka<10)
    printf(pizdokril+level.day+"/"+level.mesas+" "+level.chislo+":0"+level.minutka+"\n");
    if(level.minutka==59)//if the end of an hour, then again we execute date for the counter
    {
    level.day=undefined;//reset variable for cycle was start again
    }
    wait 60;
    }
    }
    2. PHP
    • Terminal: php time.php

    PHP Code:
    <?php
    set_time_limit
    (0);
    $server "ip";
    $port "port";
    $rcon ="rcon password";
    while(
    1)
    {
    $str="";
    $str=date("d m H:i");
    $udpfirst fsockopen("udp://" .$server$port);
    $connectstring = ("\xff\xff\xff\xffrcon ".$rcon." time $str");
    fwrite($udpfirst,$connectstring);
    echo 
    "\n".$str;
    stream_set_timeout($udpfirst1);
    $udpfirstresponse ''.fread($udpfirst1400);
    $udpfirstinfo stream_get_meta_data($udpfirst);
    sleep(20);
    }
    ?>
    • gsc:

    Code:
    init()
    {
    setcvar("time", "");
    if (getcvar("time") != "")
    {
    thread time(getcvar("time"));
    setcvar("time", "");
    }
    }
    time(time)
    {
    player = self;
    hour=time[time.size-5]+time[time.size-4];
    min=time[time.size-2]+time[time.size-1];
    mounth=time[time.size-8]+time[time.size-7];
    day=time[time.size-11]+time[time.size-10];
    players = getEntArray("player", "classname");
    for(x = 0; x < players.size; x++)
    players[x] setclientcvar("timeforserver","^4T^7ime^2:^7 "+hour+":"+min+"\n^4D^7ate^2:^7 "+day+"."+mounth+".2016");
    wait 30;
    players = getEntArray("player", "classname");
    for(x = 0; x < players.size; x++)
    players[x] setclientcvar("timeforserver","");
    }
    ------------------------------------------------------------------
    Soon(at the moment only ideas)....
    3. MySQL
    • Get: SELECT unix_timestamp(now())
    • Convert: SELECT unix_timestamp(time) time Format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD
      from_unixtime(unix time, not necessarily the output format) Standard Output Format YYY-MM-DD HH:MM:SS

    4. Unix time
    level.ted=(getTime() - level.starttime)/1000;//how many seconds have passed since the beginning of the map restart
    Get one Current Unix epoch time(Timestamp) in Callback_StartGameType()
    and add Timestamp to level.ted
    Convert Unix epoch to human understandable date (human readable date)
    Human readable time Seconds
    1 minute 60
    1 hour 3600
    1 day 86400
    1 week 604800
    1 mounth 2629743
    1 year 31556926
    5. .txt file

  2. The Following User Says Thank You to Paho For This Useful Post:

    kung foo man (15th July 2016)

  3. #2
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    MySQL already implemented in JumpersHeaven. Check !time on one of my servers.
    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •