[Ajuda] sistema de cadeia
#1

Ola,
criei um sistema de cadeia mas ao setar o player nгo esta setando o "tempo", ele vai para a cadeia e sai no mesmo segundo...
se alguйm puder ajudar agradeзo! nois.
OnPlayerSpawn(playerid)
pawn Код:
if(PresoADM[playerid] == 1)
    {
    new arqadm[60], nomepresoadm[MAX_PLAYER_NAME], infopresoadm[80];
    GetPlayerName(playerid, nomepresoadm, sizeof(nomepresoadm));
    format(arqadm, sizeof(arqadm), "PresosADM/%s.ini", nomepresoadm);
    if(DOF2_FileExists(arqadm))
    {
    new tempoadm = DOF2_GetInt(arqadm, "Tempo");
    gettime(tempoadm);
    SetTimerEx("CadeiaADM", tempoadm, false, "i",playerid);
    format(infopresoadm, sizeof(infopresoadm), "Vocк continua preso e faltam %i segundos", tempoadm);
    SendClientMessage(playerid, -1, infopresoadm);
    SetPlayerPos(playerid, 223.431976,1872.400268,13.734375);
    SetPlayerInterior(playerid, 0);
    }
    }
CadeiaADM()
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
    PresoADM[i] = 0;
    SendClientMessage(i, -1, "Vocк foi solto, leia as regras para evitar puniзхes!");
    SpawnPlayer(i);
    new arquivo[60];
    new id[MAX_PLAYER_NAME];
    GetPlayerName(i, id, sizeof(id));
    format(arquivo, sizeof(arquivo), "PresosADM/%s.ini", id);
    if(DOF2_FileExists(arquivo))
    {
    DOF2_RemoveFile(arquivo);
    }
    }
CMD
pawn Код:
CMD:cadeia(playerid, params[])
{
  new msg[120];
  new idpreso1[MAX_PLAYER_NAME], idadmin[MAX_PLAYER_NAME];
  new id, tempo,motivo[50];
  new arquivo[60];
  if(IsPlayerAdmin(playerid) || pDados[playerid][Admin] > 1 )
  {
  if(sscanf(params, "uis[50]", id,tempo,motivo)) return SendClientMessage(playerid, Vermelho, "Use: /cadeia [ID] [TEMPO] [MOTIVO]");
  if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, Vermelho, "ID Invalido");
  PresoADM[id] = 1;
  GetPlayerName(playerid, idadmin, MAX_PLAYER_NAME);
  GetPlayerName(id, idpreso1, MAX_PLAYER_NAME);
  format(msg, sizeof(msg), "Administrador(a) %s prendeu %s  e o motivo foi: %s", idadmin, idpreso1, motivo );
  SendClientMessageToAll(-1, msg);
  SpawnPlayer(id);
  format(arquivo, sizeof(arquivo), "PresosADM/%s.ini", idpreso1);
  DOF2_CreateFile(arquivo);
  DOF2_SetString(arquivo, "Motivo",  motivo);
  DOF2_SetString(arquivo, "Adm",    idadmin);
  DOF2_SetInt(arquivo, "Tempo",   tempo);
  DOF2_SaveFile();
  SetTimerEx("CadeiaADM", tempo, false, "i", id);
  gettime(tempo);
  }
  else
  {
  SendClientMessage(playerid, Vermelho, "Vocк nгo faz parte da Administraзгo!");
  }
return 1;
}
Reply
#2

