Comando -
Sti - 07.02.2015
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 :/
Re: Comando -
Sti - 08.02.2015
up! topico sem resposta..
Re: Comando -
JonathanFeitosa - 08.02.2015
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
Re: Comando -
Sti - 08.02.2015
Valeu por tirar seu tempo para me responder. Uma onwa! Obrigado. Funcionou!
Re: Comando -
JonathanFeitosa - 08.02.2015
Vocк pode por uma mensagem tambйm caso ele nгo й dessas orgs. ver ai eu editei.
Re: Comando - JkS - 08.02.2015
Amigo, recomendo vocк criar comandos utilizando ZCMD e sscanf.