[Ajuda] Prisão/Tempo
#1

Bom,Meu cod está assim, Ex: Sou Advogado um Preso pede Advogado dai quando eu vou soltar ele,Ao invez dele sair eu que vou pra fora da Prisão e ele fica lá dentro! '-'
E a outra do Tempo,Você está preso e o Tempo não corre!


Meu Soltar!
pawn Код:
if( !strcmp( cmd, "/soltar", true ))
    {
        if( pInfo[ playerid ][ Prof ] == ADVOGADO || aInfo[ playerid ][ Admin ] == 1 )
        {
            tmp = strtok( cmdtext, idx );
            if( !strlen( tmp ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /Soltar [ ID ]" );
                return 1;
            }
            new
                id = strval( tmp )
            ;
            if( !IsPlayerConnected( id ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Ninguém online com esse ID !" );
                return 1;
            }
            format( gFile, sizeof( gFile ), "Contas/%s.ini", PlayerName( id ));
            if( dini_Int( gFile, "Abuser" ) == 1 )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Esse(a) jogador(a) é abuser e foi preso(a) por um(a) administrador(a) !" );
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Somente um(a) adminstrador(a) pode solta-lo(a) !" );
                return 1;
            }
            if( Soltou[ playerid ] > gettime( ))
            {
                format( gStr, sizeof( gStr ), "[ x ] Aguarde %d segundos para poder soltar um(a) jogador(a) !", Soltou[ playerid ] - gettime( ));
                SendClientMessage( playerid, COLOR_ERRO, gStr );
                return 1;
            }
            if( playerid == id )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não pode soltar você mesmo !" );
                return 1;
            }
            if( pInfo[ id ][ Preso ] == 0 )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Esse(a) jogador(a) não está preso(a) !" );
                return 1;
            }
            if( cAdvogadop[ id ] < gettime( ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Esse(a) jogador(a) não pediu um(a) advogado(a) !" );
                return 1;
            }
            GameTextForPlayer( id, "~w~A LIBERDADE CANTOU!", 3000, 0 );
            MensagemFormatada( id, 0x3366FFAA, "[ INFO ] O(A) advogado(a) %s soltou você. Não cometa mais nenhum crime ou será preso novamente !", PlayerName( playerid ));
            SendClientMessage( id, COLOR_BRANCO, "[ > ] Foi retirado de sua conta bancaria $3000 para pagar o advogado." );
            MensagemFormatada( playerid, 0x33CCFFAA, "[ INFO ] Você soltou da prisão o(a) jogador(a) %s", PlayerName( id ));
            SendClientMessage( playerid, COLOR_BRANCO, "[ > ] Você recebe $900 pelo serviço prestado, o dinheiro foi depositado em sua conta bancária." );
            pInfo[ id ][ Preso ] = 0;
            format( gFile, sizeof( gFile ), "Contas/%s.ini", PlayerName( playerid ));
            format( pFile, sizeof( pFile ), "Contas/%s.ini", PlayerName( id ));
            dini_IntSet( gFile, "SaldoBanco", dini_Int( gFile, "SaldoBanco" ) +900 );
            dini_IntSet( pFile, "SaldoBanco", dini_Int( pFile, "SaldoBanco" ) -3000 );
            SetPlayerPos( playerid, 265.9714, 83.1550, 1001.0391 );
            SetPlayerInterior( playerid, 6 );
            if( aInfo[ playerid ][ Admin ] == 0 )
            {
                Soltou[ playerid ] = gettime() + 60;
            }
        }
        else
        {
            SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não é um(a) advogado(a) !" );
        }
        return 1;
    }
Prender:

pawn Код:
if( !strcmp( cmd, "/prender", true ))
    {
        if( pInfo[ playerid ][ Prof ] == GUARDA_TRANSITO || 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 )
        {
            if( pInfo[ playerid ][ fardado ] == 0 && aInfo[ playerid ][ Admin ] == 0 )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não está fardado(a) !" );
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você precisa está fardado(a) para prender um(a) jogador(a) !" );
                return 1;
            }
            tmp = strtok( cmdtext, idx );
            if( !strlen( tmp ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /prender [ 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: /Prender [ ID ] [ Motivo ]" );
                return 1;
            }
            if( !IsPlayerConnected( id ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Ninguém online com esse ID !" );
                return 1;
            }
            if( Prendeu[ playerid ] > gettime( ))
            {
                format( gStr, sizeof( gStr ), "[ x ] Aguarde %d segundos para poder prender um(a) jogador(a) !", Prendeu[ playerid ] - gettime( ));
                SendClientMessage( playerid, COLOR_ERRO, gStr );
                return 1;
            }
            if( playerid == id && aInfo[ playerid ][ Admin ] == 0 )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não pode prender você mesmo !" );
                return 1;
            }
            if( pInfo[ id ][ Preso ] > 0 )
            {
                MensagemFormatada( playerid, COLOR_SISTEMA, "[ x ] O(A) jogador(a) %s já está preso(a) !", PlayerName( id ));
                return 1;
            }
            if( GetPlayerWantedLevel( id ) <= 0 )
            {
                format( gStr, 128, "[ x ] O(A) jogador(a) %s não está na lista de procurados(as) !", PlayerName( id ));
                SendClientMessage( playerid, COLOR_ERRO, gStr );
                return 1;
            }
            if( IsPlayerInAnyVehicle( playerid ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não pode prender de dentro de um veículo !" );
                return 1;
            }
            if( IsPlayerInAnyVehicle( id ))
            {
                MensagemFormatada( playerid, COLOR_ERRO, "[ x ] Você não pode prender %s com ele(a) dentro de um veículo !", PlayerName( id ));
                return 1;
            }
            if( GetDistanceBetweenPlayers( playerid, id ) > 15 )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você está muito longe, chegue mais perto !" );
                return 1;
            }
            if( pInfo[ id ][ procMorto ] == true )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não pode prender um(a) jogador(a) morto(a) !" );
                return 1;
            }
            GivePlayerCash( playerid, 800 );
            MensagemFormatada( id, 0x3366FFAA, "[ PRISÃO ] %s prendeu você pelo Motivo: {FFFFFF}%s", PlayerName( playerid ), result );
            MensagemFormatada( playerid, 0x33CCFFAA, "[ PRISÃO ] Você prendeu %s pelo Motivo: {FFFFFF}%s", PlayerName( id ), result );
            format( s5Doze, sizeof( s5Doze ), "[ PRISÃO ] O(A) jogador(a) %s prendeu o(a) jogador(a) %s pelo Motivo: {FFFFFF}%s", PlayerName( playerid ), PlayerName( id ), result );
            SendClientMessageToAll( 0x0199FFFF, s5Doze );
            SendClientMessage( playerid, COLOR_AMARELO, "[ > ] Você recebe R$800 pelo serviço prestado." );
            Algemado[ id ] = 0;
            Prender( id );
            if( aInfo[ playerid ][ Admin ] == 0 )
            {
                Prendeu[ playerid ] = gettime() + 60;
            }
        }
        else
        {
            SendClientMessage( playerid, COLOR_ERRO, "[ x ] Você não tem permissão !" );
        }
        return 1;
    }
