- Регистрация
- 1 Фев 2014
- Сообщения
- 1,364
- Лучшие ответы
- 4
- Репутация
- 158
С этой системой Вы сможете добавить в статистику строку "Онлайн: ЧАСЫ,МИН,СЕК"
Ко всем enum:
enum BlockTimerz
{
NewUpdate
};
new gTIMData[BlockTimerz];
В pInfo:
pHour,
pMinute,
pSecond,
В OnGameModeInit:
gTIMData[NewUpdate] = SetTimer("OnPlUpdEx", 1000, true);
OnPlUpdEx();
В OnPlayerDisconect:
PlayerInfo[playerid][pHour] = 0;
PlayerInfo[playerid][pMinute]= 0;
PlayerInfo[playerid][pSecond] = 0;
В регистрацию:
ini_setInteger(iniFile,"Hours",0);
ini_setInteger(iniFile,"Minutes",0);
ini_setInteger(iniFile,"Seconds",0);
В авторизацию:
ini_getInteger(iniFile,"Hours",PlayerInfo[playerid][pHour]);
ini_getInteger(iniFile,"Minutes",PlayerInfo[playerid][pMinute]);
ini_getInteger(iniFile,"Seconds",PlayerInfo[playerid][pSecond]);
В сохранение аккаунта:
ni_setInteger(iniFile,"Hours",PlayerInfo[playerid][pHour]);
ini_setInteger(iniFile,"Minutes",PlayerInfo[playerid][pMinute]);
ini_setInteger(iniFile,"Seconds",PlayerInfo[playerid][pSecond]);
В конец мода:
forward OnPlUpdEx();
public OnPlUpdEx()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[pSecond]++;
if(PlayerInfo[pSecond] == 60)
{
PlayerInfo[pMinute]++;
PlayerInfo[pSecond] = 0;
}
if(PlayerInfo[pMinute] == 60)
{
PlayerInfo[pHour]++;
PlayerInfo[pMinute] = 0;
}
}
return true;
}
И вот это вставляет в статистику или куда Вам нужно отображать отыграное время.
Вот пример как у меня:
new stats[256];
format(stats,sizeof(stats), "Общий онлайн: %d:%d:%d",PlayerInfo[playerid][pHour],PlayerInfo[playerid][pMinute],PlayerInfo[playerid][pSecond]);
ShowPlayerDialog(playerid,0,DSM,"{1E90FF}Статистика персонажа",stats,"Закрыть","");
Это мой первый мануал.
Ко всем enum:
enum BlockTimerz
{
NewUpdate
};
new gTIMData[BlockTimerz];
В pInfo:
pHour,
pMinute,
pSecond,
В OnGameModeInit:
gTIMData[NewUpdate] = SetTimer("OnPlUpdEx", 1000, true);
OnPlUpdEx();
В OnPlayerDisconect:
PlayerInfo[playerid][pHour] = 0;
PlayerInfo[playerid][pMinute]= 0;
PlayerInfo[playerid][pSecond] = 0;
В регистрацию:
ini_setInteger(iniFile,"Hours",0);
ini_setInteger(iniFile,"Minutes",0);
ini_setInteger(iniFile,"Seconds",0);
В авторизацию:
ini_getInteger(iniFile,"Hours",PlayerInfo[playerid][pHour]);
ini_getInteger(iniFile,"Minutes",PlayerInfo[playerid][pMinute]);
ini_getInteger(iniFile,"Seconds",PlayerInfo[playerid][pSecond]);
В сохранение аккаунта:
ni_setInteger(iniFile,"Hours",PlayerInfo[playerid][pHour]);
ini_setInteger(iniFile,"Minutes",PlayerInfo[playerid][pMinute]);
ini_setInteger(iniFile,"Seconds",PlayerInfo[playerid][pSecond]);
В конец мода:
forward OnPlUpdEx();
public OnPlUpdEx()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[pSecond]++;
if(PlayerInfo[pSecond] == 60)
{
PlayerInfo[pMinute]++;
PlayerInfo[pSecond] = 0;
}
if(PlayerInfo[pMinute] == 60)
{
PlayerInfo[pHour]++;
PlayerInfo[pMinute] = 0;
}
}
return true;
}
И вот это вставляет в статистику или куда Вам нужно отображать отыграное время.
Вот пример как у меня:
new stats[256];
format(stats,sizeof(stats), "Общий онлайн: %d:%d:%d",PlayerInfo[playerid][pHour],PlayerInfo[playerid][pMinute],PlayerInfo[playerid][pSecond]);
ShowPlayerDialog(playerid,0,DSM,"{1E90FF}Статистика персонажа",stats,"Закрыть","");
Это мой первый мануал.