[TUT] Creación de niveles con macro
#1
* Ultima actualización: Sabado 27/04/2015 - 01:16:00 AM

Código PHP:
#include < amxmodx >         // Libreria que siempre y cada uno de nuestros plugins va a nesecitar
#include < hamsandwich >     // Libreria que vamos a utilizar para detectar cuando matamos a alguien ( Ham_Killed ) y cuando revive alguien ( Ham_Spawn )

#define SetBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )        // Bits, Leer tutorial de rocox para informarce mas
#define ClearBit(%1,%2) ( %1 &= ~ ( 1 << ( %2 & 31 ) ) )    // Bits, Leer tutorial de rocox para informarce mas
#define IsBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )          // Bits, Leer tutorial de rocox para informarce mas

#define Siguiente_nivel(%1) %1 * 15 // Macro que se elevara segun otra variable ( Mas abajo lo veran )

new const VERSION[ ] =    "1.0"     // Definimos la version del plugin

new g_fragsSLOTS ];         // Variable que va a almacenar nuestros frags 
new g_levelSLOTS ];         // Variable que va a almacenar nuestros levels

new g_conectado;             // Variable que vamos a utilizar para no llamar a una native ( is_user_connected( index ) )
new g_vivo;                 // Variable que vamos a utilizar para no llamar a una native ( is_user_alive( index ) )

public plugin_init( )
{
    
register_plugin"Tutorial para hacer niveles"VERSION"cLAANS" ); // Registramos el plugin, je
    
    
RegisterHamHam_Killed,     "player""fw_player_killed"true );     // Llamamos a Ham Killed para registrar el momento de una muerte, en este caso de un player.
}

public 
client_putinserverid // Evento que se llama cada vez que una persona ingresa al servidor
    
SetBitg_conectadoid ); 
// Seteamos en true una variable que usaremos despues para verificar si un usuario esta conectado y asi llamar una variable menos

public fw_player_killedvictimattacker 
{
    if( !
IsBitg_conectadovictim ) || !IsBitg_vivovictim ) || victim == attacker // Si no esta conectada la victima, o si no esta viva o si la victima es igual al atacante
        
return; // Paramos la funcion
        
    /* Si un usuario no esta conectado no podra atacar asi que no verificamos si el atacante esta conectado
    * lo mismo cuando algunos verifican si el atacante esta vivo, si no lo esta, pues no atacara */
    
    
g_fragsattacker ]++; // Lo que hacemos aca es aumentar nuestra variable ( g_frags ) +1
    
    /* Hay miles de formas de las que podemos hacer actuar esta variable */
    /* SI queremos la aumentamos en 10 */
    
    
g_fragsattacker ] += 10;
    
    
chequear_nivelattacker ); // Chequeamos si nuestros frags son los suficientes para pasar de nivel
}

public 
chequear_nivelindex )
{
    if( 
g_fragsindex ] >= Siguiente_nivelg_levelindex ] ) ) 
    
// SI nuestros frags son mayores o iguales a los requeridos por nuestra macro
    
{
        
g_levelindex ]++; // Aumentamos 1 nivel, o los que se les den la gana
    
}


Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.

Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'