Reply
#2

Vocк errou no soltar , olhe oque tem ali :

SetPlayerPos( playerid, 265.9714, 83.1550, 1001.0391 );

SetPlayerInterior( playerid, 6 );


Sobre o tempo , mande a funзгo "Prender(playerid);" pra min ver .
Reply
#3

Então no Caso do Playerid eu coloco qual ??

Função prender está ali --'
Reply
#4

pawn Код:
if( !strcmp( cmd, "/soltar", true ))
    {
        if( pInfo[ playerid ][ Prof ] == ADVOGADO || aInfo[ playerid ][ Admin ] == 1 )
        {
            tmp = strtok( cmdtext, idx );
            if( !strlen( tmp ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Uso correto: /Soltar [ ID ]" );
                return 1;
            }
            new
                id = strval( tmp )
            ;
            if( !IsPlayerConnected( id ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Ninguйm online com esse ID !" );
                return 1;
            }
            format( gFile, sizeof( gFile ), "Contas/%s.ini", PlayerName( id ));
            if( dini_Int( gFile, "Abuser" ) == 1 )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Esse(a) jogador(a) й abuser e foi preso(a) por um(a) administrador(a) !" );
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Somente um(a) adminstrador(a) pode solta-lo(a) !" );
                return 1;
            }
            if( Soltou[ playerid ] > gettime( ))
            {
                format( gStr, sizeof( gStr ), "[ x ] Aguarde %d segundos para poder soltar um(a) jogador(a) !", Soltou[ playerid ] - gettime( ));
                SendClientMessage( playerid, COLOR_ERRO, gStr );
                return 1;
            }
            if( playerid == id )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Vocк nгo pode soltar vocк mesmo !" );
                return 1;
            }
            if( pInfo[ id ][ Preso ] == 0 )
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Esse(a) jogador(a) nгo estб preso(a) !" );
                return 1;
            }
            if( cAdvogadop[ id ] < gettime( ))
            {
                SendClientMessage( playerid, COLOR_ERRO, "[ x ] Esse(a) jogador(a) nгo pediu um(a) advogado(a) !" );
                return 1;
            }
            GameTextForPlayer( id, "~w~A LIBERDADE CANTOU!", 3000, 0 );
            MensagemFormatada( id, 0x3366FFAA, "[ INFO ] O(A) advogado(a) %s soltou vocк. Nгo cometa mais nenhum crime ou serб preso novamente !", PlayerName( playerid ));
            SendClientMessage( id, COLOR_BRANCO, "[ > ] Foi retirado de sua conta bancaria $3000 para pagar o advogado." );
            MensagemFormatada( playerid, 0x33CCFFAA, "[ INFO ] Vocк soltou da prisгo o(a) jogador(a) %s", PlayerName( id ));
            SendClientMessage( playerid, COLOR_BRANCO, "[ > ] Vocк recebe $900 pelo serviзo prestado, o dinheiro foi depositado em sua conta bancбria." );
            pInfo[ id ][ Preso ] = 0;
            format( gFile, sizeof( gFile ), "Contas/%s.ini", PlayerName( playerid ));
            format( pFile, sizeof( pFile ), "Contas/%s.ini", PlayerName( id ));
            dini_IntSet( gFile, "SaldoBanco", dini_Int( gFile, "SaldoBanco" ) +900 );
            dini_IntSet( pFile, "SaldoBanco", dini_Int( pFile, "SaldoBanco" ) -3000 );
            SetPlayerPos( id, 265.9714, 83.1550, 1001.0391 );
            SetPlayerInterior( id, 6 );
            if( aInfo[ playerid ][ Admin ] == 0 )
            {
                Soltou[ playerid ] = gettime() + 60;
            }
        }
        else
        {
            SendClientMessage( playerid, COLOR_ERRO, "[ x ] Vocк nгo й um(a) advogado(a) !" );
        }
        return 1;
    }
Reply
#5

Quero saber a "stock" ou "public" > "Prender" que vocк tem no seu GM.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)