GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Flips - 2017. Március 03. - 12:15:43

Cím: Real Time
Írta: Flips - 2017. Március 03. - 12:15:43
Helló! Régen kértem már bármit is, de most megint szeretném segítségeteket kérni. Annyi lenne a lényege a scriptnek hogy Magyar idő szerint jobb felső sarokban textdrawwal írja az időt, Óra:Perc:Másodperc, dátum nem kell. Tudnátok nekem ebbe segíteni?
Előre is köszönöm!
Cím: Real Time
Írta: whadez - 2017. Március 03. - 12:43:58
Jobban kifejezhetted volna magad. Ez olyan mint ha bemész egy autókereskedésbe és szólsz az eladónak hogy \"Kell egy autó.\"
 
UNIX Time, Idő formatálás.
 
Külföldi fórumon biztos van valami.
Cím: Real Time
Írta: 1Mark6 - 2017. Március 03. - 13:30:56
A határokat feszegetve, de sikerült megcsinálni, ezt a lehetetlennek tűnő feladatot ! Egyébként körülbelül annyi, idő volt megcsinálni, mint neked megírni ezt a témát. De tessék.
 

#include <a_samp>
#define RefreshTime 1 // MP-ben megadva !
#define forpub%0(%1) forward%0(%1); public%0(%1)
new Text:Textdraw_Time;
new Timer_Time;
public OnFilterScriptInit()
{
print(\"\\nFilterscript: Real Time - script loaded ! Editor: 1Mark6\\n\");

Textdraw_Time = TextDrawCreate(608.000000, 23.000000, \"23:59:59\");
TextDrawAlignment(Textdraw_Time, 3);
TextDrawBackgroundColor(Textdraw_Time, 255);
TextDrawFont(Textdraw_Time, 2);
TextDrawLetterSize(Textdraw_Time, 0.319999, 2.099999);
TextDrawColor(Textdraw_Time, -1);
TextDrawSetOutline(Textdraw_Time, 1);
TextDrawSetProportional(Textdraw_Time, 1);
TextDrawSetSelectable(Textdraw_Time, 0);

Timer_Time = SetTimer(\"Timer_RefreshTime\",RefreshTime*1000,true);

for(new i = 0; i < GetPlayerPoolSize(); i++)
   TextDrawShowForPlayer(i,Textdraw_Time);
return 1;
}
public OnFilterScriptExit()
{
TextDrawDestroy(Textdraw_Time);
KillTimer(Timer_Time);
return 1;
}
public OnPlayerConnect(playerid)
{   
TextDrawShowForPlayer(playerid,Textdraw_Time);
return 1;
}
forpub Timer_RefreshTime()
{
TextDrawSetString(Textdraw_Time,GetFormatedTime());
return 1;
}
stock GetFormatedTime()
{
new time[3],temp[4],time_string[9];
gettime(time[0],time[1],time[2]);

if(time[0] < 10) format(temp,sizeof(temp),\"0%d:\",time[0]);
else format(temp,sizeof(temp),\"%d:\",time[0]);
strcat(time_string,temp);

if(time[1] < 10) format(temp,sizeof(temp),\"0%d:\",time[1]);
else format(temp,sizeof(temp),\"%d:\",time[1]);
strcat(time_string,temp);

if(time[2] < 10) format(temp,sizeof(temp),\"0%d\",time[2]);
else format(temp,sizeof(temp),\"%d\",time[2]);
strcat(time_string,temp);

return time_string;
}

 
A formázott idő lekérdezést, meglehet ciklussal is csinálni, de én így jobban szeretem :D