Results 1 to 2 of 2

Thread: GetTime(all the ways)

Threaded View

Previous Post Previous Post   Next Post Next Post
  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)

Posting Permissions

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