AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Fix the HLTV Plugin (https://forums.alliedmods.net/showthread.php?t=210590)

^SmileY 03-12-2013 10:54

Fix the HLTV Plugin
 
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <sockets>

new p_Address;
new 
p_Password;

public 
plugin_init()
{
    
register_plugin("HLTV Rcon",AMXX_VERSION_STR,"SmileY");
    
    
p_Address     register_cvar("hltv_address","127.0.0.1:27020",FCVAR_PROTECTED);
    
p_Password     register_cvar("hltv_password","PASSWORD",FCVAR_PROTECTED);
    
    
register_concmd("hltv_rcon","HLTV_Rcon",ADMIN_RCON,"hltv_rcon <COMANDO>");
}

public 
HLTV_Rcon(id,level,cid)
{
    if(!
cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    new 
szAddress[32];
    
get_pcvar_string(p_Address,szAddress,charsmax(szAddress));
    
    new 
szIP[17],szPort[7];
    
strtok(szAddress,szIP,charsmax(szIP),szPort,charsmax(szPort),':');
    
    new 
szPassword[32];
    
get_pcvar_string(p_Password,szPassword,charsmax(szPassword));
    
    new 
szCommand[128];
    
read_args(szCommand,charsmax(szCommand));
    
remove_quotes(szCommand);
    
    new 
szSend[256],szString[256],szRcon[32],szNone[64];
    
    new 
iError;
    new 
iSock socket_open(szIP,str_to_num(szPort),SOCKET_UDP,iError);
    
    if(
iError)
    {
        
socket_close(iSock);
        
        
console_print(id,"[HLTV] Erro de Conexao: %d",iError);
        
        return 
PLUGIN_HANDLED;
    }
    
formatex(szSend,charsmax(szSend),"%c%c%c%cchallenge rcon",255,255,255,255);
    
socket_send2(iSock,szSend,charsmax(szSend));
    
    if(!
socket_change(iSock,1000000))
    {
        
socket_close(iSock);
        
        
console_print(id,"[HLTV] Nenhuma resposta de ^"%s^"",szAddress);
        
        return 
PLUGIN_HANDLED;
    }
    
socket_recv(iSock,szString,charsmax(szString));
    
parse(szString,szNone,charsmax(szNone),szNone,charsmax(szNone),szRcon,charsmax(szRcon));
    
    
formatex(szString,charsmax(szString),"%c%c%c%crcon %s ^"%s^" %s",255,255,255,255,szRcon,szPassword,szCommand);
    
socket_send2(iSock,szString,charsmax(szString));
    
    if(
socket_change(iSock))
    {
        new 
szBuffer[2048];
        
socket_recv(iSock,szBuffer,charsmax(szBuffer));
        
        
console_print(id,"[HLTV] %s",szBuffer[5]);
    }
    
socket_close(iSock);
    
    return 
PLUGIN_HANDLED;


I need to fix this plugin, isn't recive any response from HLTV server in linux.


All times are GMT -4. The time now is 21:43.

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