Raised This Month: $ Target: $400
 0% 

[DUDA] HLTV Record - PUG SERVER


  
 
 
Thread Tools Display Modes
Author Message
yenfer
BANNED
Join Date: Apr 2010
Old 07-31-2013 , 02:26   [DUDA] HLTV Record - PUG SERVER
#1

Hola amigos del Foro, pues encontré un HLTV para mi servidor PUG, pero en realidad no se si funciona quiero asegurarme antes de montarlo, creo que este HLTV si no recuerdo mal, lo saque de un Post que comento mi amigo kwpd y pues quiero asegurarme que sirva.

Aquí les dejare el Código y déjenme sus opiniones, y si no cuesta mucho dejarme las instrucciones, por que soy nuevo en esto apenas llevo 2 Meses metiéndome en esto del Pawn, y voy aprendiendo poco a poco mas bien se jejjeje, espero sus respuestas.

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <sockets>

#pragma semicolon 1

new g_HLTV[] = "[HLTV]";

new 
g_Address;
new 
p_Host,p_Port,p_Pass;

public 
plugin_init()
{
    
register_plugin("HLTV (Beta)",AMXX_VERSION_STR,"AMXX Dev Team");
    
    
g_Address     get_cvar_pointer("net_address");
    
    
p_Host         register_cvar("hltv_host","XXX.XXX.XXX.XXX",FCVAR_PROTECTED);
    
p_Port         register_cvar("hltv_port","XXXXX",FCVAR_PROTECTED);
    
p_Pass         register_cvar("hltv_pass","XXXXX",FCVAR_PROTECTED);
    
    
register_concmd("hltv_rcon","HLTV_Rcon",ADMIN_RCON,"<Command>");
    
register_concmd("hltv_record","HLTV_Record",ADMIN_RCON,"<File>");
    
register_concmd("hltv_stop","HLTV_Stop",ADMIN_RCON,"- Removes the HLTV from server");
}

public 
HLTV_Rcon(id,level,cid)
{
    if(!
cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    new 
szHost[32],szPass[32];
    
get_pcvar_string(p_Host,szHost,charsmax(szHost));
    
get_pcvar_string(p_Pass,szPass,charsmax(szPass));
    
    new 
szCommand[128];
    
read_args(szCommand,charsmax(szCommand));
    
remove_quotes(szCommand);
    
    
Rcon_Command(szHost,get_pcvar_num(p_Port),szPass,szCommand);
    
    return 
PLUGIN_HANDLED;
}

public 
HLTV_Record(id,level,cid)
{
    if(!
cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    new 
szHost[32],szPass[32];
    
get_pcvar_string(p_Host,szHost,charsmax(szHost));
    
get_pcvar_string(p_Pass,szPass,charsmax(szPass));
    
    new 
szFile[32];
    
read_args(szFile,charsmax(szFile));
    
remove_quotes(szFile);
    
    new 
szAddress[32];
    
get_pcvar_string(g_Address,szAddress,charsmax(szAddress));

    new 
szCommand[128];
    
formatex(szCommand,charsmax(szCommand),"connect %s;record %s;autoretry 1",szAddress,szFile);
    
    
Rcon_Command(szHost,get_pcvar_num(p_Port),szPass,szCommand);
    
    
console_print(id,"%s Trying to connect in ^"%s^" (And recording in the file ^"%s^")",g_HLTV,szAddress,szFile);
    
    return 
PLUGIN_HANDLED;
}

public 
HLTV_Stop(id,level,cid)
{
    if(!
cmd_access(id,level,cid,1)) return PLUGIN_HANDLED;
    
    new 
szHost[32],szPass[32];
    
get_pcvar_string(p_Host,szHost,charsmax(szHost));
    
get_pcvar_string(p_Pass,szPass,charsmax(szPass));
    
    
Rcon_Command(szHost,get_pcvar_num(p_Port),szPass,"stop;disconnect;autoretry 0");
    
    
console_print(id,"%s O HLTV Disconnected!",g_HLTV);

    return 
PLUGIN_HANDLED;
}

stock Rcon_Command(const szHost[],iPort,const szPass[],const szCommand[])
{
    new 
iError;
    new 
iSocket socket_open(szHost,iPort,SOCKET_UDP,iError);
    
    switch(
iError)
    {
        case 
1:
        {
            
socket_close(iSocket);
            
server_print("* Error on creating the socket.");
            
            return 
PLUGIN_HANDLED;
        }
        case 
2:
        {
            
socket_close(iSocket);
            
server_print("* Error on resolve the given hostname.");
            
            return 
PLUGIN_HANDLED;
        }
        case 
3:
        {
            
socket_close(iSocket);
            
server_print("* Error on connecting.");

            return 
PLUGIN_HANDLED;
        }
    }
    
    new 
iSend[256],szCmd[256],szRcon[32],szNone[64];
    
    
formatex(iSend,sizeof(iSend),"%c%c%c%cchallenge rcon",255,255,255,255);
    
socket_send2(iSocket,iSend,charsmax(iSend));
    
    if(!
socket_change(iSocket,2000000)) // If socket not change in 2 seconds, then stop it
    
{
        
socket_close(iSocket);
        
server_print("* No response from %s:%d",szHost,iPort);

        return 
PLUGIN_HANDLED;
    }
    
socket_recv(iSocket,szCmd,charsmax(szCmd));
    
parse(szCmd,szNone,charsmax(szNone),szNone,charsmax(szNone),szRcon,charsmax(szRcon));
    
    
formatex(szCmd,sizeof(szCmd),"%c%c%c%crcon %s ^"%s^" %s",255,255,255,255,szRcon,szPass,szCommand);
    
socket_send2(iSocket,szCmd,charsmax(szCmd));
    
    if(
socket_change(iSocket))
    {
        new 
szBuffer[2048];
        
socket_recv(iSocket,szBuffer,charsmax(szBuffer));

        
server_print(szBuffer);
    }
    
socket_close(iSocket);

    return 
PLUGIN_HANDLED;

yenfer is offline
Old 07-31-2013, 10:25
yenfer
This message has been deleted by lucas_7_94. Reason: No bumpees si no pasaron 2 semanas.
Old 07-31-2013, 11:02
martin140699
This message has been deleted by lucas_7_94. Reason: No bumpees si no pasaron 2 semanas.
Old 07-31-2013, 11:04
yenfer
This message has been deleted by lucas_7_94. Reason: No bumpees si no pasaron 2 semanas.
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:31.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode