SA-MP Forums Archive
[Ajuda] Como deletar carros de pessoas que estгo sem entrar? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Como deletar carros de pessoas que estгo sem entrar? (/showthread.php?tid=565314)



Como deletar carros de pessoas que estгo sem entrar? - davi54723 - 26.02.2015

Eu criei uma concessionaria, e eu gostaria de saber como eu posso criar/checar qual foi a ultima vez que o carro foi acessado pelo proprietбrio e se for mais de 7 dias, ele automaticamente voltar para o local padrгo e o carro ser vendido para concessionбria ...
[ Gostaria de saber como eu faria isso ? ]

Obrigado.


Re: Como deletar carros de pessoas que estгo sem entrar? - Dolby - 26.02.2015

Descartando a possibilidade do servidor ser desligado?

Caso a resposta seja nгo, vai ser necessбrio criar dois arquivos, um referente as informaзхes do veнculo, como a ъltima vez que o dono entrou nele, e outro com os ID's dos veнculos da concessionaria.

Assim vocк cruza as informaзхes e chegar ao que quer.


Re: Como deletar carros de pessoas que estгo sem entrar? - davi54723 - 26.02.2015

Entгo Dolby, nгo quero nada perfeito que isso vai me exigir muito tempo.
Entгo poderia ser com o server apenas ligado.
Eu tive a seguinte ideia:
Criar um arquivo, que possua o ID do carro junto com a ъltimo acesso, e acada 1 dia, fazer a checagem do ultimo acesso no veнculo, serб que vai funcionar ?


Re: Como deletar carros de pessoas que estгo sem entrar? - Dolby - 26.02.2015

Se vocк souber transformar isto em cуdigo da maneira correta, sim.


Re: Como deletar carros de pessoas que estгo sem entrar? - WLSF - 26.02.2015

Vocк poderia testar essa sua ideia, e postar aqui o cуdigo quando terminar juntamente com a resposta de se funcionou ou nгo, caso nгo dк certo, a gente poderб ser ъtil, lhe ajudando ...


Re: Como deletar carros de pessoas que estгo sem entrar? - PT - 26.02.2015

Estas a usar MySQL ou SQLite para o salvamento? Caso sim facilita imenso.

Com uma simples query voce consegue apagar/vender os carros que nao sao acessados ha mais de 7 dias.


Re: Como deletar carros de pessoas que estгo sem entrar? - davi54723 - 26.02.2015

Nгo utilizo MySQL nem SQLite, nгo entendo absolutamente NADA sobre. :/
- Estou tentando criar da forma que eu disse, porйm sem кxito :/


Re: Como deletar carros de pessoas que estгo sem entrar? - WLSF - 26.02.2015

Por que sem кxito ? Qual o problema ? Detalhe, poste o cуdigo para que a ajuda possa ser possнvel...


Re: Como deletar carros de pessoas que estгo sem entrar? - davi54723 - 26.02.2015

Entгo Willian, minha ideia era:
Criar um arquivo com o nome:
Nome: CarrosConce.ini

Dentro dele com o seguintes conteъdos:
*IDCARR* *DATADOULTIMOACESSO*
Exemplo:
1 = 2015/02/26
2 = 2015/02/27
....
E na checagem, fazer uma checagem por dia com um timer, com que tenha como objetivo de ver cada carro e o ъltimo acesso, e comparar com o dia atual.
Porйm algum problema:
1є A data eu nгo consigo setar +7 dias, por exemplo... 26+7 = 33 (Nunca iremos chegar a esse dia).
2є Como eu posso fazer essa checagem de carros ? Abrir o arquivo e ver o id de cada carro ?

Ideias ? :/


Re: Como deletar carros de pessoas que estгo sem entrar? - Bruno13 - 26.02.2015

Use um conversor de unidades, para converter o nъmero desejado em vista que o mesmo possa ser condicionado com o tempo atual, assim tudo facilita veja:
pawn Код:
/* Modo de uso */
//Digamos que usamos um comando para salvar o tempo atual do jogador, e logo haverб outro comando para ver se jб se passou 1 dia apуs ele ter usado o mesmo.
CMD:usar_comando(playerid)
{
    tempo[playerid] = ConvertDays(1);
    SendClientMessage(playerid, -1, "Data/tempo salvado");
    return 1;
}

CMD:checar_comando(playerid)
{
    if(tempo[playerid] > gettime()) SendClientMessage(playerid, -1, "Passou-se 1 dia");//aqui ele basicamente ele verifica se o tempo salvo na variбvel й maior que o tempo atual, ou seja, a soma do time getado no momento em que a funзгo foi usada mais o total de segundos que possui um dia, assim й validado se 1 dia jб se passou
    else SendClientMessage(playerid, -1, "Nгo se passou um dia");
    return 1;
}

//nгo lembro autor...
ConvertDays(dias)
{

    new
        valueday = 86400*dias,
        daysconvert,
        gtime = gettime()
    ;

    #emit LOAD.S.PRI gtime
    #emit LOAD.S.ALT valueday
    #emit ADD
    #emit STOR.S.PRI daysconvert

    return daysconvert;
}