Guardar frag y muerte solo por mapa
#1
Hola todos, como estas?... Estuve buscando un tema con respecto a guardar frag y la muerte solo por mapa, que al desconectarse se guarde esos datos, pero solo en ese mismo mapa.Es posible usando Tries, pero no lo encuentro, si alguien me pasa ese codigo o el tema por favor, se lo agradecería muchísimo, gracias
Responder
#2
Código PHP:
#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN "Save Frags & Deaths"
#define VERSION "0.1"

new Trie:g_tFragsTrie:g_tDeaths;
new 
g_Disconnected[33];

public 
plugin_init()
{
    
register_plugin(PLUGINVERSION"Mia2904");
    
    
g_tFrags TrieCreate();
    
g_tDeaths TrieCreate();
    
    
register_message(get_user_msgid("ScoreInfo"), "message_ScoreInfo");
}

public 
client_putinserver(iId)
{
    new 
szAuth[35];
    
get_user_authid(iIdszAuthcharsmax(szAuth));
    
    
// szAuth desde posicion 6 para no guardar la parte STEAM_
    
if (TrieKeyExists(g_tFragsszAuth[6]))
    {
        new 
iFragsiDeaths;
        
TrieGetCell(g_tFragsszAuth[6], iFrags);
        
TrieGetCell(g_tDeathsszAuth[6], iDeaths);
        
        
set_user_frags(iIdiFrags);
        
cs_set_user_deaths(iIdiDeaths);
    }
    
    
g_Disconnected[iId] = 0;
}

public 
client_disconnected(id)
{
    
g_Disconnected[id] = 1;
}

public 
message_ScoreInfo(iMsgIdiMsgDestiMsgEnt)
{
    new 
iIdiFragsiDeaths;
    
iId get_msg_arg_int(1);
    
    if(
g_Disconnected[iId])
        return;
    
    
iFrags get_msg_arg_int(2);
    
iDeaths get_msg_arg_int(3);
    
    new 
szAuth[35];
    
get_user_authid(iIdszAuthcharsmax(szAuth));
    
    
TrieSetCell(g_tFragsszAuth[6], iFrags);
    
TrieSetCell(g_tDeathsszAuth[6], iDeaths);


Créditos a @r0ma' Proud
Responder
#3
Muchas gracias, lo voy a probar

Una consultita, viendo los tutoriales, hace falta distruirlo al termina el mapa?
Responder
#4
(23/08/2021, 01:28 AM)Spirit escribió: Muchas gracias,  lo voy a probar

Una consultita, viendo los tutoriales, hace falta distruirlo al termina el mapa?

En versiones muy antiguas de AMXX sí era necesario, ya no lo es desde hace mucho.
Responder
#5
Bueno Mia, y en el caso que en ves de steamId, que sea por name, tendria que reemplazar szAuth?,

Código PHP:
get_user_authid(iIdszAuthcharsmax(szAuth)); 

por

Código PHP:
get_user_name(iIdszAuthcharsmax(szAuth)); 

y en la consulta quedaria:
Código PHP:
if (TrieKeyExists(g_tFragsszAuth)) 

verdad?

Me gustaria que fuese por name por favor
Responder
#6
https://amxmodx-es.com/showthread.php?tid=32

si pero fijate que hay 2 get_user_authid
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)