[Duda] їComo hago esto?
#1

Buenas amigasos de SAMP tengo una pequeсa dudita la cual es:

pawn Код:
YCMD:desbanex(playerid, params[], help)
{
    if( g_PlayerInfo[playerid][pAdmin] > 3 )
    {
        if(pAdminDuty[playerid] == 1)
        {
            static TargetID, BANEADO[24], tReason[50], query[69], pBan[69], MyString[135];
            if( help ) return SendClientMessage( playerid, COLOR_BLUE, "[Informaciуn]: Este comando sirve para desbanear a un usuario." );
            if( !sscanf(params, "s[24]s[50]", BANEADO, tReason) )
            {
                //if( TargetID == playerid )            return SendClientMessage( playerid, COLOR_ERROR, "[Error]: No puedes usar este comando en si mismo." );
                if( strlen( tReason ) > 50 )        return SendClientMessage( playerid, COLOR_ERROR, "[Error]: Caracteres maximos: 50." );
                if( TargetID == INVALID_PLAYER_ID ) return SendClientMessage( playerid, COLOR_ERROR, "[Error]: ID invalida." );
                if( strlen( BANEADO ) > 24 )        return SendClientMessage( playerid, COLOR_ERROR, "[Error]: Nombre maximo: 24 caracteres." );
                format( MyString, sizeof MyString, "{FF0000}[AdmWarning]: {FF8000}%s - Desbaneу a %s - Razуn: %s.", GetName(playerid), BANEADO, tReason );
                SendAdminMessage( playerid, COLOR_ADMIN, MyString );
                mysql_format(g_Handle, query,"DELETE FROM `Baneados` WHERE `Baneado` = '%s'", BANEADO);
                mysql_function_query(g_Handle, query, false, "SendQuery", "");
                mysql_format(g_Handle, pBan,"DELETE FROM `Seriales` WHERE `Baneado` = '%s'", BANEADO);
                mysql_function_query(g_Handle, pBan, false, "SendQuery", "");
            }
            else return SendClientMessage( playerid, COLOR_YELLOW, "Uso: /desbanex [NOMBRE_APELLIDO] [RAZУN]" );
        }
        else return PlayerPlaySound(playerid,1054,0.0,0.0,0.0), SendClientMessage( playerid, COLOR_ERROR, "[Error]: Usted debe estar On Duty para usar este comando." );
    }
    else return PlayerPlaySound(playerid,1054,0.0,0.0,0.0), SendClientMessage( playerid, COLOR_ERROR, "[Error]: Usted no esta autorizado para usar este comando." );
    return 1;
}
їComo hago para que este CMD funcione solo si ponen _ (Nombre_Apellido)?

Trate con strfind pero no me salio y bueno vine aver si me dan una ayudita por favor.

PD: Tambiйn les agradeceria si me dicen cuales son los caracteres minimos de un Nick en SAMP.

Muchas Gracias.

Un saludo.
Reply
#2

si usaras ReturnUser no seria mejor ??
Reply
#3

Quote:
Originally Posted by cesar_******
Посмотреть сообщение
si usaras ReturnUser no seria mejor ??
Perdуn por mi ignorancia, pero como aplico lo que dices porque busque en la wiki y nada xD.

Muchas gracias.

Un saludo.
Reply
#4

PHP код:
#include <utils>
CMD:Holaplayerid params[] )
{
    if( !
sscanf(params"u[24]"params ) ) return SendClientMessageplayerid, -1"usar: Hola 'Parte del nombre / id' " );
    new 
Player ReturnUser(params), str[64];
    
format(str,sizeof(str),"el id %d te saludo"playerid);
    
SendClientMessagePlayer, -1str);
    return 
true;

Reply
#5

Quote:
Originally Posted by cesar_******
Посмотреть сообщение
PHP код:
#include <utils>
CMD:Holaplayerid params[] )
{
    if( !
sscanf(params"u[24]"params ) ) return SendClientMessageplayerid, -1"usar: Hola 'Parte del nombre / id' " );
    new 
Player ReturnUser(params), str[64];
    
format(str,sizeof(str),"el id %d te saludo"playerid);
    
SendClientMessagePlayer, -1str);
    return 
true;

Muchas gracias, pero esta funciуn afectaria mi CMD mal ya que hize este CMD para desbanear un usuario no para banear y por lo tanto creo que no me dejaria desbanear un usuario o me equivoco?.

