[Ajuda] Salvar cargo de quem agendou cadeia
#1

RESOLVIDO!
A mensagem serб mantida para os outros jogadores que quiserem o comando ou tiverem a mesma dъvida.



Alguйm me dб uma ajuda?

Queria salvar o cargo de quem agendou a cadeia do jogador, mas nгo consigo. Da forma abaixo, apenas mostra no chat (Mensagem global) quem agendou no momento, mas queria salvar isso pra quando o jogador logar, aparecer a mensagem:
"| PRISГO | O(A) (cargo aqui) Fulano te agendou a cumprir 1 minuto(s) de cadeia. Motivo: Teste"
Atualmente, no OnPlayerSpawn, estб assim:
"| PRISГO | O(A) Administrador(a) %s te agendou a cumprir %i minuto(s) de cadeia. Motivo: %s" (Aparece tudo certinho, sу queria trocar o "Administrador(a)" pelo cargo da pessoa que agendou"

Entenderam?

Cуdigos abaixo.

OnPlayerSpawn
Код:
public OnPlayerSpawn(playerid)
{
    Erro[playerid] = 0;
	TogglePlayerSpectating(playerid, false);
	TogglePlayerControllable(playerid, true);
	SetCameraBehindPlayer(playerid);
    if(SpawnPos[playerid] == true) SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]), SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosA]), SpawnPos[playerid] = false, SetPlayerCameraPos(playerid, PlayerInfo[playerid][pCamX], PlayerInfo[playerid][pCamY], PlayerInfo[playerid][pCamZ]), SetPlayerInterior(playerid, PlayerInfo[playerid][pInterior]);
	format(File, 56, "pAdmin/Agendados/%s.ini", pNomeOriginal[playerid]);
	if(DOF2_FileExists(File))
	{
		format(Str, 256, "| PRISГO | O(A) Administrador(a) %s te agendou a cumprir %i minuto(s) de cadeia. Motivo: %s", DOF2_GetString(File, "Administrador"), DOF2_GetInt(File, "Tempo"), DOF2_GetString(File, "Motivo"));
		printf("%s", Str);
		SendClientMessage(playerid, CorErro, Str);
		DOF2_RemoveFile(File);
	}
	if(PlayerInfo[playerid][pCongelado] == true) TogglePlayerControllable(playerid, false);
	return 1;
}
CMD:AgendarCadeia
Код:
CMD:agendarcadeia(playerid, params[])
{
	new Cargo[256];
	if(PlayerInfo[playerid][pAdmin] < 1)						return SendClientMessage(playerid, CorErro, "| ERRO | Comando invбlido.");
	new Nome[24];
    if(sscanf(params, "s[24]is[56]", Nome, ID,  Motivo))		return SendClientMessage(playerid, CorErroNeutro, "Use: /AgendarCadeia [CONTA] [TEMPO EM MINUTOS] [MOTIVO]");
    new ID1 = GetPlayerID(Nome);
	if(IsPlayerConnected(ID1))                                  return SendClientMessage(playerid, CorErro, "| ERRO | Este jogador estб conectado, use /Cadeia.");
	format(File, sizeof(File), "pAdmin/Contas/%s.ini", Nome);
	if(!DOF2_FileExists(File))              					return SendClientMessage(playerid, CorErro, "| ERRO | Esta conta nгo existe.");
	switch(PlayerInfo[playerid][pAdmin])
	{
		case 1: Cargo = "Ajudante";
		case 2: Cargo = "Moderador(a)";
		case 3: Cargo = "Administrador(a)";
		case 4: Cargo = "Desenvolvedor";
	}
 	format(Str, sizeof(Str), "| PRISГO | O(A) %s %s agendou a prisгo de %s por %i minutos. Motivo: %s", Cargo, pNomeOriginal[playerid], Nome, ID, Motivo);
    SendClientMessageToAll(Vermelho, Str);
	AgendarCadeia(Nome, ID, playerid, Motivo); //colocar pra salvar cargo na pasta e puxar o cargo ao player logar
	return 1;
}
stock AgendarCadeia
Код:
stock AgendarCadeia(playerid[], tempo, administrador, Motivo1[])
{
	if(tempo < 0)
	{
		format(File, 56, "pAdmin/Contas/%s.ini", playerid);
		new TempoAtual = DOF2_GetInt(File, "pCadeia");
		if(tempo * -1 >= TempoAtual / 60)
		{
			DOF2_SetInt(File, "pCadeia", 0);
			DOF2_SaveFile();
			format(File, 56, "pAdmin/Agendados/%s.ini", playerid);
			if(DOF2_FileExists(File)) DOF2_RemoveFile(File);
			return 0;
		}
		else
		{
		    new tempo1 = tempo * -1 * 60;
		    TempoAtual -= tempo1;
		    DOF2_SetInt(File, "pCadeia", TempoAtual);
		    DOF2_SaveFile();
		    format(File, 56, "pAdmin/Agendados/%s.ini", playerid);
			if(DOF2_FileExists(File)) DOF2_SetInt(File, "Tempo", DOF2_GetInt(File, "Tempo") - tempo * -1), DOF2_SaveFile();
		    return 0;
		}
	}
	if(tempo > 0)
	{
		format(File, 56, "pAdmin/Contas/%s.ini", playerid);
		if(DOF2_GetInt(File, "pCadeia") > 0)
		{
		    new Tempo9;
		    Tempo9 = tempo * 60;
		    DOF2_SetInt(File, "pCadeia", DOF2_GetInt(File, "pCadeia") + Tempo9);
		    DOF2_SaveFile();
		}
		else
		{
		    DOF2_SetInt(File, "pCadeia", tempo * 60);
		    DOF2_SaveFile();
		}
		format(File, 56, "pAdmin/Agendados/%s.ini", playerid);
		if(!DOF2_FileExists(File))
		{
			DOF2_CreateFile(File);
			DOF2_SetInt(File, "Tempo", tempo);
			DOF2_SetString(File, "Administrador", pNomeOriginal[administrador]);
			DOF2_SetString(File, "Motivo", Motivo1);
			DOF2_SaveFile();
		}
		else
		{
		    new ADM[24], Motivo2[56], Tempo1;
			format(ADM, 24, DOF2_GetString(File, "Administrador"));
			format(Motivo2, 56, DOF2_GetString(File, "Motivo"));
			Tempo1 = DOF2_GetInt(File, "Tempo");
			format(Str, 256, "%s | %s", ADM, pNomeOriginal[administrador]);
			DOF2_SetString(File, "Administrador", Str);
			format(Str, 256, "%s | %s", Motivo2, Motivo1);
			DOF2_SetString(File, "Motivo", Str);
			DOF2_SetInt(File, "Tempo", tempo + Tempo1);
			DOF2_SaveFile();
		}
	}
	return 1;
}
Eu definitivamente nгo faзo ideia de como fazer, pois das formas que tentei, aparece inъmeros erros e fico em dъvida se fiz corretamente, e por este motivo prefiro vir pedir ajuda a vocкs experientes
Reply


Messages In This Thread
[RESOLVIDO]Salvar cargo de quem agendou cadeia - by Psicotico - 11.10.2016, 12:51
Re: Salvar cargo de quem agendou cadeia - by ClaudineiCDS - 11.10.2016, 13:13
Re: Salvar cargo de quem agendou cadeia - by Psicotico - 11.10.2016, 13:42
Re: Salvar cargo de quem agendou cadeia - by ClaudineiCDS - 11.10.2016, 14:01
Re: Salvar cargo de quem agendou cadeia - by Psicotico - 11.10.2016, 14:50

Forum Jump:


Users browsing this thread: 1 Guest(s)