05/05/2024 22:07
(Esta mensagem foi modificada pela última vez a: 05/05/2024 22:41 por xbruno1000x.)
Ta ai:
Código:
IsPlayerConnectedSQLID(sqlid)
{
for (new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if (IsPlayerConnected(i))
{
if (pDados[i][IDFIXO] == sqlid)
{
return 1;
}
}
}
return 0;
}
CMD:prender(playerid, params[])
{
new minutos, motivo[50];
if (!IsPlayerAdmin(playerid) && pDados[playerid][Admin] < 1)
{
SendClientMessage(playerid, -1, "{FA5858}Erro: {FFFFFF}Você não tem autorização.");
return 1;
}
if(sscanf(params, "udi[50]s[50]", IDFIXO, minutos, motivo))
{
SendClientMessage(playerid, -1, "{FA5858}[ERRO]: {FFFFFF}Use /prender [ID] [Minutos] [Motivo]. {DC143C}NÃO COLOQUE O TEMPO ACIMA DA TABELA, OU TOMARÁ PUNIÇÃO.");
return 1;
}
if (!IsPlayerConnectedSQLID(IDFIXO))
{
SendClientMessage(playerid, -1, "{FA5858}Erro: {FFFFFF}Este jogador não está online ou não possui o ID correspondente.");
return 1;
}
// Verifica se o jogador já está preso
if (pDados[ID][PresoAdmin] == 1)
return SendClientMessage(playerid, -1, "{FA5858}Erro: {FFFFFF}Este jogador já está preso.");
// Restante do código...
// Marca o jogador como preso
pDados[ID][PresoAdmin] = 1;
// Calcular horas, minutos e segundos
new horas, segundos;
horas = minutos / 60;
segundos = minutos % 60;
minutos %= 60;
pDados[playerid][HorasAdmin] = horas;
pDados[playerid][MinutosAdmin] = minutos;
pDados[playerid][SegundosAdmin] = segundos;
// Diretório para salvar informações da prisão
new pasta[50];
format(pasta, sizeof(pasta), "Cadeias/%s.ini", pName(IDFIXO));
DOF2_CreateFile(pasta);
DOF2_SetInt(pasta, "Horas", horas);
DOF2_SetInt(pasta, "Minutos", minutos);
DOF2_SetInt(pasta, "Segundos", segundos);
DOF2_SetString(pasta, "Motivo", motivo);
DOF2_SetString(pasta, "Admin", pName(playerid));
// Formatando a string de tempo
new str[50];
format(str, sizeof(str), "%02d:%02d:%02d", horas, minutos, segundos);
PlayerTextDrawSetString(playerid, Text_Timer[playerid][0], str);
PlayerTextDrawShow(playerid, Text_Timer[playerid][0]);
TimerCadeia[ID] = SetTimerEx("SairCadeia", 1000, true, "d", ID);
// Posição da prisão
SetPlayerPos(playerid, 1412.14, -2.28, 1000.92);
SetPlayerInterior(playerid, 1);
// Obter data atual
new Ano, Mes, Dia;
getdate(Ano, Mes, Dia);
format(str, sizeof(str), "%02d/%02d/%d", Dia, Mes, Ano);
DOF2_SetString(pasta, "Data", str);
// Mensagem para todos os jogadores sobre a prisão
new msgcadeia[140];
format(msgcadeia, sizeof(msgcadeia), "{FF6347}[CADEIA]: O Admin %s prendeu o Player %s no Quadradao. Por [%d] Minutos. Motivo: %s", pName(playerid), pName(IDFIXO), minutos + horas * 60, motivo);
SendClientMessageToAll(-1, msgcadeia);
return 1;
}