Jump to content

    Deathmatch hopla_terd_islands with rmf file

    bsp_mine
    Por bsp_mine

    This map has been on the list of maybe get back to ,but I will not have time

    I place it here for you to explore and build upon , I only ask it only be shared here

     

    DOWNLOAD

     

    hopla_terd_islands RMF

     

    the_pr10.jpg

     

    - Max number of players ( 28 ).

    -Fps (as a matter of performance).

    -Style Map (dm).

    -Weight of .bsp (1647KB).

    -Description (a small set of square islands ).

    -Link Download (hopla_terd_islands RMF)


    [Mapa] aim_ak-colt_mm

    LeaN
    Por LeaN

    Les presento mi nuevo mapa, lo cree para la final del torneo de cs. Es un remake del mapa aim_ak-colt versión Mundo Mapping. Tengo pensado realizar mas remakes.

     

     

     

    Autor: ;LeaN

    Nombre: aim_ak-colt_mm

    Slots: 18 CT, 18 T

    Tamaño: Chico

    Fps: 100

    Peso (bsp): 772 KB

    Descarga: Gamebanana

     

    Imagenes:

     

     

     

    5pgaxl.jpg

     

    qxqavm.jpg

     

    dcq4ic.jpg

     

    inz60o.jpg


    no me compila el batch compiler (SOLUCIONADO)

    computadora hdp
    Por computadora hdp

    hola gente tanto tiempo , volvi con el mapeo y como siempre con problemas jejeje , estoy haciendo un nuevo mapa y al principio me tiro un error de un leak lo solucione y no paso mas , despues me salio un error de que no me funcionaba el vis....descarga todo de aqui configure bien todo el valve y el bath y ahora quiero compilar y no me compila , osea en milesimas de segundos se cierra el bath porque sera ? si a alguien le paso y que me pueda ayudar muy agradecido a otra cosa ( tengo todos los programas mapas , etc en el mismo disco)


    minecraft sky

    bsp_mine
    Por bsp_mine

    new minecraft sky for HL1 mods

     

    2015-024.jpg

     

     

     

    if you want the sky ..download here

     

    new minecraft sky


    [TUT] Como hacer un menú con for

    totopizza
    Por totopizza

    Nombre: Como hacer un menú con FOR

    Author: Kiske(Creador), Neeeeeeeeeel.-(Publicador)

    Imágenes:

    VRa2EVH.jpg

    jYcJ3YS.jpg

     

    Fuente: Como hacer un menú con for

     

    Resto del tutorial:

    #include <amxmodx>
    
    
    
    #define PLUGIN "Menu con For"
    
    #define AUTHOR "Kiske"
    
    #define VERSION "1.0"
    
    
    
    #define LISTA_ANIMALES 10 // Ponemos que LISTA_ANIMALES es Igual a 10.
    
    new const Rank[listA_ANIMALES][] = { "Cerdo", "Pajaro", "Pinguino", "Elefante", "Chancho", "Perro", "Gato", "Loro", "Cacatua", "Dinosaurio" } 
    
    // Lista de Animales. Tiene que tener la misma cantidad de Lugares, que le asignamos a "LISTA_ANIMALES". En este caso 10.
    
    
    
    public plugin_init()
    
    {
    
       register_plugin(PLUGIN, VERSION, AUTHOR)
    
    
    
       register_clcmd("say /menu", "MenuConFor")
    
       register_clcmd("say_team /menu", "MenuConFor")
    
    }
    
    
    
    public MenuConFor(id)
    
    {
    
       new Animales[50], Posicion[10] // Creamos 2 Variables.
    
       new menu = menu_create("\yLista de Animales", "MenuAnimales") // Creamos el Menu con su Nombre.
    
    
    
       // Creamos el Loop, y ponemos: "i = 0 [i es igual a 0]", "i < LISTA_ANIMALES [si i es menor a LISTA_ANIMALES(10)]", "i++ [i aumenta en 1]".
    
       for(new i = 0; i < LISTA_ANIMALES; i++) 
    
       {
    
           // Creamos un Formatex poniendo que la Variable "Animales" va a ser igual a el TEXTO escrito ahi.
    
           formatex(Animales, charsmax(Animales), "Animal %d: \y%s\w!", i, Rank[i]) 
    
           num_to_str(i, Posicion, charsmax(Posicion)) // Pasamos un Numero a un String: "i(num) lo pasamos a Posicion(string)".
    
           menu_additem(menu, Animales, Posicion) // Creamos un nuevo Item en el Menu, con el Texto y la Posicion.
    
       }
    
    
    
       menu_setprop(menu, MPROP_NEXTNAME, "Pagina Siguiente") // Nombre para pasar la a la Pagina Siguiente.
    
       menu_setprop(menu, MPROP_BACKNAME, "Pagina Anterior") // Nombre para pasar la a la Pagina Anterior.
    
       menu_setprop(menu, MPROP_EXITNAME, "Salir") // Nombre para Salir del Menu.
    
    
    
       menu_display(id, menu, 0) // Ponemos que cuando abra el Menu, aparesca en la Pagina 0. DEFAULT!.
    
       return PLUGIN_HANDLED; // Ponemos esto para que no de noticia en el Say que escribimos algo para abrir el menu.
    
    }
    
    
    
    public MenuAnimales(id, menu, item)
    
    {
    
       if(item == MENU_EXIT)
    
       {
    
           menu_destroy(menu)
    
           return PLUGIN_HANDLED
    
       }
    
    
    
       new data[6], iName[64], access, callback
    
       menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
    
    
    
       switch(str_to_num(data))
    
       {
    
           case 1..10: return PLUGIN_HANDLED
    
       }
    
    
    
       menu_destroy(menu)
    
       return PLUGIN_HANDLED
    
    } 


    [TUT] Tutorial completo de menues

    totopizza
    Por totopizza

    Nombre: Tutorial de menues

    Author: [Anti]

    Imágenes: No hay..

    Fuente: [TUT] Tutorial de menues

     

    Resto del tutorial:

     

    Les dejo un tuto de como hacer varios tipos de menu y otras herramientas.

    Tienen que tener una base en scripting de pawn.

     

    Creo que esta bastante bien explicado, cualquier duda consulten.

     

    Sistema Nuevo

    #include <amxmodx>
    
    public plugin_init()
    {
       register_plugin("Menu Basico", "1.0", "[Anti]");
       register_clcmd( "say /menu", "cmdMenu" );
    }
    
    public cmdMenu(id)
    {
       new gMenu = menu_create("\rHola soy un menu", "handlerMenu")
       //creamos el menu en la variable 'Menu' con el titulo 'Hola soy un menu'
       //que segun la opcion que elija el usuario va a llamar a la funcion 'handlerMenu'
    
       menu_additem(gMenu, "\wOpcion #1", "1")    //Blanco = \w
       menu_additem(gMenu, "\dOpcion #2", "2")    //Transparente = \d
       menu_additem(gMenu, "\yOpcion #3", "3")    //Amarillo = \y
                                               //Rojo = \r
       //adderimos opciones al menu 'Menu' y le ponemos el numero de opcion
    
       menu_display(id, gMenu, 0)
       //aca le mostramos el menu 'Menu' al 'id'(indice de player) que queramos.
       //el '0' es la pagina del menu que le vamos a mostrar.
    }
    
    public handlerMenu(id, menu, item)        //los parametros deben ir en este orden
    {
       if ( item == MENU_EXIT )    //si el item seleccionado es igual a '0'(Exit[salir])
       {
           menu_destroy(menu)        //destruimos el menu
           return PLUGIN_HANDLED;    //y returnamos la funcion
       }
       switch(item)    //hacemos un swicheo de los posibles resultados:
       {
           case 0:        //en caso de que precione 1: le mandamos un msj
           {
               client_print(id, print_center, "HOLA SOY LA OPCION #1.")
           }
           case 1:        //en caso de que precione 2: le mandamos otro msj
           {
               client_print(id, print_center, "HOLA SOY LA OPCION #2.")
           }
           case 2:        //en caso de que precione 3: le mandamos otro msj
           {
               client_print(id, print_center, "HOLA SOY LA OPCION #3 MUAJAJAJA(?.")
           }
       }
       return PLUGIN_HANDLED;    // returnamos la funcion...
    } 

     

    Sistema Viejo

    #include <amxmodx>
    #include <amxmisc>
    
    new KEYSMENU = MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2;
    
    public plugin_init()
    {
       register_plugin("Menu con Len", "1.0", "[Anti]");
       register_clcmd( "say /menu", "cmdOtroMenu");
       register_menu("Menu", KEYSMENU, "HandMenu");
       //registramos el menu 'Menu', con las teclas KEYSMENU
       //y el handler que al que va a llamar 'HandMenu'
    }
    
    public cmdOtroMenu(id)
    {
       new menu[100], len;
       // 'menu' es donde se va a alojar el string del menu,
       // en este caso le damos 99 celdas para sus caracteres
    
       len = 0;
    
       len += formatex(menu[len], sizeof menu - 1 - len, "\r Menu:^n");
       len += formatex(menu[len], sizeof menu - 1 - len, "\y[1]\wOpcion #1^n");
       len += formatex(menu[len], sizeof menu - 1 - len, "\y[2]\wOpcion #2^n^n");
       len += formatex(menu[len], sizeof menu - 1 - len, "\r[0]\wSalir");
    
       show_menu(id, KEYSMENU, menu, -1, "Menu");
       //mostramos el menu al 'id' deseado, con las teclas ya definidas, el menu 'menu'
       //el timpo es lo que tarda el menu en cerrarse en este caso -1 que es infinito, como lo registre en el init 'Menu')
    }
    
    public HandMenu(id, keys, menu)        //los parametros deben ir en este orden
    {
       switch(keys)    //hacemos un swicheo de los posibles resultados:
       {
           case 0:    client_print(id, print_chat, "HOLA SOY LA OPCION #1");        //en caso de que precione 1: le mostramos el menu 'gMenu', en la pagina '0'
           case 1:    client_print(id, print_center, "HOLA SOY LA OPCION #2");    //en caso de que precione 2: le mandamos un msj
           case 9:    menu_destroy(menu)        //en caso de que precione 0: le destruimos el menu...
       }
    } 

     

    2 Menús 1 Handled

    #include <amxmodx>
    
    public plugin_init()
    {
       register_plugin( "2 Menus 1 Handled", "1.0", "[Anti]" );
       register_clcmd("say /menu", "cmdMenu");
    }
    
    public cmdMenu(id)
    {
       if ( get_user_team(id) == 1 )        //Si es del team TT.
           Menu_TT(id);                    //Mandamos al Menu TT.
       else if ( get_user_team(id) == 2 )    //Si es del team CT.
           Menu_CT(id);                    //Mandamos al Menu TT.
    }
    
    public Menu_TT(id)
    {
       new menu = menu_create("\rMenu TT:", "handMenu");
    
       menu_additem(menu, "Opcion 1#", "T");
       menu_additem(menu, "Opcion 2#", "T");
       menu_additem(menu, "Opcion 3#", "T");
    
       menu_display(id, menu, 0);            //Mostramos el menu
    }
    
    public Menu_CT(id)
    {
       new menu = menu_create("\rMenu CT:", "handMenu");
    
       menu_additem(menu, "Opcion 1#", "C");
       menu_additem(menu, "Opcion 2#", "C");
       menu_additem(menu, "Opcion 3#", "C");
    
       menu_display(id, menu, 0);            //Mostramos el menu
    }
    
    public handMenu(id, menu, item)
    {
       if ( item == MENU_EXIT )            //si el item seleccionado es igual a '0'(Exit[salir])
       {
           menu_destroy( menu );            //destruimos el menu.
           return PLUGIN_HANDLED;            //Returnamos la funcion.
       }
    
       new szData[2];
       new item_access, item_callback;
       menu_item_getinfo( menu, item, item_access, szData,charsmax( szData ), _, _, item_callback );
       //obtenemos informacion del menu y el item elegido.
    
       switch( szData[0] )        //Vemos la letra que hay en la primera celda de szData
       {
           case 'T':            //En este caso si es "T".
           {
               switch( item )    //Switch del Menu TT
               {
                   case 0:    {}// Opcion 1# TT's
                   case 1:    {}// Opcion 2# TT's
                   case 2:    {}// Opcion 3# TT's
               }
           }
           case 'C':            //En este caso si es "C".
           {
               switch( item )    //Switch del Menu CT
               {
                   case 0:    {}// Opcion 1# CT's
                   case 1:    {}// Opcion 2# CT's
                   case 2:    {}// Opcion 3# CT's
               }
           }
       }
       menu_destroy(menu);        //Destruimos el menu
       return PLUGIN_HANDLED;    //Returnamos el Handled
    } 

     

    Diferentes natives(solo para el sistema nuevo)

    //Establece propiedades en un menu. Propiedades:
    #define MPROP_PERPAGE        /* Numero de items en cada pagina (default 7)*/
    #define MPROP_BACKNAME        /* Nombre del boton "Back" */
    #define MPROP_NEXTNAME        /* Nombre del boton "Next" */
    #define MPROP_EXITNAME        /* Nombre del boton "Exit" */
    #define MPROP_TITLE            /* Establece el titulo de un menu */
    #define MPROP_EXIT            /* Establece la funcion del exit con MEXIT_NEVER(no aparece la opcion exit) y MEXIT_ALL(aparece la opcion exit[default]) */
    #define MPROP_NOCOLORS        /* Establece si los colores son automaticos */
    #define MPROP_NUMBER_COLOR    /* Establece el color de los numeros(default rojo) */
    
    menu_setprop(menu, prop, ...);
    
    
    //Cancela el menu de un player.
    menu_cancel(player);
    
    //Adiere una linea de texto al menu.
    menu_addtext(menu, const text[], slot=1);
    
    //Adiere un espacio en blanco al menu.
    menu_addblank(menu, slot=1);
    
    //Destruye el menu.
    menu_destroy(menu);
    
    //Establece un texto para un item.
    menu_item_setname(menu, item, const name[]);
    
    //Obtiene el indice de item del menu y la pagina indicada(devuelve menor a 0 si es un item especial como MENU_EXIT)
    menu_find_id(menu, page, key);
    
    //Muestra a una player un menu.
    menu_display(id, menu, page=0);
    
    //Obtiene la cantidad de items en un menu.
    menu_items(menu);
    
    //Obtiene la cantidad de paginas en un menu.
    menu_pages(menu); 


    [TUT] Hacer Niveles

    totopizza
    Por totopizza

    Nombre: Hacer Niveles

    Author: cLAANS

    Imágenes: No hay...

    Fuente: Tutorial - Hacer Niveles

     

    Resto del tutoriarl:

    #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 y cuando revive alguien
    
    #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 )
    #define SLOTS 14 // Los Slots maximos del servidor + 1; 
    
    new const VERSION[ ] =    "1.0" // Definimos la version del plugin
    
    new g_frags[ SLOTS ]; // Variable que va a almacenar nuestros frags 
    new g_level[ SLOTS ]; // 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" );
    
       RegisterHam( Ham_Killed, "player", "fw_player_killed" ); // Llamamos a Ham Killed para ver Cuando matamos a alguien 
       RegisterHam( Ham_Spawn, "player", "fw_player_spawn" ); // Llamamos a Ham Spawn para ver cuando revive un jugador
    }
    
    public client_putinserver( id ) 
       SetBit( g_conectado, id ); 
    // Seteamos en true una variable que usaremos despues para verificar si un usuario esta conectado y asi llamar una variable menos
    
    public client_disconnected( id )
    {
       ClearBit( g_conectado, id ); 
           ClearBit( g_vivo, id );
    }
    
    // La varibale que seteamos en true cuando se conecto el usuario la seteamos en false para evitar errores
    
    public fw_player_spawn( id )
       if( is_user_alive( id ) ) // Para evitar errores, si el usuario esta vivo
           SetBit( g_vivo, id )  // Seteamos en true nuestra variable 
    
    public fw_player_killed( victim, attacker )
    {
       if( !IsBit( g_conectado, victim ) || !IsBit( g_vivo, victim ) || 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_frags[ attacker ]++; // 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_frags[ attacker ] += 10;
    
       ClearBit( g_vivo, victim ); // Seteamos en false la variable "g_vivo" para evitar problemas
    
       chequear_nivel( attacker ); // Chequeamos si nuestros frags son los suficientes para pasar de nivel
    }
    
    public chequear_nivel( index )
    {
       if( g_frags[ index ] >= Siguiente_nivel( g_level[ index ] ) ) 
       // SI nuestros frags son mayores o iguales a los requeridos por nuestra macro
       {
           g_frags[ index ] = 0 // Seteamos los frags en 0 ( SI QUIEREN )
           g_level[ index ]++; // Aumentamos 1 nivel, o los que se les den la gana
       }
    } 

     

    Ahí está todo explicado...


    [TUT] Niveles por macro

    totopizza
    Por totopizza

    Nombre: Niveles por macro

    Author: Metrikcz

    Imágenes: No hay...

    Fuente: [TUT] Niveles por macro

     

    Resto del Tutorial:

     

    Bueno aquí les dejo un sistema de levels por macro

    Aclaro que este sistema sirve para cualquier MOD

     

    #include <amxmodx>
    #include <hamsandwich> // Lo usaremos para registrar el event cuando el jugador muere
    
    #define PLUGIN "Tutorial Levels" // Nombre de plugin
    #define VERSION "1.0" // Version
    #define AUTHOR "Metrikcz" // Author
    
    // Macro, en este definiremos la cantidad de experiencia que se ocupara para cada nivel, es una operacion
    // donde %1 es el level del usuario, Por ejemplo:
    // si es level 8 el resultado seria: 640 --- > 8 * 8 * 10 = 640
    // El macro ustedes lo pueden definir a como ustedes quieran la operacion, como la sientan mas comoda
    #define level_up(%1) (%1 * %1 * 10)
    
    // Variables donde almacenaremos el nivel y experiencia del jugador
    new g_level[33], g_exp[33]
    
    // Variable de la cvar
    new cvar_expkill, cvar_maxlevel
    new menu
    public plugin_init() 
    {
       // Registramos el plugin
       register_plugin(PLUGIN, VERSION, AUTHOR)
    
       // registramos el evento cuando alguien muere
       RegisterHam(Ham_Killed, "player", "fw_playerkilled_post", 1)
    
       // Registramos el comando para que el usuario vea su level y para que vea la exp de cada level
       register_clcmd("say /level", "clcmd_saylevel")
       register_clcmd("say /levels", "clcmd_saylevels")
    
       // registramos la cvar 
       cvar_expkill = register_cvar("exp_kill", "25")
       cvar_maxlevel = register_cvar("maxlevel", "100")
    
       // Creamos el menu, global porque nunca cambiara amenos que cambien el valor de la cvar de maxlevel
       create_menu()
    }
    create_menu()
    {
       // Creamos el menu, primer parametro nombre del menu, el segundo es el handler
       menu = menu_create("Tutorial Sistema de Levels | Experiencia para cada level", "handler_menu")
    
       //Creamos una variable en la cual guardaremos el valor de el level maximo
       new len[40], maxlevel = get_pcvar_num(cvar_maxlevel)
    
       // Lopeamos entre todos los posibles levels
       for(new i = 0; i < maxlevel; i++)
       {
           formatex(len, charsmax(len), "\wLevel: \y%d - \r%i", i+1, level_up(i))
           menu_additem(menu, len, "1") // tercer parametro no importa
       }
    }
    // Foward Cuando el usuario entra al servidor
    public client_putinserver(id)
    {
       // Reiniciamos los valores de level y experiencia
       g_level[id] = 1
       g_exp[id] = 0
    }
    public fw_playerkilled_post(victim, attacker)
    {
       // chequeamos si el atacante esta conectado, si no lo esta ignoramos la funcion
       if(!is_user_connected(attacker))
           return HAM_IGNORED;
    
       // chequeamos si la victima es igual al attacker, osea si el jugador se suicido
       if(victim == attacker)
           return HAM_IGNORED;
    
       // Llamamos a la funcion donde al atacante le daremos la experiencia de la cvar
       // get_pcvar_num(cvar_exp_kill) Obtiene el valor de la cvar para darle la exp de la cvar
       // Primer parametro define para quien va la experiencia y el segundo la cantidad
       set_exp(attacker, get_pcvar_num(cvar_expkill))
    
       // Le mandamos un mensaje disiendo que gano "X" experiencia por matar
       client_print(attacker, print_chat, "Ganas %d Experiencia por Matar", get_pcvar_num(cvar_expkill))
       return HAM_IGNORED;
    }
    set_exp(id, exp)
    {
       // Le damos al usuario la experiencia del segundo parametro "exp"
       g_exp[id] += clamp(exp, 0, level_up(get_pcvar_num(cvar_maxlevel)))
    
       //Llamamos a esta funcion para checar su ha subido de nivel
       update_level(id)
    }
    update_level(id)
    {
       // Checamos si su experiencia es mayor o igual a la necesaria para su siguiente nivel y si no es el level maximo, por ejemplo:
       // Digamos que es level 5, la experiencia necesaria para su siguiente level es 250 deacuerdo al macro (5*5*10=250)
       // si su exp es 253 muy bien se cumple la condicion y subira de level
       // level_up(g_level[id]) == level_up(5) porque suponiendo que g_level[id] es 5 asi seria
       while(g_exp[id] >= level_up(g_level[id]) && g_level[id] < get_pcvar_num(cvar_maxlevel))
       {
           // Aumentamos su level
           g_level[id]++
           /* g_level[id] += 1 || es lo mismo que lo de arriba */
    
           // Mandamos un mensaje disiendo que subio de level
           client_print(id, print_chat, "Felicidades has ascendido al level: %d", g_level[id])
       }
    }
    public clcmd_saylevel(id)
    {
       // Mandamos un mensaje mostrando su level y experiencia
       client_print(id, print_chat, "Su level: %d / %d| Experiencia: %d / %i", g_level[id], get_pcvar_num(cvar_maxlevel), g_exp[id], level_up(g_level[id]))
    
       // Mandamos un return plugin_handled para que no salga en el say cuando el wey escribe /level
       // Regularmente no deberia de salir pero a algunos servers se les bugea el say (zp) y si aparece
       return PLUGIN_HANDLED;
    }
    
    public clcmd_saylevels(id)
       menu_display(id, menu, 0)
    
    public handler_menu(id, menu, item)
    {
       // si no le pico al 0, osea para salir del menu, le mostraremos el menu de nuevo
       if(!(item == MENU_EXIT))
           clcmd_saylevels(id)
    } 

     

    say /level - Vemos el level del usuario y level maximo y tambien vemos su exp y experiencia necesaria para su siguiente level

    say /levels - Vemos la lista de levels y la experiencia que se necesita para cada uno!


    [N-PLUGIN] Mostrar Vida y Armor por hud

    totopizza
    Por totopizza

    Nombre del plugin: Show HUD Armor & Health

    Author: acetatomil

    Descripción: con este plugin podremos saber nuestra vida y armor mientras estamos vivos.

    Imágenes: No hay...

    Fuente: Show Armor & Health

    Código:

    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    
    #define PLUGIN "Show HUD Armor & Health"
    #define VERSION "1.0"
    #define AUTHOR "acetatomil"
    
    #define TASK_HUD 2100
    
    new SyncHUD
    
    public plugin_init() 
    {
       register_plugin(PLUGIN, VERSION, AUTHOR)
    
       SyncHUD = CreateHudSyncObj()
    }
    
    public client_putinserver(id)
    {
       set_task(1.0, "ShowHUD", id+TASK_HUD, _, _, "b")
    }
    
    public client_disconnect(id)
    {
       remove_task(id+TASK_HUD)
    }
    
    public ShowHUD(taskid)
    {
       new id = taskid-TASK_HUD
    
       if (!is_user_alive(id))
       {
           id = pev(id, pev_iuser2)
           if (!is_user_alive(id)) return;
       }
       set_hudmessage(0, 255, 0, 0.39, 0.8, 0, 6.0, 1.0)
       ShowSyncHudMsg(id, SyncHUD, "Heatlh: %d Armor: %d", get_user_health(id), get_user_armor(id))
    } 


    [N-PLUGIN] Mostras Matanzas y Muertes en HUD

    totopizza
    Por totopizza

    Nombre del plugin: Matanzas y Muertes por HUD

    Author: K.-'

    Descripción: Con este plugin sabremos simpre cuantos frags y muertes tenemos

    Imágenes:

    TTMZHtV.png

     

    Fuente: Show Frags y Muertes por hud

    Código:

    #include <amxmodx>
    #include <amxmisc>
    
    #define PLUGIN "Plugin peruano"
    #define VERSION "1.0"
    #define AUTHOR "K.-'"
    
    new g_conectado[33]
    new g_hud
    
    
    public plugin_init() {
       register_plugin(PLUGIN, VERSION, AUTHOR)
    
       g_hud = CreateHudSyncObj()
    }
    
    public client_putinserver(id) /* Cuando el cliente (PLAYER) entra al server : */   
    {    
       g_conectado[id] = 1 
       set_task(2.0,"hud_personal",id+100,_,_,"b"); // Hacemos un hud con "B" , signifca que se actualiza solo cada 2 seg 
    }
    
    public client_disconnect(id) /* Cuando el cliente se desconecta del server */   
    {   
       g_conectado[id] = 0 // Le Seteamos la variable g_conectado[33] en false o 0 , es lo mismo. 
    }
    
    public hud_personal(taskid) // El hud , registrado cuando el cliente entra al servidor 
    { 
       new id = taskid - 100; // Algun dia voy a saber explicar esto 
    
       if (!g_conectado[id])    return;
    
       set_hudmessage(85, 255, 212, 0.80, 0.12, 0, 6.0, 12.0)  // Las caracteristicas del Hud  
       ShowSyncHudMsg(id, g_hud, "Matanzas %d^nMuertes %d", get_user_frags(id), get_user_deaths(id)) 
    } 


Portal by DevFuse · Based on IP.Board Portal by IPS
×
×
  • Crear nuevo...

Información importante

Al utilizar nuestra web, aceptas nuestras Política de privacidad estás de acuerdo con las condiciones establecidas.