Mensajes: 818
Temas: 71
Registro en: Sep 2014
Reputación:
12
07/01/2017, 05:23 PM
una ayudita quiero al escribir ' say stats ' o ' say .stats ' al no tener mas argumentos llame una funcion para estadisticas personales. y cuando ponga ' say stats <Jugador> ' o ' say .stats <Jugador>', llame una funcion con datos del objetivo, hice algo asi pero no me fue bien
Código PHP: register_clcmd("say", "stats_pug", _, _)
Código PHP: public stats_pug(id) {
static Text[192] static argument[192]
read_args(Text, charsmax(Text)) read_argv(2, argument,charsmax(argument))
remove_quotes(Text) remove_quotes(argument)
new jucator = cmd_target(id,argument,CMDTARGET_ALLOW_SELF|CMDTARGET_NO_BOTS)
if(equali(Text, "stats")) { if(bps_players[id] == 0) { ColorChat(id, NORMAL, "^x04%s ^x01%L", pug_panama, LANG_PLAYER, "BPS_STATS") } else if(bps_players[id] == 1) { if(!jucator){ SkillRank(id) return; } SkillRank2(id, jucator) } } if(equali(Text, "stats pug")) { pug_stats_temp(id) } if(equali(Text, "toppug")) { pug_stats_top(id) } if(equali(Text, "resetstats")) { RestartSkillPoints(id) }
}
Mensajes: 1,902
Temas: 35
Registro en: Jan 2014
Reputación:
28
07/01/2017, 05:37 PM
(Última modificación: 07/01/2017, 05:38 PM por Chamo..)
Código PHP: read_args(Text, charsmax(Text))
>>>>>>>>>>
Código PHP: read_argv(1, Text, charsmax(Text))
Dado que supongo que los argumentos serian así:
" say stats Chamo."
say = argumento 0
stats = argumento 1
Chamo. = argumento 2
Mensajes: 818
Temas: 71
Registro en: Sep 2014
Reputación:
12
07/01/2017, 05:39 PM
(Última modificación: 07/01/2017, 06:01 PM por PredatorFlys.)
no, en el read_args(Text, charsmax(Text))
me funciona, el problema es cuando quiero usar el
read_argv(2, argument,charsmax(argument))
ejemplo intento hacer esto, say .stats Chamo y me sale jugador no encontrado.
hice cada comando independiente, ahora funciona pero solo cuando lo uso en consola
alguna sugerencia para que me sirva en say normal?
Código PHP: register_clcmd("say .stats", "stats_friend",ADMIN_ALL,_)
Código PHP: public stats_friend(id) { static argument[192] read_argv(2, argument,charsmax(argument)) remove_quotes(argument) new jucator = cmd_target(id,argument,CMDTARGET_ALLOW_SELF|CMDTARGET_NO_BOTS) { if(!jucator){
ColorChat(id, NORMAL, "^x04%s busqueda incorrecta.", pug_panama) return; } if(bps_players[id] == 0) { ColorChat(id, NORMAL, "^x04%s ^x01%L", pug_panama, LANG_PLAYER, "BPS_STATS") } else if(bps_players[id] == 1) { SkillRank2(id, jucator) } }
}
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
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: 818
Temas: 71
Registro en: Sep 2014
Reputación:
12
(07/01/2017, 06:08 PM)totopizza escribió: https://amxmodx-es.com/Thread-Explicaci%...rectamente
esa ultima me va pero solo en consola, no comprendo no tengo nada de hokeos,
en say normal: stats Totopo / no hace nada
en consola: say stats Topopo / hace lo que quiero que haga.
Mensajes: 1,902
Temas: 35
Registro en: Jan 2014
Reputación:
28
07/01/2017, 06:19 PM
(Última modificación: 07/01/2017, 06:20 PM por Chamo..)
PD:No vi el code, perdón.
Mensajes: 818
Temas: 71
Registro en: Sep 2014
Reputación:
12
07/01/2017, 07:18 PM
(Última modificación: 07/01/2017, 07:18 PM por PredatorFlys.)
hice esto y quedo como queria, igual gracias
Código PHP: register_clcmd(".stats", "stats_friend",_,"<Nombre>")
Código PHP: public stats_friend(id,level,cid) { if (!cmd_access(id, level, cid, 2) ) { ColorChat(id, GREEN,"%s^x01 debes escribir el nombre de un jugador...", pug_panama); return PLUGIN_HANDLED ; }
new argument[32]; read_argv(1,argument,31);
new jucator = cmd_target(id,argument,CMDTARGET_ALLOW_SELF);
if(!jucator) { ColorChat(id, GREEN,"%s^x01 jugador no disponible.", pug_panama); return PLUGIN_HANDLED; }
if(bps_players[id] == 0) { ColorChat(id, NORMAL, "^x04%s ^x01%L", pug_panama, LANG_PLAYER, "BPS_STATS") } else if(bps_players[id] == 1) { SkillRank2(id, jucator) } return PLUGIN_HANDLED; }
Mensajes: 2,454
Temas: 14
Registro en: Oct 2013
Reputación:
51
07/01/2017, 08:28 PM
(Última modificación: 07/01/2017, 08:30 PM por Manu.)
Sin probar.
Código PHP: public plugin_init( ) { // Code ... register_clcmd( "say", "ClientCommand_Say" ); }
public ClientCommand_Say( iId ) { static szCmd[64], szName[32]; read_args( szCmd, charsmax( szCmd ) ); remove_quotes( szCmd ); if( BreakString( szCmd, szCmd, charsmax( szCmd ), szName, charsmax( szName ), ' ' ) { if( containi( szCmd, "stats" ) >= 0 ) { if( equali( szName, "pug" ) ) { pug_stats_temp( iId ); } else { new iTarget = cmd_target( iId, szName, CMDTARGET_ALLOW_SELF|CMDTARGET_NO_BOTS ); if(bps_players[ iId ] == 0) { ColorChat( iId , NORMAL, "^x04%s ^x01%L", pug_panama, LANG_PLAYER, "BPS_STATS"); } else if(bps_players[ iId ] == 1) { if(!is_user_connected( iTarget )) SkillRank( iId ); else SkillRank2( iId , iTarget ); } } } } else { if( equali( szCmd, "toppug" ) ) { pug_stats_top( iId ); } else if( equali( szCmd, "resetstats" ) ) { RestartSkillPoints( iId ); } } }
bool:BreakString( const szString[], szLeft[], const iLeftLen, szRight[], const iRightLen, const cToken ) { new iLen = strlen( szString ); new bool:bCopyToRight = false; for( new i, j; i < iLen; i++, j++ ) { if( !bCopyToRight ) { if( szString[i] == cToken ) { bCopyToRight = true; j = -1; } else if( j <= iLeftLen ) szLeft[j] = szString[i]; } else if( j <= iRightLen ) szRight[j] = szString[i]; } return bCopyToRight; }
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes.
Mensajes: 818
Temas: 71
Registro en: Sep 2014
Reputación:
12
(07/01/2017, 08:28 PM)Treki escribió: Sin probar.
Código PHP: public plugin_init( ) { // Code ... register_clcmd( "say", "ClientCommand_Say" ); }
public ClientCommand_Say( iId ) { static szCmd[64], szName[32]; read_args( szCmd, charsmax( szCmd ) ); remove_quotes( szCmd ); if( BreakString( szCmd, szCmd, charsmax( szCmd ), szName, charsmax( szName ), ' ' ) { if( containi( szCmd, "stats" ) >= 0 ) { if( equali( szName, "pug" ) ) { pug_stats_temp( iId ); } else { new iTarget = cmd_target( iId, szName, CMDTARGET_ALLOW_SELF|CMDTARGET_NO_BOTS ); if(bps_players[ iId ] == 0) { ColorChat( iId , NORMAL, "^x04%s ^x01%L", pug_panama, LANG_PLAYER, "BPS_STATS"); } else if(bps_players[ iId ] == 1) { if(!is_user_connected( iTarget )) SkillRank( iId ); else SkillRank2( iId , iTarget ); } } } } else { if( equali( szCmd, "toppug" ) ) { pug_stats_top( iId ); } else if( equali( szCmd, "resetstats" ) ) { RestartSkillPoints( iId ); } } }
bool:BreakString( const szString[], szLeft[], const iLeftLen, szRight[], const iRightLen, const cToken ) { new iLen = strlen( szString ); new bool:bCopyToRight = false; for( new i, j; i < iLen; i++, j++ ) { if( !bCopyToRight ) { if( szString[i] == cToken ) { bCopyToRight = true; j = -1; } else if( j <= iLeftLen ) szLeft[j] = szString[i]; } else if( j <= iRightLen ) szRight[j] = szString[i]; } return bCopyToRight; }
tu forma de codear me vuelve un 8 total hahaha, gracias por el interés, intentare llevarlo a esa forma supongo que es mas optimo.
Mensajes: 2,454
Temas: 14
Registro en: Oct 2013
Reputación:
51
07/01/2017, 08:49 PM
(Última modificación: 07/01/2017, 08:49 PM por Manu.)
(07/01/2017, 08:41 PM)PredatorFlys escribió: tu forma de codear me vuelve un 8 total hahaha, gracias por el interés, intentare llevarlo a esa forma supongo que es mas optimo.
Código PHP: if( BreakString( szCmd, szCmd, charsmax( szCmd ), szName, charsmax( szName ), ' ' )
--> Me faltó un paréntesis -->
Código PHP: if( BreakString( szCmd, szCmd, charsmax( szCmd ), szName, charsmax( szName ), ' ' ) )
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes.
|