Ayuda con un error con un plugins de reportes
#1
Hola, Chicos ¿Como estan? espereo que bien se me presento un problema con el plugin reportsysteam de kilkizon y flamingo creo que se llama así bueno al momento de dar un ban y kick no se manda el ban ni el kick y me manda este error en consola:


L 04/15/2018 - 19:02:03: [AMXX] Run time error 4 (plugin "ReportSystem.amxx") - debug not enabled!
L 04/15/2018 - 19:02:03: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes

Mando aqui el texto del plugin a ver si tiene un error

Código PHP:
#include <amxmodx>
#include <amxmisc>


/* ================================================================================================
                Vars, Defines, Const
  ================================================================================================*/

#define MIN_CARACTERES 10

new const ReportFile[ ] = "Reportes.txt";
new const 
CommandMessageMode[ ] = "Detalles";
new const 
Commands[ ][ ] = { "say /report" "say /reportar" };
new const 
OpcionesReporte[ ][ ] = { "Insultar" "Cheats" "Abuso de bugs""Etc... " };
new const 
Minutos_de_ban[] = { 051015203060120600 };

new 
MaxPlayers;
new 
inMessageMode33 ], OptionSelected33 ] , PlayerIDSelected33 ] , UserIDSelected33 ], 
PlayerDetalles33 ][ 128 ], PlayerMinutesBan33 ], Reportes33 ], Name33 ][ 32 ], Authid33 ][ 35 ];

/* ================================================================================================
                Main Forwards
  ================================================================================================*/
  
public plugin_init() 
{
    
register_plugin"New Report System""1.0""FloresMagon & kikizon" );
    
    static 
k;
    for( 
sizeof Commands ; ++)
        
register_clcmdCommands] , "clcmdReport" );
        
    
register_clcmdCommandMessageMode "clcmdDetalles" );
    
register_clcmd"say /reescribir""clcmdReescribir" );
    
register_clcmd"say /players""ShowMenuPlayers" );
    
    
MaxPlayers get_maxplayers();
}

public 
client_putinserverindex )
{
    
get_user_nameindexName[index], 31 );
    
get_user_authidindexAuthid[index], 34 );
    
    
ResetVarsindex );
}

public 
client_infochangedindex )
{
    
get_user_infoindex"name"Name[index], 31 ); 
}

/* ================================================================================================
                    Clcmds
  ================================================================================================*/
  
public clcmdReportindex )
{
    if( 
Reportesindex ] )
    {
        
client_printindexprint_center"*** Ya hiciste tu reporte en este mapa ***" );
        return 
PLUGIN_HANDLED;
    }
    
    
    static 
menuk
    
menu menu_create"\r[ Sistema de Reporte M-R ] \wSelecciona una opcion:""menu_report" );
    
    for( 
sizeof OpcionesReporte ; ++)
        
menu_additemmenu OpcionesReporte[k] , "" );
    
    
menu_displayindex menu );
    return 
PLUGIN_HANDLED;
}

public 
menu_reportindex menu item )
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    
    
OptionSelectedindex ] = item;
    
ShowMenuPlayersindex );
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
clcmdReescribirindex )
{
    if( !
inMessageModeindex ] )
    {
        
client_printindexprint_chat"No habias completado el reporte" );
        
client_printindexprint_chat"Para volver a hacer el reporte tipea, /report " );
        return 
PLUGIN_HANDLED;
    }
        
    
client_cmdindex "messagemode ^"%s^""CommandMessageMode );
    return 
PLUGIN_HANDLED;
}

public 
clcmdDetallesindex )
{
    if( !
inMessageModeindex ] ) 
    {
        
client_printindexprint_center"*** NO PERMITIDO ***" );
        return 
PLUGIN_HANDLED;
    }
    
    
    
read_argsPlayerDetallesindex ], 127 ); 
    
remove_quotesPlayerDetallesindex ] ) ; 
    
trimPlayerDetallesindex ] );
    
    if( !
is_valid_msg(index) )
    {
        
client_printindex print_chat "[ Sistema de Reporte M-R ] Tu mensaje contiene errores" );
        