PHP код:
CMD:cadeia(playeridparams[])
{
    new 
msg[120];
    new 
idpreso1[MAX_PLAYER_NAME], idadmin[MAX_PLAYER_NAME];
    new 
idtempo,motivo[50];
    new 
arquivo[60];
    
    if(
IsPlayerAdmin(playerid) || pDados[playerid][Admin] > )
    {
          if(
sscanf(params"uis[50]"id,tempo,motivo)) return SendClientMessage(playeridVermelho"Use: /cadeia [ID] [TEMPO] [MOTIVO]");
          if(
id == INVALID_PLAYER_ID) return SendClientMessage(playeridVermelho"ID Invalido");
          
PresoADM[id] = 1;
          
GetPlayerName(playerididadminMAX_PLAYER_NAME);
          
GetPlayerName(ididpreso1MAX_PLAYER_NAME);
          
format(msgsizeof(msg), "Administrador(a) %s prendeu %s  e o motivo foi: %s"idadminidpreso1motivo );
          
SendClientMessageToAll(-1msg););
          
SetPlayerPos(playerid223.431976,1872.400268,13.734375);
          
SetPlayerInterior(playerid0);
          
format(arquivosizeof(arquivo), "PresosADM/%s.ini"idpreso1);
          
DOF2_CreateFile(arquivo);
          
DOF2_SetString(arquivo"Motivo"motivo);
          
DOF2_SetString(arquivo"Adm"idadmin);
          
DOF2_SetInt(arquivo"Tempo"tempo);
          
DOF2_SaveFile();
          
SetTimerEx("CadeiaADM"tempofalse"i"id
          gettime
(tempo);
      }
      else
      {
          
SendClientMessage(playeridVermelho"Vocк nгo faz parte da Administraзгo!");
      }
return 
1;

Reply
#3

й pra tirar o ); ?

tentei deixando por ultimo tambйm nгo deu certo \:
Reply
#4

Nгo sei porque vocк estб usando o gettime(tempoadm); acho que o erro provem dai...
Reply
#5

Exato, eu tirei aqui e realmente funcionou... agora vou testar se esta salvando quando disconnecta, vou criar a funзгo aqui, logo mais @edit

entгo eu mudei tudo, mas nгo esta "salvando" o tempo...
Neste caso tentei colocar tempo * 60000 para multiplicar mas nгo esta acontecendo isso...
pawn Код:
CMD:cadeia(playerid, params[])
{
  new msg[120];
  new idpreso1[MAX_PLAYER_NAME], idadmin[MAX_PLAYER_NAME];
  new id, tempo,motivo[50];
  new arquivo[60];
  if(IsPlayerAdmin(playerid) || pDados[playerid][Admin] > 1 )
  {
  if(sscanf(params, "uds[50]", id,tempo,motivo)) return SendClientMessage(playerid, Vermelho, "Use: /cadeia [ID] [TEMPO] [MOTIVO]");
  if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, Vermelho, "ID Invalido");
  pDados[id][PresoADM] = 1;
  GetPlayerName(playerid, idadmin, MAX_PLAYER_NAME);
  GetPlayerName(id, idpreso1, MAX_PLAYER_NAME);
  format(msg, sizeof(msg), "Administrador(a) %s prendeu %s  e o motivo foi: %s", idadmin, idpreso1, motivo );
  SendClientMessageToAll(-1, msg);
  new playername[MAX_PLAYER_NAME];
  GetPlayerName(id, playername, sizeof(playername));
  format(arquivo, sizeof(arquivo), "PresosADM/%s.ini", playername);
  if(!DOF2_FileExists(arquivo))
  {
  DOF2_CreateFile(arquivo);
  DOF2_SetString(arquivo, "Motivo",  motivo);
  DOF2_SetString(arquivo, "Adm",    idadmin);
  DOF2_SetInt(arquivo, "Tempo",   tempo);
  DOF2_SaveFile();
  SetTimerEx("CadeiaADM", tempo * 60000, false, "i", id);
  SpawnPlayer(id);
  }
  }
  else
  {
  SendClientMessage(playerid, Vermelho, "Vocк nгo faz parte da Administraзгo!");
  }
return 1;
}
ao salvar o arquivo ele salva no tempo que eu coloquei inicialmente...
pawn Код:
new arqadm[60], presoadm[MAX_PLAYER_NAME];
        GetPlayerName(playerid, presoadm, sizeof(presoadm));
        format(arqadm, sizeof(arqadm), "PresosADM/%s.ini",presoadm);
        if(DOF2_FileExists(arqadm))
        {
        new temporestante = DOF2_GetInt(arqadm, "Tempo");
        DOF2_SetInt(arqadm, "Tempo", temporestante);
        DOF2_SaveFile();
        }
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)