Jump to content
This Topic
Sky^^

[TUT] Crear niveles por frags.

Posts recomendados

1 post en este tema

Hola gente, buenos días.

Les dejo este tutorial de Niveles por Frags.
Comenzemos.

Primer paso: Al principio de su plugin( debajo de las librerías ) ponemos lo siguiente:

Spoiler

#define LevelNext(%1) (%1 * 55 + 20) // Macro para definír cuantos Frags se van a necesitar para cada nivel. Solo deberán modíficar el número 20.
// Es el nivel del usuario multiplicado por 55 mas 20.
// Ejemplo del macro: Si soy nivel 1: 1x55+20 = 75.
#define LevelMax 25 // Nivel máximo.
#define WinFrags 3 // Los frags que ganará el usuario al matar.

new const __PREFIX[ ] = "[ SkylarK }"; // Prefijo para los mensajes.
new sLevels[ 33 ]; // Variable que almacena los niveles.
new sFrags[ 33 ]; // Variable que almacena los frags.

 

 

Segundo paso: Vamos a client_putinserver o sí no lo tienen lo crean y agregamos lo siguiente:
Nota: En caso de qué tengan algún sistema de cuentas, no agreguen esto.

Spoiler

sLevels[ id ] = 0;
sFrags[ id ] = 0;

// Quedaría así.

public client_putinserver( id )
{
	// Su code......

	sLevels[ id ] = 0; // Al entrar el usuario empezará con 0 niveles.
	sFrags[ id ] = 0; // Al entrar el usuario empezará con 0 frags.
}

 

 

Tercer paso: Vamos a plugin_init y agregamos lo siguiente:

Spoiler

register_event( "DeathMsg", "fw_Death", "a" ); // Registraremos el evento donde se sumarán los frags al atacante.

 

 

Cuarto paso: Al final de su plugin o mod o donde quieran, agregan lo siguiente:

Spoiler

public fw_Death( )
{
	new iAttacker = read_data( 1 );
	new iVictim = read_data( 2 );

	if( iVictim == iAttacker || !is_user_alive( iAttacker ) ) return;

	sFrags[ iAttacker ] += WinFrags; // Acá sumamos los frags al atacante.
	UpdateLevel( iAttacker ); // Acá llamará a la public donde chequeará cuantos frags tenga para subir de nivel.
}

public UpdateLevel( id )
{
	new iUploaded = false;

	while( sFrags[ id ] >= LevelNext( sLevels[ id ] ) && sLevels[ id ] < LevelMax ) // While que chequea si tiene los frags que se necesitan para subir de                                                               // nivel y que el nivel sea menor al nivel máximo, así podrá subir de nivel la persona.
	{
		++sLevels[ id ]; // Sumamos un nivel.
		iUploaded = true; 
	}

	if( iUploaded )
	{
		client_print( id, print_chat, "%s Felicidades subiste al nivel: %d.", __PREFIX, sLevels[ id ] ); // Un lindo mensajito:3
		iUploaded = false;
	}
}

 




Eso es todo, si falta algo me dicen y lo arreglo en seguida.
Qué tengan un lindo día :)

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión

×