[Ajuda] SSCANF
#1

Boas pessoal, bom eu queria fazer um comando й o seguinte:

/autorizarvenda [1,2,3] [ID/NOME]
1 = casa
2 = empresa
3 = carro

no caso 1:

autorizadoavender = 1;

no caso 2:

autorizadoavender = 2;

no caso 3:

autorizadoavender = 3;

o resto:
PHP код:

new xoxotas;
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/vendercasa"cmdtexttrue10) == 0)
    {
        if(
xoxotas == 0)
        {
            
//maluco nao vende
        
}
        if(
xoxotas == 1)
        {
            
xoxotas 0;
            
//maluco vende a casa
        
}
        return 
1;
    }
    
    if (
strcmp("/venderempresa"cmdtexttrue10) == 0)
    {
        if(
xoxotas == 0)
        {
            
//maluco nao vende
        
}
        if(
xoxotas == 2)
        {
            
xoxotas 0;
            
//maluco vende a casa
        
}
        return 
1;
    }
    
    if (
strcmp("/vendercarro"cmdtexttrue10) == 0)
    {
        if(
xoxotas == 0)
        {
            
//maluco nao vende
        
}
        if(
xoxotas == 3)
        {
            
xoxotas 0;
            
//maluco vende a casa
        
}
        return 
1;
    }
    return 
0;

Reply
#2

Usa Switch
Reply
#3

i como se usa ele nunca usei pode me explicar?
Reply
#4

ata, mais o meu problema й so com o sscanf quero saber como eu faзo para setar para outro player oquele valor
Reply
#5

To fazendo um sistema aqui um pouco mais complexo que este mais com quase a mesma funзгo , quando eu acabar posto aqui.
Reply
#6

Use o processador de comandos y_cmd.. й bem melhor e mais facil.
Reply
#7

pawn Код:
YCMD:autorizarvendas ( playerid, params [ ], help )
{
    new
        targetid,
        int_option;

    if ( sscanf ( params, "du", int_option, targetid ) )
        return SendClientMessage ( playerid, -1, "Use: /autorizarvenda [1,2,3] [ID/NOME]" );

    if ( 0 >= int_option > 3 )
        return SendClientMessage ( playerid, -1, "Use somente opзхes 1 (casa), 2 (empresa) e 3 (carro)" );

    else if ( !IsPlayerConnected ( targetid ) || targetid == INVALID_PLAYER_ID )
        return SendClientMessage ( playerid, -1, "Jogador nгo conectado." );

    switch ( int_option )
    {
        case 1: SendClientMessage ( targetid, -1, "Um administrador te autorizou a vender a casa." );
        case 2: SendClientMessage ( targetid, -1, "Um administrador te autorizou a vender a empresa." );
        case 3: SendClientMessage ( targetid, -1, "Um administrador te autorizou a vender o carro." );
    }

    autorizadoavender [ targetid ] = int_option;

    return 1;
}
Reply
#8

Olб, Lуs! Gostaria de saber como funciona essa optimizaзгo "if ( 0 > int_option > 3 )" ?
Reply
#9

Quote:
Originally Posted by steak
Посмотреть сообщение
Olб, Lуs! Gostaria de saber como funciona essa optimizaзгo "if ( 0 > int_option > 3 )" ?
Nгo se trata de uma "optimizaзгo", й apenas uma maneira de checar se o valor estб entre 0 e 3, nesse caso, creio eu que seja a maneira mais simples de se fazer isso.

@edit

Inclusive, bem lembrado, havia esquecido do =
Reply
#10

Quote:
Originally Posted by steak
Посмотреть сообщение
Olб, Lуs! Gostaria de saber como funciona essa optimizaзгo "if ( 0 > int_option > 3 )" ?
HUAHEUAHUE, esse rjjj...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)