¿Cómo obtengo la ip de un jugador?
#1
¿Cómo obtengo la ip de un jugador en un modulo plugin metamod...?

Corte, en get_user_ip lo que hace es obtener la variables

g_players[index].ip.chars();

pero nunca veo donde la setea, es más busque y no la encontré...

¿Alguna idea de como obtener en mi modulo la ip que no sea ClientConnect?, tipo en cualquier lugar obtenerla?.
Responder
#2

Justamente la IP es asignada cuando se conecta el jugador (según en POST).

FUENTE:
meta_api.cpp:
Código PHP:
BOOL C_ClientConnect_Post(edict_t *pEntity, const char *pszName, const char *pszAddresschar szRejectReason[128])
{
    
CPlayerpPlayer GET_PLAYER_POINTER(pEntity);
    if (!
pPlayer->IsBot())
    {
        
bool a pPlayer->Connect(pszNamepszAddress);
        
executeForwards(FF_ClientConnectstatic_cast<cell>(pPlayer->index));

        
////


CMisc.cpp:
Código PHP:
bool CPlayer::Connect(const charconnectname, const charipaddress)
{
    
name.assign(connectname);
    
ip.assign(ipaddress);

        
////


CString.cpp (desconozco cual de los dos es el usado):
Código PHP:
void assign(const String &src)
{
    
assign(src.c_str());
}

void assign(const char *d)
{
    if (!
d)
    {
        
clear();
    } 
    else 
    {
        
size_t len strlen(d);
        
Grow(len 1false);
        
memcpy(vdlen);
        
v[len] = '\0';
    }


Supongo que debes obtenerla allí ya que es cuando se pasa la IP del jugador que se conecto en ese momento.
Responder
#3
(01/10/2017, 05:45 PM)Chamo. escribió:
Justamente la IP es asignada cuando se conecta el jugador (según en POST).

FUENTE:
meta_api.cpp:
Código PHP:
BOOL C_ClientConnect_Post(edict_t *pEntity, const char *pszName, const char *pszAddresschar szRejectReason[128])
{
    
CPlayerpPlayer GET_PLAYER_POINTER(pEntity);
    if (!
pPlayer->IsBot())
    {
        
bool a pPlayer->Connect(pszNamepszAddress);
        
executeForwards(FF_ClientConnectstatic_cast<cell>(pPlayer->index));

        
////


CMisc.cpp:
Código PHP:
bool CPlayer::Connect(const charconnectname, const charipaddress)
{
    
name.assign(connectname);
    
ip.assign(ipaddress);

        
////


Supongo que debes obtenerla allí ya que es cuando se pasa la IP del jugador que se conecto en ese momento.

Qué parte de "que no sea en clientconnect" no quedo claro?. XD

obviamente yo ya lo sabia pero el tema es que ciertas personas no les agarra en esa parte ejem ejem ia tu sabe (?.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)