Posts: 4,930
Threads: 467
Joined: Dec 2010
restando la hora actual y la hora de entrada.
saludos.
pawn Код:
new
Online[MAX_PLAYERS][3];
pawn Код:
public OnPlayerConnect(playerid){
new
Hour,
Minute,
Second;
gettime(Hour, Minute, Second);
Online[playerid][0] =\
Hour;
Online[playerid][1] =\
Minute;
Online[playerid][2] =\
Second;
return true;
}
pawn Код:
new
data[100],
Hour,
Minute,
Second;
gettime(Hour, Minute, Second);
format(data, sizeof(data), " {B0C4DE} Usted ha estado online: horas:%02d minutos:%02d segundos:%02d ",\
(Hour - Online[playerid][0]),(Minute - Online[playerid][1]),(Second - Online[playerid][2]));
SendClientMessage(-1, data);
Posts: 4,930
Threads: 467
Joined: Dec 2010
---> [
https://sampwiki.blast.hk/wiki/SetTimerEx
pawn Код:
new
Online[MAX_PLAYERS][3];
pawn Код:
public OnPlayerConnect(playerid){
new
Hour,
Minute,
Second;
gettime(Hour, Minute, Second);
Online[playerid][0] =\
Hour;
Online[playerid][1] =\
Minute;
Online[playerid][2] =\
Second;
SetTimerEx("update_online", 15*60000, true, "d", playerid);
return true;
}
pawn Код:
forward update_online(playerid); public update_online(playerid){
new
data[100],
Hour,
Minute,
Second;
gettime(Hour, Minute, Second);
format(data, sizeof(data), " {B0C4DE} Usted ha estado online: horas:%02d minutos:%02d segundos:%02d ",\
(Hour - Online[playerid][0]),(Minute - Online[playerid][1]),(Second - Online[playerid][2]));
SendClientMessage(-1, data);
}
Posts: 4,930
Threads: 467
Joined: Dec 2010
Quote:
Originally Posted by JuanStone
Yo pienso quй serнa mejor sin usar timers(temporizadores). Mira esto .
pawn Код:
// This is a comment // uncomment the line below if you want to write a filterscript
#define FILTERSCRIPT
#if defined FILTERSCRIPT
#include <a_samp> #include <foreach> #include <YSI\y_timers>
new tiempo_conectado[MAX_PLAYERS];
public OnFilterScriptInit() { for(new i = 0; i < MAX_PLAYERS; i++) { tiempo_conectado[i] = 0; } return true; }
public OnPlayerConnect(playerid) { tiempo_conectado[playerid] = 0; return true; }
public OnPlayerDisconnect(playerid, reason) { new string[144]; strdel(string, 0, 144); if(tiempo_conectado[playerid] < 60) { format(string, sizeof(string), "** %s ah abandonado el servidor, segundos conectado: %d.", Nombre(playerid), tiempo_conectado[playerid]*1); SendClientMessageToAll(-1, string); } else if(tiempo_conectado[playerid] >= 60) { format(string, sizeof(string), "** %s ah abandonado el servidor, minutos conectado: %d.", Nombre(playerid), tiempo_conectado[playerid]/60*1); SendClientMessageToAll(-1, string); } return true; }
stock Nombre(playerid) { new nombre[24]; GetPlayerName(playerid, nombre, 24); return nombre; }
task conteo_tiempo_conectado[1000]() { foreach(Player, i) { if(IsPlayerConnected(i)) { tiempo_conectado[i]++; } } return true; }
#endif
|
se utilizarнa timers(temporizadores) solo para el uso del usuario que quiere actualizar el mensaje, no para detectar el tiempo online.
saludos.
Posts: 789
Threads: 36
Joined: Dec 2013
Reputation:
0
Si leнste el post, el quiere que muestre el mensaje cada 15min... por eso el timer.
Posts: 4,930
Threads: 467
Joined: Dec 2010
Quote:
Originally Posted by aoEXE
Si leнste el post, el quiere que muestre el mensaje cada 15min... por eso el timer.
|
me referнa al mйtodo de detectar el tiempo online de JuanStone, el de el se necesita si o si un temporizador, mi mйtodo no.