[Ajuda] Salvar tempo cadeia
#1

Salve pessoal fiz um /prender estб tudo organizado mais tipo quando eu dou /prender no jogador ele vai preso pelo o tempo que eu coloquei na timer, mais no caso se ele reloga a timer para e o jogador nгo sair da cadeia.

Alguйm meda uma base de um sistema de salvar o tempo da cadeia e pra min colocar no meu sistema olhem.

pawn Код:
CMD:prender(playerid, params[])
{
    new ID_OUTRO_JOGADOR, Tempo_Cadeia,
    rand = random(sizeof(CelasPM));
    if(DadosJogador[playerid][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR)
    {
        if (ProxDetector_Ao_Jogador(8.0, playerid, ID_OUTRO_JOGADOR))
        {
            //if(Roupa_Farda[0][playerid] == false) return SendClientMessage(playerid,VERMELHO_BEM_CLARO,"Vocк precisa bater o cartгo para poder algemar algum suspeito.");
            if(sscanf(params, "ui", ID_OUTRO_JOGADOR, Tempo_Cadeia)) return SendClientMessage(playerid, VERDE_BEM_CLARO, "USE: /prender [ID] [TEMPO]");
            if(DadosJogador[ID_OUTRO_JOGADOR][VERIFICAR_MODO_ADMIN] == 1 && DadosJogador[ID_OUTRO_JOGADOR][ADMIN_NIVEL] >= 1) return SendClientMessage(playerid, VERMELHO_BEM_CLARO, "Vocк nгo pode pode prender admin em modo de trabalho.");
            if(!IsPlayerConnected(ID_OUTRO_JOGADOR)) return SendClientMessage(playerid, VERMELHO_BEM_CLARO , "Jogador(a) nгo estб conectado.");
            //if(DadosJogador[playerid][JOGADOR_PRESO] == 1) return SendClientMessage(playerid,VERMELHO_BEM_CLARO,"Esse jogador jб estar preso.");
            //if(DadosJogador[ID_OUTRO_JOGADOR][NIVEL_PROCURADO] < 0) return SendClientMessage(playerid,VERMELHO_BEM_CLARO,"O Suspeito precisa estar com nivel de procurado para ser preso.");
            //if(ID_OUTRO_JOGADOR == playerid) return SendClientMessage(playerid, VERMELHO_BEM_CLARO, "Vocк nгo pode si prender.");
            //if(DadosJogador[ID_OUTRO_JOGADOR][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR) return SendClientMessage(playerid, VERMELHO_BEM_CLARO , "Vocк nгo pode prender Policiais.");
            if(Tempo_Cadeia < 1 || Tempo_Cadeia > 30) return SendClientMessage(playerid, VERMELHO_BEM_CLARO , "Tempo de 1 a 30 minutos");
            ResetPlayerWeapons(ID_OUTRO_JOGADOR);
            RetirarEquipamento[ID_OUTRO_JOGADOR] = 0;
            DadosJogador[ID_OUTRO_JOGADOR][JOGADOR_PRESO] = 1;
            DadosJogador[playerid][LOCAL_PRESO] = 1;
            SetPlayerPos(ID_OUTRO_JOGADOR, CelasPM[rand][0], CelasPM[rand][1],CelasPM[rand][2]);
            SetPlayerFacingAngle(ID_OUTRO_JOGADOR, CelasPM[rand][3]);
            Jogador_Algemado[ID_OUTRO_JOGADOR] = false;
            SetPlayerSpecialAction(ID_OUTRO_JOGADOR, SPECIAL_ACTION_NONE);
            RemovePlayerAttachedObject(ID_OUTRO_JOGADOR, Algemas_Suspeito);
            Tempo_Preso[ID_OUTRO_JOGADOR] = SetTimerEx("Terminou_Cadeia", 60000*Tempo_Cadeia, false, "i", ID_OUTRO_JOGADOR);
            GameTextForPlayer(ID_OUTRO_JOGADOR, "~y~[ ~r~~h~Preso ~y~[", 2500, 5);
            format(String, sizeof(String), "Vocк foi preso por %s .", PlayerNick(playerid));
            SendClientMessage(ID_OUTRO_JOGADOR, COR_AMARELO, String);
            format(String, sizeof(String), "Vocк prendeu o suspeito %s .", PlayerNick(ID_OUTRO_JOGADOR));
            SendClientMessage(playerid, COR_AMARELO, String);
            format(String, sizeof(String), "(%s) - %s prendeu o suspeito %s .", NomeORG(playerid), PlayerNick(playerid), PlayerNick(ID_OUTRO_JOGADOR));
            ProxDetector_Ao_Falar(10.0, playerid, String, ROXO_BEM_CLARO,ROXO_BEM_CLARO,ROXO_BEM_CLARO,ROXO_BEM_CLARO,ROXO_BEM_CLARO);
        }
        else
        {
            SendClientMessage(playerid,VERMELHO_BEM_CLARO,"Vocк precisa estar perto do jogador para poder algemar ele.");
            return true;
        }
    }
    else
    {
        SendClientMessage(playerid, VERMELHO_BEM_CLARO, "Vocк nгo estб autorizado a usar este comando.");
        return true;
    }
    return 1;
}
pawn Код:
forward Terminou_Cadeia(playerid);
public Terminou_Cadeia(playerid)
{
    if(DadosJogador[playerid][LOCAL_PRESO] == 1 && DadosJogador[playerid][LOCAL_PRESO] == 1)
    {
        SkinsJogadores(playerid);
        SetPlayerInterior(playerid, 5);
        SetPlayerPos(playerid, 1546.2529, -1675.5369, 13.5620);
        SetPlayerFacingAngle(playerid, 88.3610);
        DadosJogador[playerid][JOGADOR_PRESO] = 0;
        DadosJogador[playerid][LOCAL_PRESO] = 0;
    }
    KillTimer(Tempo_Preso[playerid]);
    return true;
}
Reply
#2

Vocк quer que o tempo continue contando mesmo sem ele estar on? se esse for o caso use https://sampwiki.blast.hk/wiki/GetTickCount
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)