Mensajes: 47
Temas: 18
Registro en: Nov 2019
Reputación:
0
busco plugins de ruleta creo que vi un plugins muy parecido en un sv
pero la idea es que elija un nombre al alazar de todo los player que estan en server
si alguien sale que aparesca un mensaje en la pantalla con el nombre del player
si alguien lo tiene me puede dar el link porfa
gracias saludos
Mensajes: 106
Temas: 16
Registro en: Sep 2019
Mensajes: 47
Temas: 18
Registro en: Nov 2019
Reputación:
0
si pero creo que este no sirve
busco un plugins que elija un nombre de cualquier player al alazar y lo nombre dentro del server como ganador
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
Dime si es lo que buscas...
Código PHP: #include < amxmodx > #include < amxmisc >
#pragma semicolon 1
#define MAX_USERS 32 + 1
#define IsUserAdmin(%1) ( ( get_user_flags( %1 ) & ADMIN_FLAGS ) == ADMIN_FLAGS )
new const g_szPluginName[ ] = "Random Player"; new const g_szPluginVersion[ ] = "1.0b"; new const g_szPluginAuthor[ ] = "Chema"; new const g_szPluginCvar[ ] = "rp_version";
new const g_szChatPrefix[ ] = "^4[SERVER]^1 "; new const g_szItemMenuSound[ ] = "Ui/buttonclickrelease.wav";
const ADMIN_FLAGS = ( ADMIN_BAN | ADMIN_KICK );
new g_iSelected;
new bool:g_bOnePerRound;
new g_iMaxPlayers[ 1 char ];
public plugin_init( ) {
register_plugin( g_szPluginName, g_szPluginVersion, g_szPluginAuthor ); register_cvar( g_szPluginCvar, g_szPluginVersion, FCVAR_SERVER|FCVAR_SPONLY );
register_event( "HLTV", "Event_NewRound", "a", "1=0", "2=0" );
register_clcmd( "say /rp", "ClientCommand_SelectPlayer" );
g_iMaxPlayers{0} = get_maxplayers( ); }
public client_disconnected( iID ) g_iSelected &= ~( 1 << ( iID - 1 ) );
public Event_NewRound( ) {
new iID; for( iID = 1; iID <= g_iMaxPlayers{0}; iID++ ) {
g_iSelected &= ~( 1 << ( iID - 1 ) ); }
g_bOnePerRound = false; }
public ClientCommand_SelectPlayer( const iID ) {
if( !IsUserAdmin( iID ) ) {
Client_Print( iID, "Solo administradores tienen acceso a esta opción." ); return PLUGIN_HANDLED; }
if( g_bOnePerRound ) {
Client_Print( iID, "Solo puedes seleccionar a un jugador por ronda!" ); return PLUGIN_HANDLED; }
new iSelected = GetRandomPlayer( );
new szName[ 32 ];
if( is_user_connected( iSelected ) ) {
get_user_name( iSelected, szName, charsmax( szName ) );
Client_Print( 0, "El jugador seleccionado aleatoriamente fue: ^4%s^1", szName ); client_cmd( 0, "spk ^"%s^"", g_szItemMenuSound ); }
g_bOnePerRound = true;
return PLUGIN_HANDLED; }
/* Code by Bugsy <3 */ GetRandomPlayer( ) {
new iPlayerBits; new i;
for ( i = 1 ; i <= g_iMaxPlayers{0} ; i++ ) if ( is_user_connected( i ) ) iPlayerBits |= ( 1 << ( i - 1 ) );
if ( !iPlayerBits ) return 0;
while( iPlayerBits != g_iSelected ) {
i = ( random_num( 1 , g_iMaxPlayers{0} ) - 1 );
if ( ( iPlayerBits & ( 1 << i ) ) && !( g_iSelected & ( 1 << i ) ) ) {
g_iSelected |= ( 1 << i ); return ( i + 1 ); } }
return 0; }
stock Client_Print( const id, const szInput[ ], any:... ) {
static szMessage[ 192 ], iLen;
if( !iLen ) iLen = formatex( szMessage, 191, g_szChatPrefix ); vformat( szMessage[ iLen ], 191 - iLen, szInput, 3 ); replace_all( szMessage, 190, "!g", "^4" ); replace_all( szMessage, 190, "!y", "^1" ); replace_all( szMessage, 190, "!t", "^3" );
message_begin( ( id ) ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, get_user_msgid( "SayText" ), _, id ); write_byte( ( id ) ? id : 1 ); write_string( szMessage ); message_end( ); return 1; }
Mensajes: 47
Temas: 18
Registro en: Nov 2019
Reputación:
0
15/11/2019, 10:36 PM
(Última modificación: 15/11/2019, 11:39 PM por venzuela6969. Edited 2 times in total.)
gracias amigo lo voy a probar ahora mismo
Mensajes: 106
Temas: 16
Registro en: Sep 2019
disculpa solo vibusco plugins xd
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
Código PHP: #include < amxmodx > #include < amxmisc >
#pragma semicolon 1
#define MAX_USERS 32 + 1
#define IsUserAdmin(%1) ( ( get_user_flags( %1 ) & ADMIN_FLAGS ) == ADMIN_FLAGS )
new const g_szPluginName[ ] = "Random Player"; new const g_szPluginVersion[ ] = "1.0b"; new const g_szPluginAuthor[ ] = "Chema"; new const g_szPluginCvar[ ] = "rp_version";
new const g_szChatPrefix[ ] = "^4[SERVER]^1 "; new const g_szItemMenuSound[ ] = "Ui/buttonclickrelease.wav";
const ADMIN_FLAGS = ( ADMIN_BAN | ADMIN_KICK );
new g_iSelected;
new bool:g_bOnePerRound;
new g_iMaxPlayers[ 1 char ];
public plugin_init( ) {
register_plugin( g_szPluginName, g_szPluginVersion, g_szPluginAuthor ); register_cvar( g_szPluginCvar, g_szPluginVersion, FCVAR_SERVER|FCVAR_SPONLY );
register_event( "HLTV", "Event_NewRound", "a", "1=0", "2=0" );
register_clcmd( "say /rp", "ClientCommand_Delay" );
g_iMaxPlayers{0} = get_maxplayers( ); }
public client_disconnected( iID ) g_iSelected &= ~( 1 << ( iID - 1 ) );
public Event_NewRound( ) {
new iID; for( iID = 1; iID <= g_iMaxPlayers{0}; iID++ ) {
g_iSelected &= ~( 1 << ( iID - 1 ) ); }
g_bOnePerRound = false; }
public ClientCommand_Delay( const iID ) {
if( !IsUserAdmin( iID ) ) {
Client_Print( iID, "Solo administradores tienen acceso a esta opción." ); return PLUGIN_HANDLED; }
if( g_bOnePerRound ) {
Client_Print( iID, "Solo puedes seleccionar a un jugador por ronda!" ); return PLUGIN_HANDLED; }
Client_Print( 0, "Un jugador será elegido aleatoriamente dentro de 6 segundos..." ); set_task( 6.0, "Task_SelectPlayer", iID );
g_bOnePerRound = true;
return PLUGIN_HANDLED; }
public Task_SelectPlayer( const iID ) {
new iSelected = GetRandomPlayer( );
new szName[ 32 ];
if( is_user_connected( iSelected ) ) {
get_user_name( iSelected, szName, charsmax( szName ) );
set_hudmessage( 42, 255, 42, 0.56, 0.08, 0, 6.0, 5.0 ); show_hudmessage( 0, "El jugador seleccionado aleatoriamente fue %s", szName ); //Client_Print( 0, "El jugador seleccionado aleatoriamente fue: ^4%s^1", szName ); client_cmd( 0, "spk ^"%s^"", g_szItemMenuSound ); }
return PLUGIN_HANDLED; }
/* Code by Bugsy <3 */ GetRandomPlayer( ) {
new iPlayerBits; new i;
for ( i = 1 ; i <= g_iMaxPlayers{0} ; i++ ) if ( is_user_connected( i ) ) iPlayerBits |= ( 1 << ( i - 1 ) );
if ( !iPlayerBits ) return 0;
while( iPlayerBits != g_iSelected ) {
i = ( random_num( 1 , g_iMaxPlayers{0} ) - 1 );
if ( ( iPlayerBits & ( 1 << i ) ) && !( g_iSelected & ( 1 << i ) ) ) {
g_iSelected |= ( 1 << i ); return ( i + 1 ); } }
return 0; }
stock Client_Print( const id, const szInput[ ], any:... ) {
static szMessage[ 192 ], iLen;
if( !iLen ) iLen = formatex( szMessage, 191, g_szChatPrefix ); vformat( szMessage[ iLen ], 191 - iLen, szInput, 3 ); replace_all( szMessage, 190, "!g", "^4" ); replace_all( szMessage, 190, "!y", "^1" ); replace_all( szMessage, 190, "!t", "^3" );
message_begin( ( id ) ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, get_user_msgid( "SayText" ), _, id ); write_byte( ( id ) ? id : 1 ); write_string( szMessage ); message_end( ); return 1; }
|