Jump to content

    Ir abajo

    Posted
    Código:
    [ide="c_cpp"]#include <amxmodx>
    #include <hamsandwich>

    #define siguientenivel(%1)    (%1 * 25) // Definimos el macro que nos dice cuantos frags se van a necesitar para el siguiente nivel, en este caso van de 25 en 25
    #define HUD_ID (taskid-TASK_HUD) // Task del hud
    #define TASK_HUD 12312
    #define MAX_NIVEL 100

    new Nivel[33], Frags[33] // Definimos las variables Nivel y Frags donde se van a guardar los datos
    new HudPrincipal // Variable para el hud

    public plugin_init()
    {
       
       register_plugin("Niveles por frags", "1.0", "autor")
       
       RegisterHam(Ham_Killer, "player", "fw_PlayerKilled_Post", true)


       HudPrincipal = CreateHudSyncObj() // Le asignamos un valor a la variable del hud
    }

    public client_putinserver(id) // Cuando un jugador entra al servidor
    {
       Nivel[id] = 1 // Le seteamos el nivel 1
       Frags[id] = 0 // Le seteamos los frags a 0
       set_task(1.0, "ShowHud", id+TASK_HUD, _, _, "b") // Seteamos el task para que se muestre el hud
    }
    public client_disconnect(id)
       remove_task(id+TASK_HUD) // Removemos el hud

    public pw_PlayerKilled_Post(victim, attacker, shouldgib) // Seteamos una public, que dira lo que pasa cuando alguien muere
    {
      if( victim == atacker ) || !is_user_alive(attacker) || !is_user_alive(victim) || !is_user_connected(attacker) || !is_user_connected(victim))
      { /*Si la victima == attacker (Se suicida) no le suma frags, si el atacante esta desconectado o la victima esta desconectada
      no le suma frags, el atacante o la victima estan muerto no suma frags eso significa ese if()*/
         return HAM_IGNORED; // returnamos para que no sume frags
      }
      Frags[id]++ // si el if() no se cumple, le suma 1 frags al asesinar
     
     
     

    public chequear_nivel(id) // chequeamos los niveles
    {
       static level; // no se para que sirve
       level = Nivel[id]; // definimos que el leve = al nivel del usuario
       
       if(Nivel[id] == MAX_NIVEL) // declaramos que si su nivel, es igual al nivel maximo returne
       {
          return PLUGIN_HANDLED; // returnamos
       }
       
       if(Frags[id] >= siguientenivel(Nivel[id])) // Si los frags del jugador son mayores o iguales a los requeridos para el siguiente nivel
       {
           Nivel[id]++ // Le aumentamos un nivel
           Frags[id] = 0 // Le seteamos los frags a 0
      client_print(id, print_chat, "Felicidades haz subido al nivel %d", Nivel[id]) /*Al cumplirse este id() le manda
      un mensaje al usuario diciendo que subio de nivel*/
       }
    }

    public ShowHUD(taskid) //Creamos el hud que saldra al usuario
    {
       static id;id = HUD_ID // le setamos la ir al hud
       
       if(!is_user_alive(id)) // Si el usuario esta muerto no mostrara el hud
           return;
           
       set_hudmessage(255, 255, 255, 0.02, 0.15, 0, 6.0, 12.0) // seteamos la posicion del hud
       ShowSyncHudMsg(id, HudPrincipal, "Nivel: %d^nFrags: %d", Nivel[id], Frags[id]) // seteamos el mensaje y listo
    }[/ide]
    Posted
    Hola Mundo
    Posted
    hola
    Aca te redirigira alv :v
    Posted
    <a href="#nombreMarca">Moverse a la marca.</a>
    a
    A
    A
    a
    A
    a
    a
    A
    a
    <a name="nombreMarca"></a>
    Posted
    asd
    Posted

    Volver arriba


     
    Permisos de este foro:
    No puedes responder a temas en este foro.
      Abril 2024
      LunMarMiérJueVieSábDom
      1234567
      891011121314
      15161718192021
      22232425262728
      2930     

      Calendario Calendario