Jump to content
  • 0

pomoc Odohrany cas


DJ_Oli22

Dotaz

Zdravim

 

Prosim Vas nevedel by mi niekto povedat ako mam dat na server odohrany cas ze kto kolko minut sekund a hodin hral a ked bude afk aby to nepocitalo akoze to s tym afk ani nebude problem mozno ale neviem nikde najst nejaky rozumny tut ktory by sa mi hodil :d :/

 

napr toto by bolo super len neviem ako mam nadefinovat to sec, min, hod alebo proste nieco tomu chyba vedeli by ste mi hlepfnut? :d

new PlayerInfo[MAX_PLAYERS];         // toto som si nie isty :/

do onPlayerConnect dam timer to je jasne 

forward OdohratyCas(playerid);
public OdohratyCas(playerid)
{
PlayerInfo[playerid][Sec] ++;
if(PlayerInfo[playerid][Sec]>=60)
    {
        PlayerInfo[playerid][Min]++;
        PlayerInfo[playerid][Sec]=0;
    }
if(PlayerInfo[playerid][Min]>=60)
    {
        PlayerInfo[playerid][Min]=0;
        PlayerInfo[playerid][Hour]++;
    }
}
Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0


Hore do modu:
forward Timer(playerid);


Do GameMode:

SetTimer("Timer",60000,1);

Niekam do modu najlepšie nakoniec


public Timer(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(podmienka_pre_AFK[i]== 0)
{
PlayerInfo[i][Min]++;
if (PlayerInfo[i][Min] > 59)
{
PlayerInfo[i][Min] = 0;
PlayerInfo[i][Hour]++;
}
}
}
}return 1;
}

Link to comment
Share on other sites

  • 0

bych využil timestamp
vytvořil bych proměnnou uložil bych do ní timestamp po připojení
udělal 2 proměnnou a uložil timestamp po odchodu
jejich rozdíl dá nahraný čas samozřejmě se musí převést do času pokud se nemýlim

Link to comment
Share on other sites

  • 0

Dakujem ale mam problem s tymto:

new PlayerInfo[MAX_PLAYERS][Min], PlayerInfo[MAX_PLAYERS][Hod];

lebo potom mi v tom publicu nahodi error ze undefined simbol hod aj min :(

 

pokud to chceš takto, tak to udělej přes enum:

enum Hrac_Info
{
Min,
Hod
};
new PlayerInfo[MAX_PLAYERS][Hrac_Info];

a pak můžeš jen dosazovat: PlayerInfo[playerid][Min] = .... 

Link to comment
Share on other sites

  • 0

Všetko kraviny čo tu radíte.
Kukni si funkciu gettime.

Gettime dáš na pripojenie, aj na odpojenie, vypočítaš rozdiel (zistíš ako dlho bol na serveri).
Keď budeš potrebovať zistiť čas len pre toho hráča premeníš ten čas v sekundách (gettime vracia sekundy) na minúty, alebo na čo budeš chcieť.. 
Žiadne timere, milion premennych, stačí jedna (pre jedného hráča).
 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...