[Tutorial] Cambiar de gamemode0 a gamemode1
#1

Hola bueno pues hoy les voy a explicar como cambiar sin presionar ningun comando, ni cambiar nada desde la consola ni nada, automatico como cambiar de un gamemode a otro.

Primero para hacerlo automatico necesitaremos colocar un Timer para que al cumplirse el tiempo realize el cambio de gamemode.

Bien para hacerlo nos vamos al callback OnGameModeInit y alli creamos el Timer, nos debe de quedar asi:


pawn Код:
public OnGameModeInit()
{
     SetTimer("ReiniciarServer", 900000, 1);// 900000 milisegundos = 15 minutos
     [....]//Las demas funciones que tengas tu
}
Bien ya echo el timer ahora necesitamos crear los forward para definir los publics, se pueden colocar en cualquiera parte del GM pero normalmente se ponen arriba para que esten ordenador, que quede tal que asi:

pawn Код:
//En cualquier parte
forward Reiniciar();
forward NombreMapa();
forward ReiniciarServer();
Ya definidos los forwards para los publics de las funciones pasamos a crear la funcion que va a hacer el pickup, nos vamos abajo del GM y creamos un public llamado "ReiniciarServer" tiene que ser el mismo nombre que el timer que agregamos antes, despues de crear el nombre del nuevo public, agregamos un GameText para avisar del cambio del GM, y despues agregamos un segundo timer en ese mismo public para que lleve ala siguiente funcion, en total debe de quedar asi:

pawn Код:
public ReiniciarServer()
{
GameTextForAll("~r~ Tiempo Excedido ~b~ Espere....", 2500 , 0); //Esto nos muestra en medio de la pantalla que se va a cambiar
SetTimer("Reiniciar", 10000 , 0); El timer para llevar a la siguiente funcion
}
Despues tenemos que hacer lo mismo que antes pero creando el public con el nombre "Reiniciar" , despues de crearlo ponemos otro GameText que nos indique que ya se cambia de GM, despues le tenemos que agregar la funcion Rcon para que pueda cambiar de GM, entonces nos debe quedar asi:

pawn Код:
public Reiniciar()
{
GameTextForAll("~g~ Siguiente GameMode~r~...", 2500, 0);
SendRconCommand("changemode lvdm2"); //Ahi debes poner el nombre del GM que quieras que sea el siguiente.
return 1;
}
Poniendo todo eso bien y ordenadamente nos tiene que ir perfectamente, tambien te puedes agregar el 2 public poniendo la funcion SendRconCommand en el primer public, pero eso ya es a vuestra eleccion.

Creditos:

-Doji (Yo)


Reply
#2

Muy buen tutorial che.
Reply
#3

Gracias buen tuto
Reply
#4

Buen tuto, me mato esa imagen xd
Reply
#5

Tambiйn podrнas ponerlo con el comando "gmx".
Reply
#6

Si, pero yo le e explicado para que se hiciera despues del tiempo que quieras
Reply
#7

Si quiero que reinicie y gambie al otro gm pasada una semana de juego (no tiempo real) osea que termine el sabado a las 23o y cuando arranque el otro gm sea domingo a las 00:00hs
Reply
#8

Ese tiempo de juego debes calcularlo tu y ponerlo en milisegundos.
Reply
#9

Quote:
Originally Posted by SampCristianScript
Посмотреть сообщение
Si quiero que reinicie y gambie al otro gm pasada una semana de juego (no tiempo real) osea que termine el sabado a las 23o y cuando arranque el otro gm sea domingo a las 00:00hs
Te recomiendo usar este include de zume
https://sampforum.blast.hk/showthread.php?tid=533385
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)