SA-MP Forums Archive
[Pedido] Como faзo isso? - 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: [Pedido] Como faзo isso? (/showthread.php?tid=636560)



Como faзo isso? - TheCrazyy - 29.06.2017

Galera queria saber como eu faзo para colocar um textdraw para ir diminuindo em um certo tempo?


Re: Como faзo isso? - MorteAmerica - 29.06.2017

Tipo barra de fome e sede?

ProgressBar By PauloR


Respuesta: Como faзo isso? - TheCrazyy - 29.06.2017

Sim mais seria um marcador de combustivel


Re: Como faзo isso? - MorteAmerica - 29.06.2017

Use no sentido que desejar. Tutorial somente de base.


Respuesta: Como faзo isso? - TheCrazyy - 29.06.2017

meu velocimetro tem um timer de atualizar , tenho que colocar para att a barra no dentro do timer?


Re: Como faзo isso? - GSFBart - 29.06.2017

Dentro da callback que o timer executa


Respuesta: Como faзo isso? - TheCrazyy - 29.06.2017

static Float: combu;
TextDrawTextSize(textVelocimetro[6], (140.0 - ((101.0 * --combu) / 100)), 0.0);
TextDrawShowForPlayer(playerid, textVelocimetro[6]);
if(combu< 100.0) SetTimerEx("AtVelo", 100, true, "i", playerid);
else if(combu--)
{
SendClientMessage(playerid, -1, "Acabou a gasolina.");
}

onde uso isso (to usando na callback do timer ) ta certo?


Re: Como faзo isso? - GSFBart - 29.06.2017

Timer de 100ms tu vai matar o servidor kkkkk

PHP код:
//No topo
#include ProgressBar
static Gasolina[MAX_PLAYERS],
       
TimerGasolina[MAX_PLAYERS],
       
PlayerBar:BarraGasolina[MAX_PLAYERS];
// ----------------------------------------------------------------------------------------------------------- //
public OnPlayerConnect(playerid)
{
    
BarraGasolina[playerid] = CreatePlayerProgressBar(playeridFloat:xFloat:y55.53.20xFFFF00AA100.0); //Substitua pelas suas coordenadas e cor
    
return 1;
}
// ----------------------------------------------------------------------------------------------------------- //
forward DiminuirGasolina(playerid);
public 
DiminuirGasolina(playerid)
{
    new 
StringGasolina[20];
    
Gasolina[playerid]--;
    
SetPlayerProgressBarValue(playeridBarraGasolina[playerid], Gasolina[playerid]);
    if(
Gasolina[playerid] == 0)
    {
        
SendClientMessage(playerid, -1"[ x ] Sua gasolina acabou!");
        
KillTimer(TimerGasolina[playerid]);
        return 
SetVehicleParamsEx(GetPlayerVehicleID(playerid), 00, -1, -1, -1, -1, -1);
    }
    if(
Gasolina[playerid] <= 10SendClientMessage(playerid, -1"[ > ] Vocк estб ficando sem gasolina, abasteзa no posto mais prуximo.");
    return 
1;
}
// ----------------------------------------------------------------------------------------------------------- //
public OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
newstate == PLAYER_STATE_DRIVER)
    {
        
ShowPlayerProgressBar(playeridBarraGasolina[playerid]);
        if(
Gasolina[playerid] == 0)
        {
            
SendClientMessage(playerid, -1"[ x ] Vocк estб sem gasolina e precisa abastecer!");
            return 
SetVehicleParamsEx(GetPlayerVehicleID(playerid), 00, -1, -1, -1, -1, -1);
        }
        
TimerGasolina[playerid] = SetTimerEx("DiminuirGasolina"300000true"d"playerid); //5 minutos
    
}
    if(
oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
        
HidePlayerProgressBar(playeridBarraGasolina[playerid]);
        
KillTimer(TimerGasolina[playerid]);
    }
    return 
1;
}
// ----------------------------------------------------------------------------------------------------------- //
public OnPlayerDisconnect(playeridreason)
{
    if(
IsPlayerInAnyVehicle(playerid) && Gasolina[playerid] > 0KillTimer(TimerGasolina[playerid]);
    return 
1;

Acho que tб certo, nгo testei e tambйm nunca mexi com ProgressBar kkk

Link do tуpico da include: https://sampforum.blast.hk/showthread.php?tid=113443