Mensajes: 241
Temas: 113
Registro en: Aug 2020
Reputación:
0
algún plugin que pueda dirigirte a otro server? que funcione para steam y no steam?
Mensajes: 395
Temas: 48
Registro en: Oct 2018
Reputación:
6
No se puede, esta desactivado para los Steam
Hace nomas q muestre la ip por consola o chat...
___________________________________
SI NECESITAS UN PLUGIN TE LO HAGO $$$
COMUNICATE A MI DISCORD: emanuelitop15
Mensajes: 241
Temas: 113
Registro en: Aug 2020
Reputación:
0
(08/10/2020, 06:43 PM)[E]manuelitop15 escribió: No se puede, esta desactivado para los Steam
Hace nomas q muestre la ip por consola o chat...
Me puedes agregar otra opcion, que muerte la ip en el say o consola.
Algo asi
1- Conectarse
2- Mostrar IP
3- Volver
Código PHP: #include <amxmodx> #include <amxmisc> #include <server_query>
new const g_szPlugin[ ][ ] = { "nRedirect", "1.0", "Neeeeeeeeeel.- / Sky^^" }; new const g_szPrefix[ ] = "^3[ViralForceTeam]^1";
/* ========================================================== */
new const g_szNameCommunity[ ] = "[ViralForceTeam]"; new const g_szNameFile[ ] = "servers.ini"; new const g_szCommands[ ][ ] = { "say /server", "say_team /server" }; const MAX_SERVERS = 33;
new g_Servers; new g_ServerSelected[ 33 ]; new g_NameServer[ MAX_SERVERS ][ 256 ]; new g_IpServer[ MAX_SERVERS ][ 32 ]; new g_Map[ MAX_SERVERS ][ 32 ]; new g_Players[ MAX_SERVERS ]; new g_MaxPlayers[ MAX_SERVERS ];
/* ========================================================== */
public plugin_init( ) { server_print( "no_amxx_uncompress" ); register_plugin( g_szPlugin[ 0 ], g_szPlugin[ 1 ], g_szPlugin[ 2 ] ); register_event( "HLTV", "event__RoundStart", "a", "1=0", "2=0" ); for( new i = 0; i < sizeof g_szCommands; ++i ) register_clcmd( g_szCommands[ i ], "open__Menu" ); read__File( ); }
public event__RoundStart( ) { for( new i = 0; i < g_Servers; i++ ) ServerInfo( g_IpServer[ i ], "getServerInfo" ); set_task( 3.5, "pl__Onlines" ); }
public pl__Onlines( ) { new i, iPlayers; new iMaxPlayers; for( i = 0; i < g_Servers; i++ ) { iPlayers += g_Players[ i ]; iMaxPlayers += g_MaxPlayers[ i ]; } cc( 0, "", g_szPrefix, iPlayers, iMaxPlayers ); return PLUGIN_CONTINUE; }
/* ========================================================== */ read__File( ) { new iDirFile[ 64 ]; get_configsdir( iDirFile, charsmax( iDirFile ) ); format( iDirFile, charsmax( iDirFile ), "%s/%s", iDirFile, g_szNameFile ); if( !file_exists( iDirFile ) ) { new iError[ 100 ]; formatex( iError, charsmax( iError ), "El archivo %s no existe.", g_szNameFile ); set_fail_state( iError ); return; } new iLineData[ 1024 ], iKey[ 64 ], iValue[ 960 ]; new iFile = fopen( iDirFile, "rt" ); g_Servers = -1; while( iFile && !feof( iFile ) ) { fgets( iFile, iLineData, charsmax( iLineData ) ); replace( iLineData, charsmax( iLineData ), "^n", "" ); if( !iLineData[ 0 ] || iLineData[ 0 ] == ';' ) continue; if( iLineData[ 0 ] == '[' ) { g_Servers++; continue; } strtok( iLineData, iKey, charsmax( iKey ), iValue, charsmax( iValue ), '=' ); trim( iKey ); trim( iValue ); if( equal( iKey, "SERVER_NAME" ) ) copy( g_NameServer[ g_Servers ], charsmax( g_NameServer[ ] ), iValue ); else if( equal( iKey, "SERVER_IP" ) ) copy( g_IpServer[ g_Servers ], charsmax( g_IpServer[ ] ), iValue ); } if( iFile ) fclose( iFile ); g_Servers++; }
public open__Menu( id ) { if( g_Servers < 1 ) { cc( id, "%s No hay servidores disponibles.", g_szPrefix ); return PLUGIN_HANDLED; } new iFormatex[ 200 ]; new iMenu = menu_create( "\y[ViralForceTeam]\w Lista de Servidores:", "hand__Menu" ); for( new i = 0; i < g_Servers; i++ ) { formatex( iFormatex, charsmax( iFormatex ), "\w%s", g_NameServer[ i ] ); menu_additem( iMenu, iFormatex ); } menu_setprop( iMenu, MPROP_BACKNAME, "\wAtras" ); menu_setprop( iMenu, MPROP_NEXTNAME, "\wSiguiente" ); menu_setprop( iMenu, MPROP_EXITNAME, "\wSalir" ); menu_display( id, iMenu, 0 ); return PLUGIN_HANDLED; } public hand__Menu( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } g_ServerSelected[ id ] = item; info__Server( id, item ); return PLUGIN_HANDLED; }
public info__Server( id, item ) { ServerInfo( g_IpServer[ item ], "getServerInfo" ); new iFormatex[ 500 ]; if( g_MaxPlayers[ item ] < 1 ) formatex( iFormatex, charsmax( iFormatex ), "\y[ViralForceTeam]\w Informacion del Servidor:^n^n\wNombre:\y %s^n\wIp:\y %s^n\wConectados:\r NO HAY JUGADORES EN EL SERVER", g_NameServer[ item ], g_IpServer[ item ] ); else if( g_Players[ item ] == g_MaxPlayers[ item ] ) formatex( iFormatex, charsmax( iFormatex ), "\y[ViralForceTeam]\w Informacion del Servidor:^n^n\wNombre:\y %s^n\wIp:\y %s^n\wMapa:\y %s^n\wConectados:\r FULL(%d/%d)", g_NameServer[ item ], g_IpServer[ item ], g_Map[ item ], g_Players[ item ], g_MaxPlayers[ item ] ); else formatex( iFormatex, charsmax( iFormatex ), "\y[ViralForceTeam]\w Informacion del Servidor:^n^n\wNombre:\y %s^n\wIp:\y %s^n\wMapa:\y %s^n\wConectados:\y %d/%d", g_NameServer[ item ], g_IpServer[ item ], g_Map[ item ], g_Players[ item ], g_MaxPlayers[ item ] ); new iMenu = menu_create( iFormatex, "hand__InfoServer" ); if( g_MaxPlayers[ item ] < 1 || g_Players[ item ] == g_MaxPlayers[ item ] ) menu_additem( iMenu, "\dConectarme", "1", 0, menu_makecallback( "check__StatusSv" ) ); else menu_additem( iMenu, "\wConectarme", "1" ); menu_additem( iMenu, "\wVolver", "2" ); menu_setprop( iMenu, MPROP_EXITNAME, "\wSalir" ); menu_display( id, iMenu, 0 ); } public check__StatusSv( id, menu, item ) { if( g_MaxPlayers[ g_ServerSelected[ id ] ] < 1 ) return ITEM_DISABLED; if( g_Players[ g_ServerSelected[ id ] ] == g_MaxPlayers[ g_ServerSelected[ id ] ] ) return ITEM_DISABLED; return ITEM_ENABLED; } public hand__InfoServer( id, menu, item ) { switch( item ) { case 0: { client_print( id, print_console, "^n~~~~~~~~~~~~~~ %s ~~~~~~~~~~~~~~^n", g_szNameCommunity ); client_print( id, print_console, "SERVIDOR: %s", g_NameServer[ g_ServerSelected[ id ] ] ); client_print( id, print_console, "IP: %s", g_IpServer[ g_ServerSelected[ id ] ] ); client_print( id, print_console, "^n~~~~~~~~~~~~~~ %s ~~~~~~~~~~~~~~^n", g_szNameCommunity ); redirect__Server( id, g_IpServer[ g_ServerSelected[ id ] ] ); } case 1: { open__Menu( id ); return PLUGIN_HANDLED; } case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } return PLUGIN_HANDLED; }
public getServerInfo( const szServer[ ], _A2A_TYPE, const Response[ ], len, success, latency ) { if( !success ) return; new serverId = -1; for( new i = 0; i < g_Servers; i++ ) { if( equal( g_IpServer[ i ], szServer ) ) { serverId = i; break; } } if( serverId == -1 ) return; new szTesting[ 256 ], szMap[ 64 ], szDirectory[ 64 ], szDescription[ 64 ]; new iPlayers = 0; new iMaxPlayers = 0;
ServerResponseParseInfo( Response, szTesting, charsmax( szTesting ), szMap, charsmax( szMap ), szDirectory, charsmax( szDirectory ), szDescription, charsmax( szDescription ), iPlayers, iMaxPlayers ); copy( g_Map[ serverId ], charsmax( g_Map[ ] ), szMap ); g_Players[ serverId ] = iPlayers; g_MaxPlayers[ serverId ] = iMaxPlayers; }
/* ========================================================== */
stock cc( id, const input[ ], any:... ) { static szMsg[ 191 ], msgSayText; if( !msgSayText ) msgSayText = get_user_msgid( "SayText" ); vformat( szMsg, 190, input, 3 ); replace_all( szMsg, 190, "!g", "^4" ); replace_all( szMsg, 190, "!y", "^1" ); replace_all( szMsg, 190, "!team", "^3" ); message_begin( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .player = id ); write_byte( id ? id : 33 ); write_string( szMsg ); message_end( ); }
stock redirect__Server( id, ip[ ] ) client_cmd( id, "wait;wait;wait;wait;wait;^"connect^" %s", ip );
Mensajes: 138
Temas: 39
Registro en: Jul 2020
Reputación:
1
(08/10/2020, 06:57 PM)Mecha escribió: Me puedes agregar otra opcion, que muerte la ip en el say o consola.
Algo asi
1- Conectarse
2- Mostrar IP
3- Volver
Código PHP: #include <amxmodx> #include <amxmisc> #include <server_query>
new const g_szPlugin[ ][ ] = { "nRedirect", "1.0", "Neeeeeeeeeel.- / Sky^^" }; new const g_szPrefix[ ] = "^3[ViralForceTeam]^1";
/* ========================================================== */
new const g_szNameCommunity[ ] = "[ViralForceTeam]"; new const g_szNameFile[ ] = "servers.ini"; new const g_szCommands[ ][ ] = { "say /server", "say_team /server" }; const MAX_SERVERS = 33;
new g_Servers; new g_ServerSelected[ 33 ]; new g_NameServer[ MAX_SERVERS ][ 256 ]; new g_IpServer[ MAX_SERVERS ][ 32 ]; new g_Map[ MAX_SERVERS ][ 32 ]; new g_Players[ MAX_SERVERS ]; new g_MaxPlayers[ MAX_SERVERS ];
/* ========================================================== */
public plugin_init( ) { server_print( "no_amxx_uncompress" ); register_plugin( g_szPlugin[ 0 ], g_szPlugin[ 1 ], g_szPlugin[ 2 ] ); register_event( "HLTV", "event__RoundStart", "a", "1=0", "2=0" ); for( new i = 0; i < sizeof g_szCommands; ++i ) register_clcmd( g_szCommands[ i ], "open__Menu" ); read__File( ); }
public event__RoundStart( ) { for( new i = 0; i < g_Servers; i++ ) ServerInfo( g_IpServer[ i ], "getServerInfo" ); set_task( 3.5, "pl__Onlines" ); }
public pl__Onlines( ) { new i, iPlayers; new iMaxPlayers; for( i = 0; i < g_Servers; i++ ) { iPlayers += g_Players[ i ]; iMaxPlayers += g_MaxPlayers[ i ]; } cc( 0, "", g_szPrefix, iPlayers, iMaxPlayers ); return PLUGIN_CONTINUE; }
/* ========================================================== */ read__File( ) { new iDirFile[ 64 ]; get_configsdir( iDirFile, charsmax( iDirFile ) ); format( iDirFile, charsmax( iDirFile ), "%s/%s", iDirFile, g_szNameFile ); if( !file_exists( iDirFile ) ) { new iError[ 100 ]; formatex( iError, charsmax( iError ), "El archivo %s no existe.", g_szNameFile ); set_fail_state( iError ); return; } new iLineData[ 1024 ], iKey[ 64 ], iValue[ 960 ]; new iFile = fopen( iDirFile, "rt" ); g_Servers = -1; while( iFile && !feof( iFile ) ) { fgets( iFile, iLineData, charsmax( iLineData ) ); replace( iLineData, charsmax( iLineData ), "^n", "" ); if( !iLineData[ 0 ] || iLineData[ 0 ] == ';' ) continue; if( iLineData[ 0 ] == '[' ) { g_Servers++; continue; } strtok( iLineData, iKey, charsmax( iKey ), iValue, charsmax( iValue ), '=' ); trim( iKey ); trim( iValue ); if( equal( iKey, "SERVER_NAME" ) ) copy( g_NameServer[ g_Servers ], charsmax( g_NameServer[ ] ), iValue ); else if( equal( iKey, "SERVER_IP" ) ) copy( g_IpServer[ g_Servers ], charsmax( g_IpServer[ ] ), iValue ); } if( iFile ) fclose( iFile ); g_Servers++; }
public open__Menu( id ) { if( g_Servers < 1 ) { cc( id, "%s No hay servidores disponibles.", g_szPrefix ); return PLUGIN_HANDLED; } new iFormatex[ 200 ]; new iMenu = menu_create( "\y[ViralForceTeam]\w Lista de Servidores:", "hand__Menu" ); for( new i = 0; i < g_Servers; i++ ) { formatex( iFormatex, charsmax( iFormatex ), "\w%s", g_NameServer[ i ] ); menu_additem( iMenu, iFormatex ); } menu_setprop( iMenu, MPROP_BACKNAME, "\wAtras" ); menu_setprop( iMenu, MPROP_NEXTNAME, "\wSiguiente" ); menu_setprop( iMenu, MPROP_EXITNAME, "\wSalir" ); menu_display( id, iMenu, 0 ); return PLUGIN_HANDLED; } public hand__Menu( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } g_ServerSelected[ id ] = item; info__Server( id, item ); return PLUGIN_HANDLED; }
public info__Server( id, item ) { ServerInfo( g_IpServer[ item ], "getServerInfo" ); new iFormatex[ 500 ]; if( g_MaxPlayers[ item ] < 1 ) formatex( iFormatex, charsmax( iFormatex ), "\y[ViralForceTeam]\w Informacion del Servidor:^n^n\wNombre:\y %s^n\wIp:\y %s^n\wConectados:\r NO HAY JUGADORES EN EL SERVER", g_NameServer[ item ], g_IpServer[ item ] ); else if( g_Players[ item ] == g_MaxPlayers[ item ] ) formatex( iFormatex, charsmax( iFormatex ), "\y[ViralForceTeam]\w Informacion del Servidor:^n^n\wNombre:\y %s^n\wIp:\y %s^n\wMapa:\y %s^n\wConectados:\r FULL(%d/%d)", g_NameServer[ item ], g_IpServer[ item ], g_Map[ item ], g_Players[ item ], g_MaxPlayers[ item ] ); else formatex( iFormatex, charsmax( iFormatex ), "\y[ViralForceTeam]\w Informacion del Servidor:^n^n\wNombre:\y %s^n\wIp:\y %s^n\wMapa:\y %s^n\wConectados:\y %d/%d", g_NameServer[ item ], g_IpServer[ item ], g_Map[ item ], g_Players[ item ], g_MaxPlayers[ item ] ); new iMenu = menu_create( iFormatex, "hand__InfoServer" ); if( g_MaxPlayers[ item ] < 1 || g_Players[ item ] == g_MaxPlayers[ item ] ) menu_additem( iMenu, "\dConectarme", "1", 0, menu_makecallback( "check__StatusSv" ) ); else menu_additem( iMenu, "\wConectarme", "1" ); menu_additem( iMenu, "\wVolver", "2" ); menu_setprop( iMenu, MPROP_EXITNAME, "\wSalir" ); menu_display( id, iMenu, 0 ); } public check__StatusSv( id, menu, item ) { if( g_MaxPlayers[ g_ServerSelected[ id ] ] < 1 ) return ITEM_DISABLED; if( g_Players[ g_ServerSelected[ id ] ] == g_MaxPlayers[ g_ServerSelected[ id ] ] ) return ITEM_DISABLED; return ITEM_ENABLED; } public hand__InfoServer( id, menu, item ) { switch( item ) { case 0: { client_print( id, print_console, "^n~~~~~~~~~~~~~~ %s ~~~~~~~~~~~~~~^n", g_szNameCommunity ); client_print( id, print_console, "SERVIDOR: %s", g_NameServer[ g_ServerSelected[ id ] ] ); client_print( id, print_console, "IP: %s", g_IpServer[ g_ServerSelected[ id ] ] ); client_print( id, print_console, "^n~~~~~~~~~~~~~~ %s ~~~~~~~~~~~~~~^n", g_szNameCommunity ); redirect__Server( id, g_IpServer[ g_ServerSelected[ id ] ] ); } case 1: { open__Menu( id ); return PLUGIN_HANDLED; } case MENU_EXIT: { menu_destroy( menu ); return PLUGIN_HANDLED; } } return PLUGIN_HANDLED; }
public getServerInfo( const szServer[ ], _A2A_TYPE, const Response[ ], len, success, latency ) { if( !success ) return; new serverId = -1; for( new i = 0; i < g_Servers; i++ ) { if( equal( g_IpServer[ i ], szServer ) ) { serverId = i; break; } } if( serverId == -1 ) return; new szTesting[ 256 ], szMap[ 64 ], szDirectory[ 64 ], szDescription[ 64 ]; new iPlayers = 0; new iMaxPlayers = 0;
ServerResponseParseInfo( Response, szTesting, charsmax( szTesting ), szMap, charsmax( szMap ), szDirectory, charsmax( szDirectory ), szDescription, charsmax( szDescription ), iPlayers, iMaxPlayers ); copy( g_Map[ serverId ], charsmax( g_Map[ ] ), szMap ); g_Players[ serverId ] = iPlayers; g_MaxPlayers[ serverId ] = iMaxPlayers; }
/* ========================================================== */
stock cc( id, const input[ ], any:... ) { static szMsg[ 191 ], msgSayText; if( !msgSayText ) msgSayText = get_user_msgid( "SayText" ); vformat( szMsg, 190, input, 3 ); replace_all( szMsg, 190, "!g", "^4" ); replace_all( szMsg, 190, "!y", "^1" ); replace_all( szMsg, 190, "!team", "^3" ); message_begin( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .player = id ); write_byte( id ? id : 33 ); write_string( szMsg ); message_end( ); }
stock redirect__Server( id, ip[ ] ) client_cmd( id, "wait;wait;wait;wait;wait;^"connect^" %s", ip );
Ese plugin funciona perfecto, pero solo redirige si sos NO STEAM, además si se muestra la ip, en el menú, y también se ve en consola
Código PHP: client_print( id, print_console, "^n~~~~~~~~~~~~~~ %s ~~~~~~~~~~~~~~^n", g_szNameCommunity ); client_print( id, print_console, "SERVIDOR: %s", g_NameServer[ g_ServerSelected[ id ] ] ); client_print( id, print_console, "IP: %s", g_IpServer[ g_ServerSelected[ id ] ] ); client_print( id, print_console, "^n~~~~~~~~~~~~~~ %s ~~~~~~~~~~~~~~^n", g_szNameCommunity ); redirect__Server( id, g_IpServer[ g_ServerSelected[ id ] ] );
(13/05/2017, 02:11 PM)DiCHANHO escribió: off: pobre este ya quedo traumado con lo del autor y robo de plugins (26/07/2020, 08:32 PM)Hinami escribió: & si soy un gordo cagon, virgen, con posters de anime en todas partes ✅✅Aportes✅✅
✅ Datear Automáticamente CincoYA
✅ Efecto Trueno y Rayo
Mensajes: 196
Temas: 4
Registro en: Apr 2018
Reputación:
3
ay formar de hacer que funcione en steam, obvio no te la pasaremos por que va encontra de las normas del foro como slowhack, pero te aviso solamente que si existe, y cuando te des cuenta veras q es una voludes. Igualmente hoy x hoy no funciona ni el fix, si tenes el cs steam actualizado. Pero si parchas la version para que te funque el sxe, andara el redirect.
Mensajes: 144
Temas: 4
Registro en: Mar 2018
Reputación:
8
(17/10/2020, 11:35 AM)alexiways escribió: ay formar de hacer que funcione en steam, obvio no te la pasaremos por que va encontra de las normas del foro como slowhack, pero te aviso solamente que si existe, y cuando te des cuenta veras q es una voludes. Igualmente hoy x hoy no funciona ni el fix, si tenes el cs steam actualizado. Pero si parchas la version para que te funque el sxe, andara el redirect.
No funciona para steam y no hay fix, en pocas palabras
Mensajes: 196
Temas: 4
Registro en: Apr 2018
Reputación:
3
Funciona en steam, soy steam y lo vivo usando. El fix es una boludes que en argentina mayormente usamos, para parchar el juego para que nos tome el "Sxe Injetede" y consta de degradar la version del juego. Reemplazando dos archivos un .dll y el ejecutable del juego. para hacer funcionar el mismo anticheat.
Mensajes: 144
Temas: 4
Registro en: Mar 2018
Reputación:
8
(17/10/2020, 06:40 PM)alexiways escribió: Funciona en steam, soy steam y lo vivo usando. El fix es una boludes que en argentina mayormente usamos, para parchar el juego para que nos tome el "Sxe Injetede" y consta de degradar la version del juego. Reemplazando dos archivos un .dll y el ejecutable del juego. para hacer funcionar el mismo anticheat.
Osea que no funciona en steam x2. No hay manera de hacerlo posible server-side.
Que el cliente tenga que forzosamente hacer un downgrade para poder usarlo no es FIX, es solo un parche temporal, que vete tú a saber si resulte peor.
Mensajes: 196
Temas: 4
Registro en: Apr 2018
Reputación:
3
enrealidad la posbilidad de hacer el redirect, si hay. Parte de server-side. Solo explicaba que para el fix comun del redirect solo funciona y en donde no, ya q a muchos les funciona haciendo eso, Hay posbilidades de usar comando a travez del server en steam. e inclusive usar el "Connect" en steam con el servidor. con reapi, creo que habia metodos.
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
(17/10/2020, 11:56 PM)alexiways escribió: enrealidad la posbilidad de hacer el redirect, si hay. Parte de server-side. Solo explicaba que para el fix comun del redirect solo funciona y en donde no, ya q a muchos les funciona haciendo eso, Hay posbilidades de usar comando a travez del server en steam. e inclusive usar el "Connect" en steam con el servidor. con reapi, creo que habia metodos.
No se puede... usar el comando connect en clientes steams.
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 86
Temas: 10
Registro en: Apr 2020
Reputación:
0
El plugin de Kikizon de redirect funciona. Igual raro, antes no funcionaba y no toque nada en la carpeta del juego (tengo Steam).
|