hlmod.hu
https://hlmod.hu/

Kivitelezési Forma
https://hlmod.hu/viewtopic.php?f=9&t=28254
Oldal: 1 / 1

Szerző:  JohanCorn [ 2017.09.19. 18:53 ]
Hozzászólás témája:  Kivitelezési Forma

Üdv!

Egy egyszerű stoppert szeretnék készíteni ami az aktuális időtöredékeket jeleníti meg. Elméletben erre is van valami egyszerűbb forma. Szóval puszta kíváncsiságból érdekelne, hogy ezt tudja-e itt valaki?

Így eléggé hosszú a kódrészem, a float miatt nem enged %-ot sem használni, de lehet játszadozni a %02d-hez hasonló kifejezésekkel is. ( Úgy tudom. )

  1. new Float: TimeInSeconds = get_gametime() - g_Start[player];
  2.    
  3.     client_print(player, print_center, "00:%s%i:%s%.2f", TimeInSeconds/60 > 9 ? "" : "0", floatround(TimeInSeconds)/60, (TimeInSeconds)-(floatround(TimeInSeconds)/60)*60 >= 10 ? "" : "0", (TimeInSeconds)-(floatround(TimeInSeconds)/60)*60 < 0 ? 0.0 : (TimeInSeconds)-(floatround(TimeInSeconds)/60)*60);


Ha nem lesz más, akkor így hagyom, de számomra is esztétikusabb lenne, ha a kódomba is iktathatnék valami egyszerűsítést.

Szerző:  IrOn [ 2017.09.19. 21:58 ]
Hozzászólás témája:  Re: Kivitelezési Forma

Ez segíthet szerintem(főleg ha többször is használod):
  1. ClimbtimeToString( const Float:flClimbTime, szOutPut[ ], const iLen ) {
  2.     new iMinutes = floatround( flClimbTime / 60.0, floatround_floor );
  3.     new iSeconds = floatround( flClimbTime - iMinutes * 60, floatround_floor );
  4.     new iMiliSeconds = floatround( ( flClimbTime - ( iMinutes * 60 + iSeconds ) ) * 100, floatround_floor );
  5.      
  6.     formatex( szOutPut, iLen, "%02i:%02i.%02i", iMinutes, iSeconds, iMiliSeconds );
  7. }

Szerző:  JohanCorn [ 2017.09.19. 22:30 ]
Hozzászólás témája:  Re: Kivitelezési Forma

IrOn123 írta:
Ez segíthet szerintem(főleg ha többször is használod):
  1. ClimbtimeToString( const Float:flClimbTime, szOutPut[ ], const iLen ) {
  2.     new iMinutes = floatround( flClimbTime / 60.0, floatround_floor );
  3.     new iSeconds = floatround( flClimbTime - iMinutes * 60, floatround_floor );
  4.     new iMiliSeconds = floatround( ( flClimbTime - ( iMinutes * 60 + iSeconds ) ) * 100, floatround_floor );
  5.      
  6.     formatex( szOutPut, iLen, "%02i:%02i.%02i", iMinutes, iSeconds, iMiliSeconds );
  7. }


Köszönöm! Holnap meg is nézem élesben.

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