hlmod.hu
https://hlmod.hu/

Megadott időpontnál történés
https://hlmod.hu/viewtopic.php?f=10&t=23129
Oldal: 1 / 1

Szerző:  mforce [ 2015.12.23. 11:35 ]
Hozzászólás témája:  Megadott időpontnál történés

Üdv!

Valami gyors lefutású idő figyelést kellene csinálnom év/hó/nap.

Ki mit ajánlana?

2 dolog jutott eszembe, első a get_systime, azt egyszer ellenőrizni plugin_cfg-be ezzel
https://forums.alliedmods.net/showthread.php?t=91915

Vagy crb-nél láttam ilyen kombinációt:
  1. static  _month[5], _day[5], _year[7];
  2.     format_time(_month, sizeof(_month) - 1, "%m");
  3.     format_time(_day, sizeof(_day) - 1, "%d");
  4.     format_time(_year, sizeof(_year) - 1, "%Y");
  5.    
  6.     new c_month = str_to_num(_month);
  7.     new c_day = str_to_num(_day);
  8.     new c_year = str_to_num(_year);
  9.  
  10.         static lejarat[32]
  11.         static u_month, u_day, u_year;
  12.         // megadott dátum olvasása a "lejarat" tömbbe
  13.         replace_all(lejarat, sizeof(lejarat) - 1, "/", " ");
  14.        
  15.         parse(lejarat,\    
  16.             _year, sizeof(_year) - 1,\
  17.             _month, sizeof(_month) - 1,\
  18.             _day, sizeof(_day) - 1\
  19.         );
  20.        
  21.         u_month = str_to_num(_month);
  22.         u_day = str_to_num(_day);
  23.         u_year = str_to_num(_year);
  24.        
  25.        
  26.         if( u_year < c_year
  27.         || u_year == c_year && u_month < c_month
  28.         || u_year == c_year && u_month == c_month && u_day < c_day
  29.         || u_year == c_year && u_month == c_month && u_day == c_day
  30.         || u_year == c_year && u_month == c_month && u_day == c_day
  31.         || u_year == c_year && u_month == c_month && u_day == c_day)
  32.         {
  33.             // lejárt a cucc
  34.         }

Szerző:  Akosch:. [ 2015.12.23. 12:07 ]
Hozzászólás témája:  Re: Megadott időpontnál történés

  1. public fnTest( )
  2. {
  3.     new sTime[ 64 ], iTime;
  4.     get_time( "%Y%m%d", sTime, charsmax( sTime ) );
  5.    
  6.     iTime = str_to_num( sTime );
  7.    
  8.     if ( iTime >= /*MentettIdő(int)*/ )
  9.     {
  10.         // Lejárt.
  11.     }
  12. }

Vmi ilyesmit képzelnék el. Év adja a nagyobb helyi értékeket, hónap közepeseket, nap meg a két legkisebbet, így hát tök egyszerűen lehet vele számként babrálni.

Kód:
date: Wed Dec 23 11:53:10 2015 map: cs_militia
type |                             name |      calls | time / min / max
-------------------------------------------------------------------
   n |                  register_plugin |          1 | 0.000005 / 0.000005 / 0.000005
   n |                   register_clcmd |          1 | 0.000100 / 0.000100 / 0.000100
   n |                         get_time |          2 | 0.000072 / 0.000030 / 0.000043
   n |                       str_to_num |          2 | 0.000020 / 0.000009 / 0.000011
   n |                     client_print |          2 | 0.000062 / 0.000025 / 0.000038
   p |                           fnTest |          2 | 0.000022 / 0.000008 / 0.000014
   p |                      plugin_init |          1 | 0.000008 / 0.000008 / 0.000008
0 natives, 0 public callbacks, 2 function calls were not executed.

A lekérés gyorsan lefut, utána meg ha számként tudsz vele számolni szerintem tökéletes megoldás így :D

1 buktató lehet: ha a tíz alatti napok / hónapok elé nem teszi ki a nullát ( 01 - januárt pl ), de elvileg ki fogja.

Szerző:  mforce [ 2015.12.23. 12:25 ]
Hozzászólás témája:  Re: Megadott időpontnál történés

Tök logikus :D
Köszi :)

Ez alapján van a get_time, tehát jó lesz :D

http://www.cplusplus.com/reference/ctime/strftime/

Szerző:  Patrik3 [ 2015.12.29. 18:34 ]
Hozzászólás témája:  Re: Megadott időpontnál történés

Ez engem is érdekelne, szükségem lenne rá... Már gondoltam ,hogy nyitok egy témát, de mivel megtaláltam :D

Na szóval. Hogy is lehet érthetően, könnyen megoldani?
Ha például veszek én egy M4a1-et, és azt szeretném megoldani, hogy az csak egy fél órára maradjon meg(30 perc) , akkor azt utána el is vegye. Vagyis, ha kissé okos, paraszti ésszel gondolkodunk, akkor el kell indítani egy "időmérőt", amikor az meg lejár, akkor elvegyem tőle amit adtam neki, nem?

Na de hogy? :D...

És hogyha több dolgot veszek, de különböző időben, pl. m4a1-et, aztán 15 perc múlva egy Awp-t. Ahhoz is kell egy mérő, nem?

Segítsetek, köszi

Szerző:  mforce [ 2015.12.29. 18:59 ]
Hozzászólás témája:  Re: Megadott időpontnál történés

Akosch ahogy leírta azt percenként ellenőrzöd (de inkább kevesebb, nehogy közbejöjjön egy mapresi pont a 2idő közt elmegy egy perc).

Mented az időket a steamidre valahova, azt beolvasod mondjuk trie-be, ha eléri törlöd a sort. ennyi.

Szerző:  Patrik3 [ 2016.01.04. 18:23 ]
Hozzászólás témája:  Re: Megadott időpontnál történés

És ezt el tudnád nekem egy példán keresztül magyarázni? Egy egyszerű kis példa elég is ...

Köszi

Szerző:  mforce [ 2016.01.04. 18:35 ]
Hozzászólás témája:  Re: Megadott időpontnál történés

Oda írta Akosch:.

Szerző:  Patrik3 [ 2016.01.04. 18:41 ]
Hozzászólás témája:  Re: Megadott időpontnál történés

Ahha... Eléggé bonyolultnak tűnik.. Hülye vagyok ÍGY ehhez.

És hogyha én megveszek egy Awp-t, azt szeretném ,hogy 30 percre legyen meg, akkor olyankor mivan? :((
És hogyha közben veszek egy Ak-t ami 45 percre van, olyankor :O

Mondom, ha ebből a szemszögből nézem, akkor bonyolult, ehhez kellene egy kis segítség. Kösz

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/