Saludos, mi intenciуn no es de que copies y pegues sino de que aprendes, ya que ami me hubiera
gustado que alguien me enseсase tambien pero lamentablemente no sabнa de la existencia de йste foro.
solamente me guiй con wikisamp, ayudo para que tambien me ayuden en los futuros problemas que tendrй como todos nosotros.
Vamos por paso, primero haste las variables locales,
pawn Код:
Contador_GMX, Timer_GMX,Confirmar_Reinicio[MAX_PLAYERS];
Comando para reiniciar.
pawn Код:
CMD:Reiniciar(playerid, params[])
{
if(Es_Admin[playerid])
{
if(Confirmar_Reinicio[playerid])//cuando tenga 1 pasa.
{
Contador_GMX = 301; //esto quiere decir que Saldrб desde el case 300
Timer_GMX = SetTimer("Funcion_GMX", 1000, true); //que se repita (true) cada 1 segundo
SendClientMessageToAll ( -1 , "El querido servidor serб reiniciado en 5 minutos." ) ;
return 1;
}
SendClientMessage(playerid, -1 , "Para confirmar reiniciar el servidor porfavor vuelve a introducir el comando" ) ;
Confirmar_Reinicio[playerid] = 1;// asignamos 1,
}
return 1;
}
Comando para cancelar
pawn Код:
CMD:Cancelar(playerid, params[])//comando para matar el timer de gmx
{
if(Es_Admin[playerid])
{
Contador_GMX = 0;
KillTimer(Timer_GMX);
SendClientMessage(playerid, -1 , "Mataste el tiempo Timer_GMX" ) ;
}
return 1;
}
Funcion para Funcion_GMX, aqui puedes jugar como tu desees.
pawn Код:
forward Funcion_GMX();
public Funcion_GMX()
{
Contador_GMX--;//como pusimos al timer Timer_GMX que se repita cada segundo, cada segundo irб restando -1 a Contador_GMX.
switch(Contador_GMX)//cada segundo el switch detectarб que numero tiene la variable Contador_GMX y dependiendo al numero darб al case.
{
case 0:
{
SendClientMessageToAll ( -1 , "Porfavor espera a que el servidor se cargue." ) ;
KillTimer(Timer_GMX);
SendRconCommand("gmx");
//mas funciones bla bla bla.
}
case 1:
{
SendClientMessage(playerid, -1 , "El servidor serб reiniciado en 1 segundo.");
}
case 10:
{
Mifuncion;
Mifuncion;
Mifuncion;
}
case 20: Mifuncion;
case 30: Mifuncion;
case 40: Mifuncion;
case 50: Mifuncion;
case 60: Mifuncion;
case 120: Mifuncion;
case 180: SendClientMessageToAll ( -1 , "Falta 3 minutos." ) ;
case 240: SendClientMessageToAll ( -1 , "Falta 4 minutos." ) ;
case 300: SendClientMessageToAll ( -1 , "Falta 5 minutos." ) ;
}
return 1;
}