client_printindex print_chat "[ Sistema de Reporte M-R ] Si deseas volver a escribir, tipea /reescribir" );
        
PlayerDetallesindex ] = "^0";
        return 
PLUGIN_HANDLED;
    }
    
    
SendReport(index);
    return 
PLUGIN_HANDLED;
}

/* ================================================================================================
                    Menus
  ================================================================================================*/
  
  
  
 /*
  
        Players Menu
        
*/


public ShowMenuPlayersindex )
{
    static 
IDS[20], menui;
    
menu menu_create("\r[ Sistema de Reporte M-R] \wSelecciona a quien quieres reportar:""menu_players" );
    
    for( 
<= MaxPlayers ; ++)
    {
        if( !
is_user_connected(i) || == index ) continue;
        
        
formatexIDS charsmax(IDS) , "%d %d" get_user_userid(i) )        
        
menu_additemmenu Name[i] , IDS );
    }
    
    
menu_displayindex menu );    
}

public 
menu_playersindex menu item )
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    static 
varsinusobuffer[12], szid[3], szuserid[9];
    
menu_item_getinfo(menuitemvarsinusobuffercharsmax(buffer), __varsinuso);    
    
parse(bufferszidcharsmax(szid), szuseridcharsmax(szuserid));
    
    
PlayerIDSelectedindex ] = str_to_num(szid);
    
UserIDSelectedindex ] = str_to_num(szuserid);
    
    if( !
is_user_connectedPlayerIDSelectedindex ] )
    || 
UserIDSelectedindex ] != get_user_useridPlayerIDSelected[index]) )
    {
        
client_printindex print_chat"[ Sistema de Reporte M-R ] El jugador se ha desconectado. (%d)"PlayerIDSelectedindex ] );
        return 
PLUGIN_HANDLED;
    }
    
    
    
inMessageModeindex ] = true;
    
client_cmdindex "messagemode ^"%s^""CommandMessageMode );
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

/*

        Send Report to admin ( Menu )
        
*/

SendReport(index)
{
    static 
imenuString300 ], ASD20 ];
    
    
formatexStringcharsmax( String ), "\r[ Sistema de Reporte M-R ] \y%s \wa reportado a \y%s^n\wRazon:\y %s"Name[index], NamePlayerIDSelected[index] ], OpcionesReporteOptionSelected[index] ] );
    
menu menu_createString "menu_adm" );
    
    
formatexASD19"%d %d"indexget_user_userid(index) );
    
menu_additemmenu "\wVer Detalles" ,  ASD );
    
menu_additemmenu "\rSancionar directamente" ASD );
    
    
menu_additemmenu "\yIgnorar^n""3" );
    
    for( 
<= MaxPlayers ; ++)
    {
        if( !
is_user_connected(i) || !is_user_admin(i) ) continue;
        
        
menu_displaymenu );
    }
    
    
CreateLogindex );    
    
Reportesindex ] = true;
}

public 
menu_admindex menu item )
{
    if( 
item == MENU_EXIT || item == )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    static 
varsinusobuffer[12], szid[3], szuserid[9], playeriduserid;
    
menu_item_getinfo(menuitemvarsinusobuffercharsmax(buffer), __varsinuso);    
    
parse(bufferszidcharsmax(szid), szuseridcharsmax(szuserid));
    
    
playerid str_to_num(szid);
    
userid str_to_num(szuserid);
    
    if( !
is_user_connectedplayerid )
    || 
userid != get_user_useridplayerid ) )
    {
        
client_printindex print_chat"[ Sistema de Reporte M-R ] El jugador que hizo el reporte se ha desconectado. (%d)"playerid );
        return 
PLUGIN_HANDLED;
    }
    
    
PlayerIDSelectedindex ] = PlayerIDSelectedplayerid ];
    
UserIDSelectedindex ] = UserIDSelectedplayerid ];
    
