Menu para ver los fps de jugadores
#1
hola hace un tiempo vi en un servidor un menu que se le podian ver los fps que tenia el jugador y me llamo la atencion le pregunte al dueño y dijo que andaba rondando la verdad que llevo harto rato trantando de buscarlo y no lo encuentro así que si ustedes saben cual es me lo pudieran pasar porfavor, gracias.
Responder
#2
https://amxmodx-es.com/Thread-SpecInfo-F...2#pid29322

Ahí tenes
Responder
#3
(01/08/2019, 04:08 PM)Niper.-. escribió: https://amxmodx-es.com/Thread-SpecInfo-F...2#pid29322

Ahí tenes

A eso llamas obtener fps? ... ESTO es obtener fps:

Código PHP:
new Float:gF_ClientFPS[33]

register_forward FM_CmdStart"Fw_CmdStart")

public 
Fw_CmdStart ( const id, const uc_handle, const seed )
{
    static 
MSec
    MSec 
get_uc uc_handleUC_Msec )

    
gF_ClientFPS[id] = ( / ( MSec 0.001 ) )


Igual una verga el método, pero suele ser mucho más preciso ...
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Responder
#4
(01/08/2019, 04:51 PM)Cr3470r escribió:
(01/08/2019, 04:08 PM)Niper.-. escribió: https://amxmodx-es.com/Thread-SpecInfo-F...2#pid29322

Ahí tenes

A eso llamas obtener fps? ... ESTO es obtener fps:

Código PHP:
new Float:gF_ClientFPS[33]

register_forward FM_CmdStart"Fw_CmdStart")

public 
Fw_CmdStart ( const id, const uc_handle, const seed )
{
    static 
MSec
    MSec 
get_uc uc_handleUC_Msec )

    
gF_ClientFPS[id] = ( / ( MSec 0.001 ) )


Igual una verga el método, pero suele ser mucho más preciso ...

y eso como lo puedo implementar en un menu para que muestre los fps ?
Responder
#5
Proba así
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

new g_fps[33];
new 
g_maxplayers;

public 
plugin_init() {
    
register_plugin("ver""fps""xd");
    
    
register_clcmd("say /verfps""VerFps");
    
register_forward(FM_CmdStart"fw_CmdStart");
    
    
g_maxplayers get_maxplayers();
}

public 
client_putinserver(id)
    
g_fps[id] = EOS;

public 
fw_CmdStart(iduc_handle)
{
    static 
fps;
    
fps floatround(/ (get_uc(uc_handleUC_Msec) * 0.001));
    
g_fps[id] = fps;

}

public 
VerFps(id) {
    new 
menu menu_create("Ver FPS Jugadores: ""HandlerVerFps");
    
    for(new 
id2 1id2 <= g_maxplayersid2++) {
        if(
is_user_connected(id2)) {
            new 
Opcion[100];
            new 
Name[32]; get_user_name(id2Namecharsmax(Name)),
            new 
szId[3];
            
num_to_str(id2szId2);
            
formatex(Opcioncharsmax(Id2), "%s \y(%d FPS)"Nameg_fps[id2]);
            
menu_additem(menuOpcionszId0);
        }
    }
    
    
menu_display(idmenu0);
}

public 
HandlerVerFps(idmenuitem)
    
menu_destroy(menu); 
Responder
#6
No compila :

Cita:Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team

C:\Users\Lenovo\Desktop\menu.sma(34 -- 35) : error 029: invalid expression, assumed zero
C:\Users\Lenovo\Desktop\menu.sma(35) : error 017: undefined symbol "szId"
C:\Users\Lenovo\Desktop\menu.sma(35) : warning 215: expression has no effect
C:\Users\Lenovo\Desktop\menu.sma(35) : error 001: expected token: ";", but found "]"
C:\Users\Lenovo\Desktop\menu.sma(35) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.
Could not locate output file C:\Users\Mati\Desktop//menu.amx (compile failed).
[Finished in 0.5s]
Responder
#7
(02/08/2019, 10:57 PM)+rdNN! escribió: No compila :

Cita:Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team

C:\Users\Lenovo\Desktop\menu.sma(34 -- 35) : error 029: invalid expression, assumed zero
C:\Users\Lenovo\Desktop\menu.sma(35) : error 017: undefined symbol "szId"
C:\Users\Lenovo\Desktop\menu.sma(35) : warning 215: expression has no effect
C:\Users\Lenovo\Desktop\menu.sma(35) : error 001: expected token: ";", but found "]"
C:\Users\Lenovo\Desktop\menu.sma(35) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.
Could not locate output file C:\Users\Mati\Desktop//menu.amx (compile failed).
[Finished in 0.5s]

Código PHP:
new Name[32]; get_user_name(id2Namecharsmax(Name)),
->
new Name[32]; get_user_name(id2Namecharsmax(Name)) 

Responder
#8
Proba ahí:
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

new g_fps[33];
new 
g_maxplayers;

public 
plugin_init() {
    
register_plugin("ver""fps""xd");
    
    
register_clcmd("say /verfps""VerFps");
    
register_forward(FM_CmdStart"fw_CmdStart");
    
    
g_maxplayers get_maxplayers();
}

public 
client_putinserver(id)
    
g_fps[id] = EOS;

public 
fw_CmdStart(iduc_handle)
{
    static 
fps;
    
fps floatround(/ (get_uc(uc_handleUC_Msec) * 0.001));
    
g_fps[id] = fps;

}

public 
VerFps(id) {
    new 
menu menu_create("Ver FPS Jugadores: ""HandlerVerFps");
    
    for(new 
id2 1id2 <= g_maxplayersid2++) {
        if(
is_user_connected(id2)) {
            new 
Opcion[100];
            new 
Name[32]; get_user_name(id2Namecharsmax(Name));
            new 
szId[3];
            
num_to_str(id2szId2);
            
formatex(Opcioncharsmax(Opcion), "%s \y(%d FPS)"Nameg_fps[id2]);
            
menu_additem(menuOpcionszId0);
        }
    }
    
    
menu_display(idmenu0);
}

public 
HandlerVerFps(idmenuitem)
    
menu_destroy(menu); 
Responder
#9
Muchas gracias Gran sonrisa, ahora solo falta que el menu haga un actualizacion de fps cada 5 segundos para tener los fps exactos pero eso lo haré yo por mi parte.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)