(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Responder
#2
* Si me suicido gano frags
* ¿Es necesario crear 2 variables solo para usar bits?
* ¿Es necesario chequear si no esta vivo y conectado a la vez?
- Solo basta con chequear si esta vivo no?
* Cuando se desconecta tienes que borrar el bit g_vivo
* Se veria mas bonito asi chequear_nivel( index, frags = 0 )

Eso y saludos
[Imagen: 76561197999970868.png]
Responder
#3
Creo que deberías establecer en falso el bit de estar vivo cuando se deconecta

Correciones ortográficas
nesecitar -> necesitar
informarce -> informarse
mas -> más
Setiamos -> Seteamos (Yo diría 'establecemos')
esta -> está

Código PHP:
// Llamamos a Ham Spawn para ver cuando revive cuando jugador 
->
Código PHP:
// Llamamos a Ham Spawn para ver cuando revive un jugador 

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#4
Cuando un jugador muere no hace falta detectar si está viva o muerta la víctima, en todo caso sería el atacante
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#5
(03/12/2013, 08:00 AM)LA BANDA escribió: * Si me suicido gano frags
* ¿Es necesario crear 2 variables solo para usar bits?
* ¿Es necesario chequear si no esta vivo y conectado a la vez?
- Solo basta con chequear si esta vivo no?
* Cuando se desconecta tienes que borrar el bit g_vivo
* Se veria mas bonito asi chequear_nivel( index, frags = 0 )

Eso y saludos

* Tenes razon
* Si
* Si
- No
* Tenes razon
* -.-'

- Arreglado

Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.

Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'

(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Responder
#6
no es necesario labanda podes usar una de dos celdas.

otro error ortografico: rocox -> roccoxx
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#7
(03/12/2013, 11:51 AM)RauliTop escribió: Cuando un jugador muere no hace falta detectar si está viva o muerta la víctima, en todo caso sería el atacante

A eso voy, y me parece que es innecesario chequear si esta vivo y conectado.
[Imagen: 76561197999970868.png]
Responder
#8
Si uso el sistema de armas por niveles de Metrikcs Iria bien? probe con el de metrikcs y no lee los niveles a la hora de elegir arma, Ejm: Soy nivel 0, subo a nivel 1, Pero el menu me bloquea el arma de nivel 1 y no la puedo elegir
Responder
#9
adapta las armas con los niveles.

Otra cosa, para colocar estas cosas no revivas el tema de hace años.
Solamente crea un nuevo tema y especificas que sacaste los niveles de macro de este tutorial.

por ultimo si no te has tomado el tiempo, te recomiendo pasarte un momento por aca:

Click aqui para ser millonario <3

Gran sonrisa Bienvenido al foro.
Idioma: [Extrangez]
Nivel de Amistad: [Depende de ti]

Aportes:
[Mapas]
zm_impressive

zm_laberim
zm_bunkeriM 28%

Made in Venezuela
Responder
#10
(21/09/2016, 06:03 PM)wester escribió: adapta las armas con los niveles.

Otra cosa, para colocar estas cosas no revivas el tema de hace años.
Solamente crea un nuevo tema y especificas que sacaste los niveles de macro de este tutorial.

por ultimo si no te has tomado el tiempo, te recomiendo pasarte un momento por aca:

Click aqui para ser millonario <3

Gran sonrisa Bienvenido al foro.

No hay problema que el reviva, es una duda que tiene.
Responder
#11
(21/09/2016, 06:03 PM)wester escribió: adapta las armas con los niveles.

Otra cosa, para colocar estas cosas no revivas el tema de hace años.
Solamente crea un nuevo tema y especificas que sacaste los niveles de macro de este tutorial.

por ultimo si no te has tomado el tiempo, te recomiendo pasarte un momento por aca:

Click aqui para ser millonario <3

Gran sonrisa Bienvenido al foro.
Como dijo soundblaster, se puede revivir cualquier tema siempre y cuando haya un motivo. En este caso lo hay, que es una duda.
[Imagen: paypalqr.png]
Responder
#12
(22/09/2016, 03:15 PM)Neeeeeeeeeel.- escribió:
(21/09/2016, 06:03 PM)wester escribió: adapta las armas con los niveles.

Otra cosa, para colocar estas cosas no revivas el tema de hace años.
Solamente crea un nuevo tema y especificas que sacaste los niveles de macro de este tutorial.

por ultimo si no te has tomado el tiempo, te recomiendo pasarte un momento por aca:

Click aqui para ser millonario <3

Gran sonrisa Bienvenido al foro.
Como dijo soundblaster, se puede revivir cualquier tema siempre y cuando haya un motivo. En este caso lo hay, que es una duda.

Muchas gracias neel, lo tendre en cuenta entonces :/
Idioma: [Extrangez]
Nivel de Amistad: [Depende de ti]

Aportes:
[Mapas]
zm_impressive

zm_laberim
zm_bunkeriM 28%

Made in Venezuela
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)