SA-MP Forums Archive
[AJUDA]Retirar Numeros de Contas Offline - 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]Retirar Numeros de Contas Offline (/showthread.php?tid=299019)



[AJUDA]Retirar Numeros de Contas Offline - Nake01 - 23.11.2011

Olб, gostaria de saber se alguem sabe como se tira numeros inteiros de contas de players offline, porque estou querendo criar um sistema de banimento por dias mais estou com dъvida de como fazer para retirar o tempo das contas que estгo offline, alguem sabe como me ajudar ?


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - Kmatsu - 23.11.2011

Abre o arquivo e seta, isso?
se nao for nao entendi, teria como explicar melhor?


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - Nake01 - 23.11.2011

Estou querendo criar um sistema de banimento por dias, entгo eu irei banir o cara por 24 horas, e quero botar um settimer de a cada 1 Segundo ele retira 1 Segundo de todas as contas '-'


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - DreeH - 23.11.2011

Checar a cada segundo й meio lagado, faзa de 1 em 1 hora.
Й simples fazer isso, sу de hora em hora que o settimer for chamado vocк seta 1 a menos nos arquivos de contas dos players.


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - Nake01 - 23.11.2011

Como faзo para setar para todas as contas !


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - iansinho - 23.11.2011

Acho que й impossнvel, mas hб outras formas de fazer isso...
Acabei de pensar em uma forma, que com o tempo vocк pode ir optimizando-a.
Vou dar um exemplo:
Vocк vai criar uma pasta em "scriptfiles" como o nome de 'Banidos'.
Lб vocк vai criar um arquivo: "Banidos.ini" e lб na pasta vai ficar arquivos numerados: "0.ini", "1.ini", "2.ini", e assim por diante.
Como funcionaria:
Em casos que quiser (comando de ban temporбrio, por exemplo), iria criar usando algum sistema de salvamento, dentro do arquivo: "1=nomedocara".
Vocк poderia setar lб dentro nъmero fixos, exemplo:
Код:
0=Nomedocara
1=Nomedocara
2=Vazio
...
Daн vocк poderia checar futuramente, se estiver "=Vazio", iria colocar o "Nomedocara".

Daн, apуs colocar o nome, criaria um arquivo dentro da pasta com o nъmero especificado, exemplo: "1.ini".
Lб dentro deste arquivo iria conter, exemplo:
Код:
Nome=...
Mes=...  (mes para desban)
Dia=...   (dia para desban)
Ano=... (ano para desban)
Pronto. Agora й so codar algo pra checar isso.
Vocк poderia criar, no OnPlayerConnect, um loop pra checar se o nome do playerid fosse igual a algum dos nъmeros lб. Caso nгo, entrava normalmente, caso sim, iria enviar uma mensagem pra ele e kicka-lo.
Caso fosse o mesmo dia/mes/ano que ele seria desbanido (usando gettime) iria deletar o nъmero dele da lista e da pasta, ou no caso, "Vazio".

Isso й um exemplo que pensei agora de como poderia fazer, й meio trabalhoso mas se pensar bem й fбcil.
Nгo vou passar cуdigos se nгo vai ficar muito fбcil. Se caso tiver dъvida em algo como criar esses loops й so falar.
Boa sorte.


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - Nake01 - 23.11.2011

Nгo entendi muito, mais se eu fosse banindo eu iria ter que colocar pra add +1 ex: 1.ini, 2.ini ?
E pra retirar os tempos como fazeria '-' eu jб criei a base sу nгo sei como fazer pra retirar de contas offline


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - BlackCoder - 23.11.2011

cara no meu gamemode eu fis um sistema que quando o player se registra cria um arquivo como nome de todos os registrados, quando xega a meia noite ele pega o nome do jogador no arquivo e abre a conta dele e seta um dia a menos. Serб que era isto que vc queria??


Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - DreeH - 23.11.2011

Faзa uma variavel para o ban temporario, exemplo:
PHP код:
PlayerInfo[playerid][BanTemp
No OnPlayerConnect coloque:
PHP код:
if(PlayerInfo[playerid][BanTemp] != 0) return Kick(playerid); 
Nas contas salvas, vocк salve essa variбvel do mesmo jeito que salva as outras.

No comando de ban temporбrio coloque algo como assim:
PHP код:
PlayerInfo[playerid][BanTemp] = 24// 24 seria as horas 
Crie o SetTimer para chamar uma funзгo de 1 em 1 hora, e coloque no OnGameModeInit, exemplo:
PHP код:
SetTimer("BanTemporario"3600000true); 
No final do GameMode, coloque:
PHP код:
BanTemporario();
public 
BanTemporario()
{
    for(new 
0!= MAX_PLAYERSi++)
    {
        if(
PlayerInfo[i][BanTemp] != 0)
        {
            
// Coloque aqui para setar 1 a menos da variavel BanTemp na conta do jogador.
            
return 1;
        }
        else return 
0;
    }
    return 
1;




Re: [DUV/AJUDA]Retirar Numeros de Contas Offline - Nake01 - 23.11.2011

Quote:
Originally Posted by BlackCoder
Посмотреть сообщение
cara no meu gamemode eu fis um sistema que quando o player se registra cria um arquivo como nome de todos os registrados, quando xega a meia noite ele pega o nome do jogador no arquivo e abre a conta dele e seta um dia a menos. Serб que era isto que vc queria??
Vocк й isso mesmo poderia postar.


Quote:
Originally Posted by DreeH
Посмотреть сообщение
Faзa uma variavel para o ban temporario, exemplo:
PHP код:
PlayerInfo[playerid][BanTemp
No OnPlayerConnect coloque:
PHP код:
if(PlayerInfo[playerid][BanTemp] != 0) return Kick(playerid); 
Nas contas salvas, vocк salve essa variбvel do mesmo jeito que salva as outras.

No comando de ban temporбrio coloque algo como assim:
PHP код:
PlayerInfo[playerid][BanTemp] = 24// 24 seria as horas 
Crie o SetTimer para chamar uma funзгo de 1 em 1 hora, e coloque no OnGameModeInit, exemplo:
PHP код:
SetTimer("BanTemporario"3600000true); 
No final do GameMode, coloque:
PHP код:
BanTemporario();
public 
BanTemporario()
{
    for(new 
0!= MAX_PLAYERSi++)
    {
        if(
PlayerInfo[i][BanTemp] != 0)
        {
            
// Coloque aqui para setar 1 a menos da variavel BanTemp na conta do jogador.
            
return 1;
        }
        else return 
0;
    }
    return 
1;

Isso sу ira verificar se o player estiver Online