SA-MP Forums Archive
Ajuda Com Contador. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: Ajuda Com Contador. (/showthread.php?tid=274667)



Ajuda Com Contador. - xxzim - 06.08.2011

Bom pessoal fiz auguns pickup mais to com uma duvida aki quando o jogador passa pelo pickup inicia uma contagem ex:1/10 ,2/10 e vai mais como que eu faзo para quando o jogador sair do pickup a contagem para por exemplo ele nгo completa a contagem vamos supor que ele pare no 5/10 mais quando ele sai do pickup continua ate o 10/10 mais eu nгo queria que ele nгo continuace e outra duvida quando o jogador passa pelo pickup ele some mesmo que eu coloque o type 1.

Agradeзo desde ja.


Re: Ajuda Com Contador. - Shadoww5 - 07.08.2011

PHP код:
#define TEMPO 1 // SEGUNDOS
#define x 1529.6 // TROQUE PELA COORDENADA X
#define y -1691.2 // TROQUE PELA COORDENADA Y
#define z 13.3 // TROQUE PELA COORDENADA Z
new pickup;
new 
Contagem[MAX_PLAYERS];
public 
OnGameModeInit()
{
    
pickup = CreatePickup(1318, 1, x, y, z, -1);
    return 
1;
}
public 
OnPlayerPickUpPickup(playerid, pickupid)
{
    if(
pickupid == pickup)
    {
        if(
Contagem[playerid] == -1) { SendClientMessage(playerid, 0xFF0000FF, "Vocк jб completou o objetivo."); }
        if(
Contagem[playerid] == 0)
        {
            
SendClientMessage(playerid, 0xFFFF00FF, "Nгo saia daqui ! Contagem iniciada.");
            
SetTimerEx("Contar", TEMPO*1000, false, "i", playerid);
        }
    }
    return 
1;
}
forward Contar(playerid);
public 
Contar(playerid)
{
    new 
str[64];
    if(!
IsPlayerInRangeOfPoint(playerid, 1, x, y, z))
    {
        
SendClientMessage(playerid, 0xFF0000FF, "Vocк saiu do local ! Contagem finalizada.");
        
Contagem[playerid] = 0;
        return 
1;
    }
    
Contagem[playerid] ++;
    if(
Contagem[playerid] >= 10)
    {
        
SendClientMessage(playerid, 0xFFFF00FF, "Contagem: 10 / 10 ! Objetivo finalizado.");
        
Contagem[playerid] = -1;
        return 
1;
    }
    
format(str, sizeof str, "Contagem: %d / 10", Contagem[playerid]);
    
SendClientMessage(playerid, 0xFFFF00FF, str);
    
SetTimerEx("Contar", TEMPO*1000, false, "i", playerid);
    return 
1;
} 
Desta forma, se o jogador jб tiver completado o objetivo, ele nгo poderб fazк-lo novamente e, caso ele saia de perto da pickup, a contagem й finalizada.


Respuesta: Ajuda Com Contador. - xxzim - 07.08.2011

valew vo testar aki