OptionSelectedindex ] = OptionSelectedplayerid ];
    
    
    switch( 
item )
    {
        case 
0
        {
            static 
String3500 ], Ip[2][20], lenlen 0
            get_user_ip
playerid Ip[0], 19);
            
get_user_ipPlayerIDSelected[index] , Ip[1], 19);
    
            
len += formatexString[len], sizeof String-len"<!doctype html>\
            <html>\
            <head>\
            <title>Reportes</title>\
            </head>\
            <body bgcolor=^"
000000^">\
            <h1><span style=^"
color:#00FF00;^">Reporte</span></h1>\
            
<p><span style=^"color:#FF0000;^"><strong>====================================================</strong></span></p>\
            <
p>&nbsp;</p>" );
            
            len += formatex( String[len], sizeof String-len, "
<p><span style=^"color:#40E0D0;^">%s</span>\
            <
span style=^"color:#FFF0F5;^">(</span><span style=^"color:#40E0D0;^">%s</span>\
            <
span style=^"color:#FFF0F5;^">)(</span><span style=^"color:#40E0D0;^">%s</span>", Name[playerid], Ip[0], Authid[playerid] );
            
            
            len += formatex( String[len], sizeof String-len,"
<span style=^"color:#FFF0F5;^">)</span><span style=^"color:#00FF00;^">Ha reportado a </span>\
            <
span style=^"color:#40E0D0;^">%s</span>\
            <
span style=^"color:#FFF0F5;^">(</span><span style=^"color:#40E0D0;^">%s</span>", Name[PlayerIDSelected[index]], Ip[1] );
            
            len += formatex( String[len], sizeof String-len,"
<span style=^"color:#FFF0F5;^">)(</span><span style=^"color:#40E0D0;^">%s</span>\
            <
span style=^"color:#FFF0F5;^">)</span></p>", 
            Authid[PlayerIDSelected[index]] );
            
            len += formatex(String[len], sizeof String-len, "
<p>&nbsp;</p>\
            <
p><span style=^"color:#00FF00;^">Razon</span>:\
            <
span style=^"color:#40E0D0;^">%s</span></p>", OpcionesReporte[ OptionSelected[ index ] ]  );
            
            len += formatex(String[len], sizeof String-len, "
<p><span style=^"color:#00FF00;^">Mas Info:</span></p><p>&nbsp;</p>\
            <
p><span style=^"color:#FF0000;^"><strong>============================\
            ========================</
strong></span></p><p>&nbsp;</p>" );
            
            len += formatex(String[len], sizeof String-len, "
<p><span style=^"color:#00FF00;^">%s</span></p><p>&nbsp;</p>\
            <
p><span style=^"color:#FF0000;^"><strong>====================================================</strong></span></p>",
            PlayerDetalles[ index ]);
            
            len += formatex( String[len], sizeof String-len, "
<p>&nbsp;</p><p><span style=^"color:#FFF0F5;^">Si tu ban fue mal dado ir:&nbsp;</span></p>\
            <
p><span style=^"color:#FFF0F5;^">fb</span></p>\
            <
p><span style=^"color:#FFF0F5;^">fb</span></p>\
            <
p><span style=^"color:#FFF0F5;^">fb</span></p>\
            </
body></html>" );
            
            show_motd( index, String, "
Reporte" );
            ShowMenuSancion( index );
        }
        case 1: ShowMenuSancion( index );
    }
    
    ResetVars( playerid );    
    menu_destroy( menu );
    return PLUGIN_HANDLED;
}

/*

        Menu Sancion
        
*/

ShowMenuSancion( index )
{
    static menu, String[128];
    formatex( String, 127, "
\rSistema de Reporte M-] \wElige la opcion a aplicar contra:^n^t^t^t^t\y%s", Name[ PlayerIDSelected[index] ] );
    menu = menu_create( String , "
menu_sancion" );
    
    menu_additem( menu , "
Mandar Advertencia^n^t^t\dSe abre un MOTD con la advertencia^n", "1" );
    menu_additem( menu , "
Banear^n^t^t\dUsted especifica los minutos a banear^n^n", "2" );
    menu_additem( menu , "
Kickear", "3" );
    
    menu_display( index , menu );    
}

public menu_sancion( index , menu , item )
{
    switch( item )
    {
        case 0:
        {
            SendAdvert( index );
            
            client_print( index, print_chat, "
Sistema de Reporte M-Se envio una advertencia a %s", Name[PlayerIDSelected[index]] );
        }
        case 1: ShowMenuMinutes( index );
        case 2: client_cmd( index, "
amx_kick ^"%s^" ^"%s^"", Name[PlayerIDSelected[index]], OpcionesReporte[ OptionSelected[index] ]);
        
        case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; }
    }
    
    menu_destroy( menu );
    return PLUGIN_HANDLED;
}

/*

        Choose Minutes Ban
        
*/        

ShowMenuMinutes( index )
{
    static i, String[128], menuban; menuban = menu_create( "
\rSistema de Reporte M-] \wCuantos minutos?", "menu_ban" );
            
    for( i = 0; i < sizeof Minutos_de_ban; ++i)
    {
        if( i == 0 )
            formatex( String, charsmax( String ), "
\rPermanente" );
        else
            formatex( String, charsmax( String ), "
%d Minutos", Minutos_de_ban[i] );
                    
        menu_additem( menuban, String, "" );
    }
            
    menu_display( index , menuban );
}

public menu_ban( index, menu, item )
{
    if( item != MENU_EXIT )
    {
        PlayerMinutesBan[ index ] = Minutos_de_ban[item];
        ShowConfirmMenu( index );
    }
        
    
    menu_destroy( menu );
    return PLUGIN_HANDLED;
}

/*

        Ban Confirm Menu
        
*/        

ShowConfirmMenu( index )
{
    static menu, String[128], minutes[50];
    if( PlayerMinutesBan[index] == 0 )
        formatex( minutes, charsmax(minutes), "
\rPermanente" );
    else
        formatex( minutes, charsmax(minutes), "
\r%d Minutos", PlayerMinutesBan[index] );
        
    formatex( String, charsmax( String ), "
\rSistema de Reporte M-] \wEstas seguro de esta accion ?^n\y\dBanear \y%%s", Name[ PlayerIDSelected[index] ], minutes );
    menu = menu_create( String, "
menu_confirm" );
    
    menu_additem( menu, "
Siestoy seguro^n", "1" );
    menu_additem( menu, "
NoRe Introducir tiempo de ban", "2" );
    menu_additem( menu, "
NoSolo enviar una advertencia", "3" );
    
    menu_display( index, menu );
}

public menu_confirm( index , menu , item )
{
    switch( item )
    {
        case 0: 
        {
            client_cmd( index, "
amx_banip ^"%s^" ^"%d^" ^"%s^"", 
            Name[ PlayerIDSelected[index] ], PlayerMinutesBan[ index ], OpcionesReporte[ OptionSelected[index] ] );
            ResetVars( index );
        }
        case 1: ShowMenuMinutes( index );
        case 2: 
        { 
            SendAdvert( index );
            client_print( index, print_chat, "
Sistema de Reporte M-Se envio una advertencia a %s", Name[PlayerIDSelected[index]] );
            ResetVars(index);
        }
        
        case MENU_EXIT: 
        { 
            menu_destroy( menu ); 
            ResetVars(index); 
            return PLUGIN_HANDLED; 
        }
    }
    
    menu_destroy( menu );
    return PLUGIN_HANDLED;            
}

/*

        Stocks 'N Internal Functions
        
*/        

SendAdvert( index )
{
    static String[ 2500 ], len; len = 0;
            
    len += formatex( String[len], sizeof String-len, "
<!doctype html><html><head>\
    <
title>Advertencia</title></head><body bgcolor=^"#000000^">\
    <
h1 style=^"text-align: center;^"><span style=^"color:#FF0000;^">Advertencia</span></h1>");
            
    len += formatex( String[len], sizeof String-len, "
<p><span style=^"color:#00FF00;^">====================================================</span></p>\
    <
p><span style=^"color:#FFF0F5;^">El admin</span><span style=^"color:#00FF00;^"> </span><span style=^"color:#FF0000;^">%s</span><span style=^"color:#00FF00;^">", Name[index] );
            
    len += formatex( String[len], sizeof String-len, "
</span><span style=^"color:#FFF0F5;^">te ha enviado una</span><span style=^"color:#00FF00;^"> </span><span style=^"color:#B22222;^">advertencia</span>\
    <
span style=^"color:#FFF0F5;^">, ya que recibio un reporte&nbsp;</span></p><p><span style=^"color:#FFF0F5;^">sobre ti.</span></p>");
            
    len += formatex( String[len], sizeof String-len, "
<p>&nbsp;</p><p><span style=^"color:#FFF0F5;^">Razon:</span><span style=^"color:#00FF00;^">\
    </
span><span style=^"color:#FF0000;^">%s</span></p>\
    <
p><span style=^"color:#00FF00;^">====================================================</span></p>"
    , OpcionesReporte[ OptionSelected[index] ]  );
            
    len += formatex( String[len], sizeof String-len, "
<p><span style=^"color:#FFF0F5;^">Si tu ban fue mal dado ir:&nbsp;</span></p>\
    <
p><span style=^"color:#FFF0F5;^">fb</span></p>\
    <
p><span style=^"color:#FFF0F5;^">fb</span></p>\
    <
p><span style=^"color:#FFF0F5;^">fb</span></p>\
    </
body></html>");
            
    show_motd( PlayerIDSelected[index], String, "
Advertencia" );
}

CreateLog( index )
{
    static String[ 512 ], Name[2][32], Ip[2][20], authid[2][35];
    get_user_name( index , Name[0], 31 );
    get_user_name( PlayerIDSelected[index] , Name[1], 31 );
    get_user_ip( index , Ip[0], 19, 1 );
    get_user_ip( PlayerIDSelected[index] , Ip[1], 19, 1 );
    get_user_authid( index, authid[0], 34 );
    get_user_authid( PlayerIDSelected[index], authid[1], 34 );
    
    formatex( String, charsmax(String), "
^n^n%<%s><%sHa reportado a %<%s><%sRazon: %s^nMas Info:^n%s^n==========================",
    Name[0], Ip[0], authid[0], Name[1], Ip[1], authid[1], OpcionesReporte[ OptionSelected[index] ], PlayerDetalles[index] );
    
    log_to_file( ReportFile, String );
}

ResetVars( index )
{
    inMessageMode[ index ] = Reportes[ index ] = false;
    OptionSelected[ index ] = -1;
    PlayerIDSelected[ index ] = UserIDSelected[ index ] = PlayerMinutesBan[index] = 0;
    PlayerDetalles[ index ][0] = EOS;
}

stock is_valid_msg(index)
{
    if ( strlen( PlayerDetalles[index] ) < MIN_CARACTERES )
        return false;
        
    if( containi( PlayerDetalles[index], "
%" ) != -1 )
        return false;
        
    if( !is_user_connected(PlayerIDSelected[index]) || UserIDSelected[ index ] != get_user_userid( PlayerIDSelected[index]) )
        return false;
    
    return true;

Responder
#2
abri plugins.ini

cambia esto:
Cita:ReportSystem.amxx

por eso:
Cita:ReportSystem.amxx debug
Responder
#3
!Hola!. Puse eso pero sigue diciendo esto con esto:


L 04/19/2018 - 18:23:14: [AMXX] Displaying debug trace (plugin "ReportSystem.amxx")
L 04/19/2018 - 18:23:14: [AMXX] Run time error 4: index out of bounds
L 04/19/2018 - 18:23:14: [AMXX] [0] ReportSystem.sma::SendAdvert (line 457)
L 04/19/2018 - 18:23:14: [AMXX] [1] ReportSystem.sma::menu_sancion (line 331)
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)