Muchas gracias.

Un saludo.
Reply
#6

Quote:
Originally Posted by oOFotherOo
Посмотреть сообщение
Muchas gracias, pero esta funciуn afectaria mi CMD mal ya que hize este CMD para desbanear un usuario no para banear y por lo tanto creo que no me dejaria desbanear un usuario o me equivoco?.

Muchas gracias.

Un saludo.
ReturnUser Sirve ejemplo colocas /GiveWeapon Cesar_****** 24 500

me estarias dando a mi la desert con 500 balas entiendes osea ??

/desban Cesar_******

creas una funcion q busque el nombre en un archivo especifico y lo desbanee que tan difнcil te parece ??
Reply
#7

pawn Код:
if(strfind(string, "_", true) != -1)
Reply
#8

Quote:
Originally Posted by cesar_******
Посмотреть сообщение
ReturnUser Sirve ejemplo colocas /GiveWeapon Cesar_****** 24 500

me estarias dando a mi la desert con 500 balas entiendes osea ??

/desban Cesar_******

creas una funcion q busque el nombre en un archivo especifico y lo desbanee que tan difнcil te parece ??
Pasa que uso MySQL y hize un sistema de ban por serial y un sistema de bloqueo de cuenta por nick y estas estan separadas en diferentes tablas y no necesitaria una funcion para buscar el nombre ya que al ingresar el nombre lo busca en la tabla, fijate bien en el CMD.

PD: El sistema funciona a la perfecciуn pero lo unico que necesito es el _.

Muchas gracias.

Un saludo.
Reply
#9

pawn Код:
YCMD:desbanex(playerid, params[], help)
{
    if( g_PlayerInfo[playerid][pAdmin] > 3 )
    {
        if(pAdminDuty[playerid] == 1)
        {
            static TargetID, BANEADO[24], tReason[50], query[69], pBan[69], MyString[135];
            if( help ) return SendClientMessage( playerid, COLOR_BLUE, "[Informaciуn]: Este comando sirve para desbanear a un usuario." );
            if( !sscanf(params, "s[24]s[50]", BANEADO, tReason) )
            {
                new TieneGuionBajo = 0;
                for(new i, d = strlen(BANEADO); i < d; i++) if(BANEADO[i] == '_') TieneGuionBajo = 1;
                if(!TieneGuionBajo) return SendClientMessage(playerid, COLOR_ERROR, "[Error]: Este no es un nombre valido");
                //if( TargetID == playerid )            return SendClientMessage( playerid, COLOR_ERROR, "[Error]: No puedes usar este comando en si mismo." );
                if( strlen( tReason ) > 50 )        return SendClientMessage( playerid, COLOR_ERROR, "[Error]: Caracteres maximos: 50." );
                if( TargetID == INVALID_PLAYER_ID ) return SendClientMessage( playerid, COLOR_ERROR, "[Error]: ID invalida." );
                if( strlen( BANEADO ) > 24 )        return SendClientMessage( playerid, COLOR_ERROR, "[Error]: Nombre maximo: 24 caracteres." );
                format( MyString, sizeof MyString, "{FF0000}[AdmWarning]: {FF8000}%s - Desbaneу a %s - Razуn: %s.", GetName(playerid), BANEADO, tReason );
                SendAdminMessage( playerid, COLOR_ADMIN, MyString );
                mysql_format(g_Handle, query,"DELETE FROM `Baneados` WHERE `Baneado` = '%s'", BANEADO);
                mysql_function_query(g_Handle, query, false, "SendQuery", "");
                mysql_format(g_Handle, pBan,"DELETE FROM `Seriales` WHERE `Baneado` = '%s'", BANEADO);
                mysql_function_query(g_Handle, pBan, false, "SendQuery", "");
            }
            else return SendClientMessage( playerid, COLOR_YELLOW, "Uso: /desbanex [NOMBRE_APELLIDO] [RAZУN]" );
        }
        else return PlayerPlaySound(playerid,1054,0.0,0.0,0.0), SendClientMessage( playerid, COLOR_ERROR, "[Error]: Usted debe estar On Duty para usar este comando." );
    }
    else return PlayerPlaySound(playerid,1054,0.0,0.0,0.0), SendClientMessage( playerid, COLOR_ERROR, "[Error]: Usted no esta autorizado para usar este comando." );
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)