[Ajuda] Comando
#1

Bom, Estou tentando fazer um comando de profissão!
Assim:
Код:
	if( !strcmp( cmd, "/anunciarp", true ))
	{
	    if( pInfo[ playerid ][ Prof ] == PRESIDENTE || aInfo[ playerid ][ Admin ] == 1 || aInfo[ playerid ][ Gerente ] == 1 || !strcmp( playerClan[ playerid ], "ESTANDODSAD", true ) )
	    {
	    if( pInfo[ playerid ][ Level ] < 1200 )
	    {
	        SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você só pode enviar um anuncio global com level 5 ou superior !" );
	        return 1;
	    }
		if( presiAN[ playerid ] > gettime( ))
		{
			format( gStr, sizeof( gStr ), "[ x ] Aguarde %d segundos para fazer um novo comunicado !", presiAN[ playerid ] - gettime( ));
			SendClientMessage( playerid, COLOR_ERRO, gStr );
			return 1;
		}
		new length = strlen( cmdtext );
		while (( idx < length ) && ( cmdtext[ idx ] <= ' ' ))
		{
			idx++;
		}
		new offset = idx;
		new result[ 75 ];
		while (( idx < length ) && (( idx - offset ) < ( sizeof( result ) - 1 )) )
		{
			result[ idx - offset ] = cmdtext[ idx ];
			idx++;
		}
		result[ idx - offset ] = EOS;
		if( !strlen( result ))
		{
		 	SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /Anunciarp [ Mensagem ]" );
			return 1;
		}
		new
			jogadores[ 512 ]
		;
		format( jogadores, sizeof( jogadores ), "{9F9F9F}• » O(A) presidente(a){FFFFFF} %s{9F9F9F} fez um comúnicado: {FFFFFF}%s !", PlayerName( playerid ), result, playerid );
		SendClientMessageToAll( COLOR_BRANCO, jogadores );
		presiAN[ playerid ] = gettime( ) + 120;
   		return 1;
	}
Exemplo de um comando que SÓ PROFISSÃO pode fazer:
Код:
	if( !strcmp( cmd, "/perseguir", true ))
	{
	    if( pInfo[ playerid ][ Prof ] == POL_CIVIL || pInfo[ playerid ][ Prof ] == POL_MILITAR || pInfo[ playerid ][ Prof ] == DELEGADO || pInfo[ playerid ][ Prof ] == SWAT || pInfo[ playerid ][ Prof ] == EXERCITO || aInfo[ playerid ][ Admin ] == 1 || aInfo[ playerid ][ Gerente ] == 1 || !strcmp( playerClan[ playerid ], "F.B.I", true ) )
	    {
 			if( pInfo[ playerid ][ fardado ] == 0 && aInfo[ playerid ][ Admin ] == 0 && aInfo[ playerid ][ Gerente ] == 0 && !strcmp( playerClan[ playerid ], "F.B.I", true ) )
			{
			    SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não está fardado(a) !" );
			    SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você precisa está fardado(a) para adicionar um(a) jogador(a) na lista de perseguições!" );
			    return 1;
			}
			tmp = strtok( cmdtext, idx );
        	if( !strlen( tmp ))
          	{
				SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /perseguir [ ID ] [ motivo ]" );
				return 1;
         	}
  	      	new
				id = strval( tmp )
			;
			new length = strlen( cmdtext );
			while (( idx < length ) && ( cmdtext[ idx ] <= ' ' ))
			{
				idx++;
			}
			new offset = idx;
			new result[ 64 ];
			while (( idx < length ) && (( idx - offset ) < ( sizeof( result ) - 1 )) )
			{
				result[ idx - offset ] = cmdtext[ idx ];
				idx++;
			}
			result[ idx - offset ] = EOS;
  			if( !strlen( result ))
			{
				SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /perseguir [ ID ] [ Motivo ]" );
				return 1;
	     	}
        	if( !IsPlayerConnected( id ))
           	{
            	SendClientMessage( playerid, COLOR_ERRO, "[ x ] Ninguém online com esse ID !" );
	         	return 1;
        	}
        	if( Procurou[ playerid ] > gettime( ))
			{
			    format( gStr, sizeof( gStr ), "[ x ] Aguarde %d segundos para poder procurar um(a) jogador(a) !", Procurou[ playerid ] - gettime( ));
			    SendClientMessage( playerid, COLOR_ERRO, gStr );
				return 1;
			}
   	     	if( playerid == id )
          	{
				SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não pode colocar você mesmo na lista de procurados !" );
				return 1;
          	}
	     	if( GetPlayerWantedLevel( id ) > 0 )
        	{
				MensagemFormatada( playerid, COLOR_SISTEMA, "[ x ] O jogador %s já está na lista de procurados !", PlayerName( id ));
				return 1;
          	}
 			MensagemFormatada( id, 0x33FF33AA, "[ PERSEGUIÇÃO ] Você está sendo perseguido pela policia, Motivo: {FFFFFF}%s", PlayerName( playerid ), result );
          	MensagemFormatada( playerid, 0xFFFFFFAA, "[ PERSEGUIÇÃO ] Você colocou %s na lista de procurados pelo Motivo: {FFFFFF}%s", PlayerName( id ), result );
     		format( s5Doze, sizeof( s5Doze ), "[ PERSEGUIÇÃO ] O(a) policial %s iniciou perseguição ao(a) jogador(a) %s | Motivo: {FFFFFF}%s", PlayerName( playerid ), PlayerName( id ), result );
			SendClientMessageToAll( 0x0199FFFF, s5Doze );
			new
				L_Estrela
			;
          	L_Estrela = GetPlayerWantedLevel( id );
     		SetPlayerWantedLevel( id, L_Estrela + 1 );
          	Procurou[ playerid ] = gettime() + 60;
		}
		else
		{
 			SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não tem permissão !" );
		}
	    return 1;
	}
Oque define a permissão do GM que estou é:
Код:
if( pInfo[ playerid ][ Prof ] == POL_CIVIL || pInfo[ playerid ][ Prof ] == POL_MILITAR || pInfo[ playerid ][ Prof ] == DELEGADO || pInfo[ playerid ][ Prof ] == SWAT || pInfo[ playerid ][ Prof ] == EXERCITO || aInfo[ playerid ][ Admin ] == 1 || aInfo[ playerid ][ Gerente ] == 1 || !strcmp( playerClan[ playerid ], "F.B.I", true ) )
	    {
Já tentei deixar o código que eu quero assim
Код:
if( !strcmp( cmd, "/anunciarp", true ))
	{
      if( pInfo[ playerid ][ Prof ] == PRESIDENTE || aInfo[ playerid ][ Admin ] == 1 || aInfo[ playerid ][ Gerente ] == 1 || !strcmp( playerClan[ playerid ], "F.B.I", true ) )
	  {
		if( presiAN[ playerid ] > gettime( ))
		{
			format( gStr, sizeof( gStr ), "[ x ] Aguarde %d segundos para fazer um novo comunicado !", presiAN[ playerid ] - gettime( ));
			SendClientMessage( playerid, COLOR_ERRO, gStr );
			return 1;
		}
		new length = strlen( cmdtext );
		while (( idx < length ) && ( cmdtext[ idx ] <= ' ' ))
		{
			idx++;
		}
		new offset = idx;
		new result[ 75 ];
		while (( idx < length ) && (( idx - offset ) < ( sizeof( result ) - 1 )) )
		{
			result[ idx - offset ] = cmdtext[ idx ];
			idx++;
		}
		result[ idx - offset ] = EOS;
		if( !strlen( result ))
		{
		 	SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /Anunciarp [ Mensagem ]" );
			return 1;
		}
		new
			jogadores[ 512 ]
		;
		format( jogadores, sizeof( jogadores ), "{9F9F9F}• » O(A) presidente(a){FFFFFF} %s{9F9F9F} fez um comúnicado: {FFFFFF}%s !", PlayerName( playerid ), result, playerid );
		SendClientMessageToAll( COLOR_BRANCO, jogadores );
		presiAN[ playerid ] = gettime( ) + 120;
   		return 1;
	}
E não funcionou...
Me ajudem :/
Reply
#2

up! topico sem resposta..
Reply
#3

O quк nгo funcionou ?
pawn Код:
if( !strcmp( cmd, "/anunciarp", true ))
{
      if( pInfo[ playerid ][ Prof ] == PRESIDENTE || aInfo[ playerid ][ Admin ] == 1 || aInfo[ playerid ][ Gerente ] == 1 || !strcmp( playerClan[ playerid ], "F.B.I", true ) )
      {
        if( presiAN[ playerid ] > gettime( ))
        {
            format( gStr, sizeof( gStr ), "[ x ] Aguarde %d segundos para fazer um novo comunicado !", presiAN[ playerid ] - gettime( ));
            SendClientMessage( playerid, COLOR_ERRO, gStr );
            return 1;
        }
        new length = strlen( cmdtext );
        while (( idx < length ) && ( cmdtext[ idx ] <= ' ' ))
        {
            idx++;
        }
        new offset = idx;
        new result[ 75 ];
        while (( idx < length ) && (( idx - offset ) < ( sizeof( result ) - 1 )) )
        {
            result[ idx - offset ] = cmdtext[ idx ];
            idx++;
        }
        result[ idx - offset ] = EOS;
        if( !strlen( result ))
        {
            SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /Anunciarp [ Mensagem ]" );
            return 1;
        }
        new
            jogadores[ 512 ]
        ;
        format( jogadores, sizeof( jogadores ), "{9F9F9F}• » O(A) presidente(a){FFFFFF} %s{9F9F9F} fez um comъnicado: {FFFFFF}%s !", PlayerName( playerid ), result, playerid );
        SendClientMessageToAll( COLOR_BRANCO, jogadores );
        presiAN[ playerid ] = gettime( ) + 120;
    }
        else SendClientMessage(playerid, COLOR_BRANCO, "Vocк nгo pode usar esse comando");
        return true;
}
Nem vou olhar o code.. se for o problema de chaves.. estб ai
Reply
#4

Valeu por tirar seu tempo para me responder. Uma onwa! Obrigado. Funcionou!
Reply
#5

Vocк pode por uma mensagem tambйm caso ele nгo й dessas orgs. ver ai eu editei.
Reply
#6

Amigo, recomendo vocк criar comandos utilizando ZCMD e sscanf.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)