sistema de cadeia -
johntrybescripter - 09.02.2017
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;
}
Re: sistema de cadeia -
Relaxed - 10.02.2017
PHP код:
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););
SetPlayerPos(playerid, 223.431976,1872.400268,13.734375);
SetPlayerInterior(playerid, 0);
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;
}
Re: sistema de cadeia -
johntrybescripter - 10.02.2017
й pra tirar o ); ?
tentei deixando por ultimo tambйm nгo deu certo \:
Re: sistema de cadeia -
Cheleber_Pausini - 10.02.2017
Nгo sei porque vocк estб usando o gettime(tempoadm); acho que o erro provem dai...
Re: sistema de cadeia -
johntrybescripter - 10.02.2017
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();
}