[TUT] Sistema De Información Del Player Al Apuntar
#1
Gran sonrisa 
Hola a todos mi nombre es GrimmZ04, este es mi segundo tutorial y espero que lo entiendan, ademas de que es muy sencillo, si hay algun error en lo que explique me avisan para arreglarlo, el plugin esta testeado y no tienen ningun error pero si ustedes consideran algo mal me lo dicen.

Bueno explicare un poco el plugin, consiste en que si yo apunto a alguien de mi equipo vere su nombre y su vida en el centro de la pantalla con el respectivo color de su equipo, y si apunto a el jugador del equipo contrario solo vere su nombre con el color de su equipo correspondiente en el HUD.
Ejemplo: Si yo soy del equipo Terrorista y apunto a un Anti-Terrorista, vere solo su nombre y en color Azul en el HUD.

PD: El plugin es adaptable a cualquier modo.

Versión 2.0
Código PHP:
#include <amxmodx>// Registramos el include Amxmodx por que es fundamental para cada plugin.

new InfoPlayerInfoAmigoTeam[33// Registramos estas variables para utilizarlas a continuación.

public plugin_init()  { // Registramos contendidos del plugin.
    
register_plugin("Sistema De Información Del Player Al Apuntar""2.0"":: GrimmZ04 ::"// Registramos el plugin.
    
InfoPlayer CreateHudSyncObj() // Registramos la función del HUD.
    
register_event("StatusValue""MostrarInfoTeam""be""1=1"// Registramos la función para verificar la información del equipo.
    
register_event("StatusValue""MostrarInfoPlayer""be""1=2""2!0"// Registramos la función que muestre la información del Jugador al apuntarlo.
    
register_event("StatusValue""OcultarInfoPlayer""be""1=1""2=0"// Registramos la función que quite el HUD al dejar de apuntar al Jugador.
}
public 
MostrarInfoTeam(id) { // Registramos la función de la información del equipo.
    
InfoAmigoTeam[id] = read_data(2// Registramos la información del Jugador de equipo apuntado.
}
public 
MostrarInfoPlayer(id) { // Registramos la función para mostrar la información de un Jugador.
    
if(is_user_alive(id)) { // Verificamos que este Vivo.
        
new name[33], target read_data(2// Agregamos esta variables para utilizarlas a continuación.
        
get_user_name(targetnamecharsmax(name)) // Registramos el Nombre del Jugador.
        
if (InfoAmigoTeam[id] == 1) { // Si es del mismo equipo le mostrara el nombre y la Vida del Jugador apuntado.
            
if (get_user_team(target) == 1set_hudmessage(25500, -1.00.5506.012.0// Si es Terrorista el HUD sera de color rojo.
            
else set_hudmessage(00255, -1.00.5506.012.0// Si no es Terrorista El HUD Sera De Color Azul.
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target)) // Registramos lo que dira el HUD.
    
}
        else { 
// Si no es del mismo Equipo le mostrara solamente el Nombre del Jugador apuntado.
            
if (get_user_team(target) == 1set_hudmessage(25500, -1.00.5506.012.0// Si es Terrorista el HUD sera de color rojo.
            
else set_hudmessage(00255, -1.00.5506.012.0// Si no es Terrorista El HUD Sera De Color Azul.
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name// Registramos lo que dira el HUD.
    
}
            }
}
public 
OcultarInfoPlayer(id) { // Registramos Para Cuando Deje De Apuntar Al Jugador.
    
ClearSyncHud(idInfoPlayer// Le Quitamos El HUD.


Versión 1.0
Código PHP:
#include <amxmodx>// Registramos el include Amxmodx por que es fundamental para cada plugin.
#include <cstrike> // Registramos para usar unas funciones a continuación.

new InfoPlayerInfoAmigoTeam[33// Registramos estas variables para utilizarlas a continuación.

public plugin_init()  { // Registramos contendidos del plugin.
    
register_plugin("Sistema De Información Del Player Al Apuntar""2.0"":: GrimmZ04 ::"// Registramos el plugin.
    
InfoPlayer CreateHudSyncObj() // Registramos la función del HUD.
    
register_event("StatusValue""MostrarInfoTeam""be""1=1"// Registramos la función para verificar la información del equipo.
    
register_event("StatusValue""MostrarInfoPlayer""be""1=2""2!0"// Registramos la función que muestre la información del Jugador al apuntarlo.
    
register_event("StatusValue""OcultarInfoPlayer""be""1=1""2=0"// Registramos la función que quite el HUD al dejar de apuntar al Jugador.
}
public 
MostrarInfoTeam(id) { // Registramos la función de la información del equipo.
    
InfoAmigoTeam[id] = read_data(2// Registramos la información del Jugador de equipo apuntado.
}
public 
MostrarInfoPlayer(id) { // Registramos la función para mostrar la información de un Jugador.
    
if(is_user_alive(id)) { // Verificamos que este Vivo.
        
new name[33], target read_data(2// Agregamos esta variables para utilizarlas a continuación.
        
get_user_name(targetnamecharsmax(name)) // Registramos el nombre.
        
if (InfoAmigoTeam[id] == 1) { // Si es del mismo equipo le mostrara el nombre y la Vida del Jugador apuntado.
        
switch(cs_get_user_team(target)) {
            case 
CS_TEAM_T: { // Si es Terrorista el HUD sera de color rojo.
                
set_hudmessage(25500, -1.00.5506.012.0// Agregamos el color del HUD y la posición.
                
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target)) // Agregamos lo que dira el HUD.
            
}
            case 
CS_TEAM_CT: { // Si Es Anti-Terrorista El HUD Sera De Color Azul.
                
set_hudmessage(00255, -1.00.5506.012.0// Agregamos el color del HUD y la posición.
                
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target)) // Agregamos lo que dira el HUD.
            
}
        }
    }
        if (
InfoAmigoTeam[id] != 1) { // Si no es del mismo equipo le mostrara el nombre del Jugador apuntado.
        
switch(cs_get_user_team(target)) {
            case 
CS_TEAM_T: { // Si es Terrorista el HUD sera de color Rojo.
                
set_hudmessage(25500, -1.00.5506.012.0// Agregamos el color del HUD y la posición.
                
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name// Agregamos lo que dira el HUD.
            
}
            case 
CS_TEAM_CT: { // Si es Anti-Terrorista el HUD sera de color Azul.
                
set_hudmessage(00255, -1.00.5506.012.0// Agregamos el color del HUD y la posición.
                
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name// Agregamos lo que dira el HUD.
            
}
        }
    }
            }
}
public 
OcultarInfoPlayer(id) { // Registramos Para Cuando Deje De Apuntar Al Jugador.
    
ClearSyncHud(idInfoPlayer// Le Quitamos El HUD.


=================================================================
Archivo Adjunto - Codigo Versión 2.0 Por GrimmZ04


Archivos adjuntos
.sma   Descargar AMXX / InfoPlayer.sma (Tamaño: 1.36 KB / Descargas: 199)
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#2
-Podrías no usar mayúsculas en todas las palabras
-Podrías darle otra definición a tus comentarios
EJ:

Código PHP:
new InfoPlayerInfoAmigoTeam[33// Registramos Estas Variables Para Utilizarlas A Continuación.

//podrías decir "creamos estas variables..


Comandos(id// Activamos La Función "Comandos"

//podrías decir "llamamos a la función...
//etc 

-Acá haces slowhack

Código PHP:
client_cmd(id"hud_centerid ^"0^""

Lo vi rápido y es lo primero que destaco.
Es una critica constructiva no lo tomes a mal.
Responder
#3
La intencion es lo que cuenta pero el tutorial no es del todo "el mejor" me explico x.x

Deberias poner la fuente de donde sacaste ese tuto porque se nota que es cyp
No deberias abrir tantos verificadores con esto te ahorras todo el revoltijo que isiste :d

Código PHP:
public MostrarInfoPlayer(id) { // Funcion
{
        if!
is_user_alive(id))
                return;

        new 
target read_data(2// obtenemos los datos de quien apuntamos
        
new name[32]; get_user_name(targetnamecharsmax(name)) // obtenemos el nombre de quien apuntamos

        
if(cs_get_user_team(id) == CS_TEAM_CT// si apunto como ct
        
{
                
// mostramos hud
        
}
        else 
// si apunto como tt
        
{
                
// mostramos hud
        
}


Y varias cosas mas pero estoy en el cel
[Imagen: 76561198068808877.png]
Responder
#4
(23/11/2014, 03:22 AM)zoolk escribió: La intencion es lo que cuenta pero el tutorial no es del todo "el mejor" me explico x.x

Deberias poner la fuente de donde sacaste ese tuto porque se nota que es cyp
No deberias abrir tantos verificadores con esto te ahorras todo el revoltijo que isiste :d

Código PHP:
public MostrarInfoPlayer(id) { // Funcion
{
        if!
is_user_alive(id))
                return;

        new 
target read_data(2// obtenemos los datos de quien apuntamos
        
new name[32]; get_user_name(targetnamecharsmax(name)) // obtenemos el nombre de quien apuntamos

        
if(cs_get_user_team(id) == CS_TEAM_CT// si apunto como ct
        
{
                
// mostramos hud
        
}
        else 
// si apunto como tt
        
{
                
// mostramos hud
        
}


Y varias cosas mas pero estoy en el cel

Eso lo explique al comienzo de la publicación, lo que esta en el codigo lo escribo para los que programan sepan solo la funcion que cumple.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#5
Código PHP:
new team cs_get_user_team(id)
switch(
team)
{
    case 
CS_TEAM_T :
    {
        
set_hudmessage(25500, -1.00.5506.012.0)
        if(
InfoAmigoTeam[id] == 1)
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target))
        else
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name)
    }
    case 
CS_TEAM_CT :
    {
        
set_hudmessage(00255, -1.00.5506.012.0)
        if(
InfoAmigoTeam[id] == 1)
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target))
        else
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name)
    }

Responder
#6
(23/11/2014, 01:18 PM)matrix123 escribió:
Código PHP:
new team cs_get_user_team(id)
switch(
team)
{
    case 
CS_TEAM_T :
    {
        
set_hudmessage(25500, -1.00.5506.012.0)
        if(
InfoAmigoTeam[id] == 1)
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target))
        else
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name)
    }
    case 
CS_TEAM_CT :
    {
        
set_hudmessage(00255, -1.00.5506.012.0)
        if(
InfoAmigoTeam[id] == 1)
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target))
        else
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name)
    }


De las dos forma es correcto, uno ve como lo utiliza nomas si te gusta así usalo pues si no has lo a tu manera.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#7
(23/11/2014, 02:00 PM)GrimmZ04 escribió:
(23/11/2014, 01:18 PM)matrix123 escribió:
Código PHP:
new team cs_get_user_team(id)
switch(
team)
{
    case 
CS_TEAM_T :
    {
        
set_hudmessage(25500, -1.00.5506.012.0)
        if(
InfoAmigoTeam[id] == 1)
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target))
        else
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name)
    }
    case 
CS_TEAM_CT :
    {
        
set_hudmessage(00255, -1.00.5506.012.0)
        if(
InfoAmigoTeam[id] == 1)
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]"nameget_user_health(target))
        else
            
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s]"name)
    }


De las dos forma es correcto, uno ve como lo utiliza nomas si te gusta así usalo pues si no has lo a tu manera.

De mi forma te ahorras hacer verificaciones al pedo y ademas 2 case cuando podes hacer 1... y se puede seguir optimizando...
Responder
#8
Una cosa por que llamas 2 veces al
Código:
cs_get_user_team

Haciendo el
Código:
switch(cs_get_user_team(id))
es lo mismo y sin llamar la native 2 veces.
[Imagen: 76561198066347799.png]
Responder
#9
(23/11/2014, 12:54 PM)GrimmZ04 escribió:
(23/11/2014, 03:22 AM)zoolk escribió: La intencion es lo que cuenta pero el tutorial no es del todo "el mejor" me explico x.x

Deberias poner la fuente de donde sacaste ese tuto porque se nota que es cyp
No deberias abrir tantos verificadores con esto te ahorras todo el revoltijo que isiste :d

Código PHP:
public MostrarInfoPlayer(id) { // Funcion
{
        if!
is_user_alive(id))
                return;

        new 
target read_data(2// obtenemos los datos de quien apuntamos
        
new name[32]; get_user_name(targetnamecharsmax(name)) // obtenemos el nombre de quien apuntamos

        
if(cs_get_user_team(id) == CS_TEAM_CT// si apunto como ct
        
{
                
// mostramos hud
        
}
        else 
// si apunto como tt
        
{
                
// mostramos hud
        
}


Y varias cosas mas pero estoy en el cel

Eso lo explique al comienzo de la publicación, lo que esta en el codigo lo escribo para los que programan sepan solo la funcion que cumple.

Entonces de que serviría tu tutorial si lo haces para solo los que sabemos que función cumple, de que me sirve saber algo que ya se?
Porque eso me acabas de decir.
[Imagen: 76561198068808877.png]
Responder
#10
PONE ESPACIOS LA CONCHA DE TU HERMANA

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
#11
Quiero agregarle que sea vean los level y El ranking como hago? gracias
[Imagen: 76561198086476173.png]
Responder
#12
(23/11/2014, 08:54 PM)joluis81 escribió: Quiero agregarle que sea vean los level y El ranking como hago? gracias

ShowSyncHudMsg(id, InfoPlayer, "[Nombre: %s] [Vida: %d]", name, get_user_health(target))

--->
Código PHP:
ShowSyncHudMsg(idInfoPlayer"[Nombre: %s] [Vida: %d]^n[Level: %d] [Rank: %d]"nameget_user_health(target), g_level[target/* tu variable de level, imaginemos que es g_level[] *//* habia una forma de captar el ranking, no recuerdo asi que solo dejo el espacio para quien lo recuerde */
Responder
#13
Ah ahora si, me diste la idea de como hacerlo! Tenia dudas!

PD: Se como sacar el ranking de todas formas gracias!
[Imagen: 76561198086476173.png]
Responder
#14
(23/11/2014, 06:05 PM)cLAANS escribió: PONE ESPACIOS LA CONCHA DE TU HERMANA

Saludos,
cLAANS.-

A Que Te Refieres?
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#15
(24/11/2014, 01:55 AM)GrimmZ04 escribió:
(23/11/2014, 06:05 PM)cLAANS escribió: PONE ESPACIOS LA CONCHA DE TU HERMANA

Saludos,
cLAANS.-

A Que Te Refieres?

Me parece y solo me parece, digo... bah creo yo, que dijo que pongas espacios...
Responder
#16
(23/11/2014, 06:05 PM)cLAANS escribió: PONE ESPACIOS LA CONCHA DE TU HERMANA

Saludos,
cLAANS.-
Jajajajajajajajajajajaajaajjajaajaajaajajajajajajajajajaajajajajajajajajajajajajajajaja
Por fin leo un comentario que muchos piensan pero no dicen GeniusGeniusGenius

Dentro de todo... Es muy simple esto.. Hay mejores formas y más lindas, esto es como un "último recurso" si es que una forma no te sale. No te quiero tirar abajo pero no me convence y se ha visto en muchos lados esto.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#17
(24/11/2014, 05:36 PM)CSAxel escribió:
(23/11/2014, 06:05 PM)cLAANS escribió: PONE ESPACIOS LA CONCHA DE TU HERMANA

Saludos,
cLAANS.-
Jajajajajajajajajajajaajaajjajaajaajaajajajajajajajajajaajajajajajajajajajajajajajajaja
Por fin leo un comentario que muchos piensan pero no dicen GeniusGeniusGenius

Dentro de todo... Es muy simple esto.. Hay mejores formas y más lindas, esto es como un "último recurso" si es que una forma no te sale. No te quiero tirar abajo pero no me convence y se ha visto en muchos lados esto.

e estado programando en c y no he tenido tiempo para simplificar el plugin este.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#18
¿No se puede que se quite asta que dejes de apuntar al otro player? es que cuando lo estas apuntando te muestra la info pero a los segundos se quita pacman
Music Lover: Rock 80%, Rap 10%, Clásicos 5%, Reggae 5% Fuck yeah
Responder
#19
(30/11/2014, 09:01 PM)EL-CHEKE-(ZP) escribió: ¿No se puede que se quite asta que dejes de apuntar al otro player? es que cuando lo estas apuntando te muestra la info pero a los segundos se quita pacman

que funciona correctamente, tal vez a ti te anda un poco lagueado, altiro subo la actualización del plugin.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#20
Si lo apuntas te muestra la info pero por un momento y aunque no hayas quitado la mira del otro jugador simplemente se quita y para volver a ver la info vuelves a apuntar al jugador y así sucesivamente...
Pero lo que digo es eso que si se puede que la info, Mientras sigas apuntando al otro player este ahí permanente (No solo por unos segundos), ya cuando no lo mires si que se quite Whatever
Music Lover: Rock 80%, Rap 10%, Clásicos 5%, Reggae 5% Fuck yeah
Responder
#21
(01/12/2014, 02:22 PM)EL-CHEKE-(ZP) escribió: Si lo apuntas te muestra la info pero por un momento y aunque no hayas quitado la mira del otro jugador simplemente se quita y para volver a ver la info vuelves a apuntar al jugador y así sucesivamente...
Pero lo que digo es eso que si se puede que la info, Mientras sigas apuntando al otro player este ahí permanente (No solo por unos segundos), ya cuando no lo mires si que se quite Whatever

Pues Checkea Nuevamente Las Funciones Y Registra Un otro HUD

Bueno y refiriendome a lo de los "Espacios" eso afecta en nada al plugin, si ustedes hacen plugins de otra manera pues adaptenlo y simple, no hay por que descalificar.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#22
Servido en bandeja listo para el C&P, no tengo otra cosa que decir.
NUEVO ZOMBIE PLAGUE + LVLS!! UNETE A LA COMUNIDAD
[Imagen: b_350_20_ffad41_e98100_000000_591f11.png]


Responder
#23
Gracias
Responder
#24
Como haría para que el plugin muestre el arma que usa el enemigo al apuntarlo?
»» RENTA TU SERVIDOR EN EVOLUTIÓN-HOST ««

Si deseas contactarme para comprar tu servidor de counter-strike puedes enviar un M.P
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)