[Ajuda]Como setar um time off? -
[KoS]Izaac - 09.01.2012
Bem e mais ou menos isso. A funзao
ja seta um tempo para o jogador. mas eu quero saber como fazer este timer continuar correndo quando o jogador sair do server. Por que? eu quero que quando o jogador desconecte se ele nao conectar dentro de uma hora o spawn dele mude para a casa dele. Ta isso eu sei fazer eu so quero saber como setar esse tempo offline; Ja usei search, area inglesa ****** e nada. se puderem ajudar :"
Re: [Ajuda]Como setar um time off? -
Byffano Xeddar - 09.01.2012
pawn Код:
new powha[MAX_PLAYERS];
SetTimer("powha[playerid]", 1000, false);
Da pra fazer alguns eskemas inspirado nisso aн. Claro que isso nгo vai funfar pq nгo da pra chamar um new ^^
Re: [Ajuda]Como setar um time off? -
Ricop522 - 09.01.2012
use gettime()
E depois compare com gettime()+1 hora
ex:
pawn Код:
dini_IntSet(usuario, "temposaiu", gettime());
//na hora de logar
if(dini_Int(usuario, "temposaiu") > gettime()+180000) {
// spawn da casa
}
Nгo sei quanto й 1 hora, entгo vocк procura.
Dei sу a base
Re: [Ajuda]Como setar um time off? -
[KoS]Izaac - 09.01.2012
@byffano isso eu sei fazer
@topic Entao tipo:
pawn Код:
new Hour, Minute, Second,
spawndiferente[MAX_PLAYERS];
OnPlayerDisconnect
gettime(Hour, Minute);
format(arquivo, sizeof(arquivo), ContasPlayers, nome);
DOF2_WriteFile();
DOF2_SetInt(arquivo,"horasaiu",gettime(Hour, Minute);
DOF2_SaveFile();
OnPlayerConnect:
gettime(Hour, Minute, Second);
format(arquivo, sizeof(arquivo), ContasPlayers, nome);
DOF2_GetInt(arquivo,"saiu");
if(saiu+6000000 < gettime(Hour, Minute)) return SendClienteMessage(playerid, 0Xfff02, "Voce saiu a mais de uma Hora");
Re: [Ajuda]Como setar um time off? -
Lуs - 10.01.2012
Quote:
Originally Posted by Byffano Xeddar
pawn Код:
new powha[MAX_PLAYERS];
SetTimer("powha[playerid]", 1000, false);
Da pra fazer alguns eskemas inspirado nisso aн. Claro que isso nгo vai funfar pq nгo da pra chamar um new ^^
|
WTF!?
Re: [Ajuda]Como setar um time off? -
[KoS]Izaac - 10.01.2012
Quote:
Originally Posted by Byffano Xeddar
pawn Код:
new powha[MAX_PLAYERS];
SetTimer("powha[playerid]", 1000, false);
Da pra fazer alguns eskemas inspirado nisso aн. Claro que isso nгo vai funfar pq nгo da pra chamar um new ^^
|
Quote:
Originally Posted by Los
WTF!?
|
KKK eu tambem pergunto kkk que bosta em chamar um new '-' ? powha[playerid] em settimer .-.?
E settimerex filho playerid e foda
Re: [Ajuda]Como setar um time off? -
Vai_Besta - 10.01.2012
Quote:
Originally Posted by Byffano Xeddar
"Por mais que vocк seje tapado, sempre terб alguem mais tapado que vocк." - Leonardo Z.
|
realmente 
brinkz
Re: [Ajuda]Como setar um time off? -
Ricop522 - 10.01.2012
Quote:
Originally Posted by [KoS]Izaac
@byffano isso eu sei fazer
@topic Entao tipo:
pawn Код:
new Hour, Minute, Second, spawndiferente[MAX_PLAYERS];
OnPlayerDisconnect gettime(Hour, Minute);
format(arquivo, sizeof(arquivo), ContasPlayers, nome); DOF2_WriteFile(); DOF2_SetInt(arquivo,"horasaiu",gettime(Hour, Minute); DOF2_SaveFile();
OnPlayerConnect: gettime(Hour, Minute, Second); format(arquivo, sizeof(arquivo), ContasPlayers, nome); DOF2_GetInt(arquivo,"saiu"); if(saiu+6000000 < gettime(Hour, Minute)) return SendClienteMessage(playerid, 0Xfff02, "Voce saiu a mais de uma Hora");
|
N precisa disso.
pawn Код:
//OnPlayerrDisconnect
new hor, min, sec;
gettime(hor, min, sec);
dini_IntSet(contas, "saiu", hor);
//OnPlayerConnect
new hor, min, sec;
gettime(hor, min, sec);
if(dini_Int(contas, "saiu") < hor) {
//Jogador jб saiu faz mais de 1 hora.
}
Cуdigo estranho o seu..
Re: [Ajuda]Como setar um time off? - rjjj - 10.01.2012
Isto deve resolver o seu problema

.
Nesse caso seria melhor vocк calcular o tempo que o jogador demorou para voltar ao servidor atravйs de operaзхes entre informaзхes do presente e do passado

.
Fiz o seguinte cуdigo para vocк (leia os comentбrios)

:
pawn Код:
//Coloque logo depois do cуdigo de carregar os dados do jogador:
new STR[30];
new File:DATA;
GetPlayerName(playerid, STR, 30);
strcat(STR, ".txt");
if(fexist(STR))
{
DATA = fopen(STR, io_read);
fread(DATA, STR);
if((gettime() - strval(STR)) >= 3600)
{
//Coloque aqui o cуdigo de mudar o spawn do jogador para sua casa.
}
fclose(DATA);
}
//E, no OnPlayerDisconnect:
new STR[30];
new File:DATA;
GetPlayerName(playerid, STR, 30);
strcat(STR, ".txt");
DATA = fopen(STR, io_write);
valstr(STR, gettime());
fwrite(DATA, STR);
fclose(DATA);
Espero ter ajudado

.
Re: [Ajuda]Como setar um time off? -
[KoS]Izaac - 10.01.2012
Aee ken ou rjj valew velho, mas tipo esse fwrite nao da imcopatibilidade com o dof2 nao?
@edit
Valew tambem ricop rep pros 2