Jump to content
This Topic
Sky^^

[TUT] Crear niveles por frags.

Recommended Posts

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


×