SA-MP Forums Archive
[Ajuda] ProgressBar - 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] ProgressBar (/showthread.php?tid=526999)



ProgressBar - FernandoSS - 20.07.2014

To com dificuldades, para fazer com que a progressbar inves de carregar, descarregar, queria que ela viesse da direita para esquerda.
Alguem sabe como fazer?
Ja pequisei mas nao achei uma eplicaзao.

pawn Код:
#define FomeTempo  1 //define o tempo para ficar com fome
forward Fome(playerid);


public OnGameModeInit()
{
    FomeB = CreateProgressBar(552.00, 321.00, 55.50, 4.19, -16776961, 100.1);
    SetProgressBarMaxValue(FomeB, 100);
    return 1;
}

public OnGameModeExit()
{
    HideProgressBarForAll(FomeB);
    return 1;
}

public OnPlayerConnect(playerid)
{
    SetPVarInt(playerid,"Fome", 100);
    ShowProgressBarForPlayer(playerid, FomeB);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    SetTimerEx("Fome", FomeTempo*60000 , 1, "i", playerid);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    SetProgressBarValue(FomeB,0);
    UpdateProgressBar(FomeB,playerid);
    SetPVarInt(playerid,"Fome",101);
    return 1;
}

public Fome(playerid)
{
    SetPVarInt(playerid,"Fome", GetPVarInt(playerid, "Fome")-1);
    SetProgressBarValue(FomeB, GetPVarInt(playerid, "Fome"));
    UpdateProgressBar(FomeB, playerid);
    if(GetPVarInt(playerid, "Fome") <= 10)
    {
        new Float:vida;
        GetPlayerHealth(playerid, vida), SetPlayerHealth(playerid, vida-90.0);
        SendClientMessage(playerid, BRANCO, "|STATUS| Vocк esta com Fome, coma algum lanche ou vai Morrer de Fome");
        PlayerPlaySound(playerid, 1057, 0, 0, 0);
    }
    return true;
}



Re: ProgressBar - zSuYaNw - 20.07.2014

Tente isto:
pawn Код:
#include a_samp

#define FomeTempo  1 //define o tempo para ficar com fome
forward Fome(playerid);

// ****** ATENЗГO Mude "FomeB" para "FomeB[MAX_PLAYERS]"
new FomeB[MAX_PLAYERS];




// **** ATENЗГO MUDE PARA ONPLAYERCONNECT
public OnPlayerConnect(playerid)
{
    FomeB[playerid] = CreateProgressBar(552.00, 321.00, 55.50, 4.19, -16776961, 100.1);
    SetProgressBarMaxValue(FomeB[playerid], 100);
    return 1;
}

public OnGameModeExit()
{
    HideProgressBarForAll(FomeB[playerid]);
    return 1;
}

public OnPlayerConnect(playerid)
{
    SetPVarInt(playerid,"Fome", 100);
    ShowProgressBarForPlayer(playerid, FomeB[playerid]);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    SetTimerEx("Fome", FomeTempo*60000 , 1, "i", playerid);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    SetProgressBarValue(FomeB[playerid],0);
    UpdateProgressBar(FomeB[playerid],playerid);
    SetPVarInt(playerid,"Fome",101);
    return 1;
}

public Fome(playerid)
{
    static
        tBar
    ;
   
    tBar = GetPVarInt(playerid, "Fome");
   
    tBar --;

    // Simples DEBUG
    printf("Barra: %d", tBar);
   
    SetPVarInt(playerid,"Fome", tBar);
   
    SetProgressBarValue(FomeB[playerid], tBar);
   
    UpdateProgressBar(FomeB[playerid], playerid);
   
   
    if(GetPVarInt(playerid, "Fome") <= 10)
    {
        new Float:vida;
        GetPlayerHealth(playerid, vida), SetPlayerHealth(playerid, vida-90.0);
        SendClientMessage(playerid, BRANCO, "|STATUS| Vocк esta com Fome, coma algum lanche ou vai Morrer de Fome");
        PlayerPlaySound(playerid, 1057, 0, 0, 0);
    }
    return true;
}

PS: Leia os comentбrios.


Re: ProgressBar - FernandoSS - 20.07.2014

Ta dando esse erro.

pawn Код:
433         HideProgressBarForAll(FomeB[playerid]);
pawn Код:
C:\Users\Fernando\Desktop\PROJETO MVR\gamemodes\MVR.pwn(433) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.



Re: ProgressBar - zSuYaNw - 20.07.2014

Bote esta linha no OnPlayerDisconnect, erro meu, desculpe.


Re: ProgressBar - FernandoSS - 20.07.2014

Olhe, antes de eu ver o post aqui eu comentei esta linha e compilei, mas no jogo nao esta carregada, tipo a progressBar tava descarregada.

E do jeito que eu postei ai em cima(1°) ele demora 1 min para aparecer cheia e comeзar a diminuir.


Re: ProgressBar - zSuYaNw - 20.07.2014

Adicionou

Код:
    FomeB[playerid] = CreateProgressBar(552.00, 321.00, 55.50, 4.19, -16776961, 100.1);
    SetProgressBarMaxValue(FomeB[playerid], 100);
no OnPlyerConnect?


Re: ProgressBar - FernandoSS - 20.07.2014

Sim coloquei na OnPlayerConnect.

Fiz agora do jeito que vc disse e nao deu erros, mas a progress nao apareceu cheia, ela demora um tempo para aparecer cheia.


Re: ProgressBar - zSuYaNw - 20.07.2014

Subistitui aй

pawn Код:
public OnPlayerConnect(playerid){

    FomeB[playerid] = CreateProgressBar(552.00, 321.00, 55.50, 4.19, -16776961, 100.1);
    SetProgressBarMaxValue(FomeB[playerid], 100);

    SetPVarInt(playerid,"Fome", 100);
   
    SetProgressBarValue(FomeB[playerid], GetPVarInt(playerid,"Fome"));
   
    ShowProgressBarForPlayer(playerid, FomeB[playerid]);
    return 1;
}



Re: ProgressBar - FernandoSS - 20.07.2014

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
Subistitui aй

pawn Код:
public OnPlayerConnect(playerid){

    FomeB[playerid] = CreateProgressBar(552.00, 321.00, 55.50, 4.19, -16776961, 100.1);
    SetProgressBarMaxValue(FomeB[playerid], 100);

    SetPVarInt(playerid,"Fome", 100);
   
    SetProgressBarValue(FomeB[playerid], GetPVarInt(playerid,"Fome"));
   
    ShowProgressBarForPlayer(playerid, FomeB[playerid]);
    return 1;
}
Perfect !!
Tudo okay ogora.
Agora vou para proxima etapa nada facil, que quando ele for avisado q sentir fome, ele come algo, e a fome retorna 100.0, tipo na hora que ele comprar o lanche a fome dele volta a 100.

depois que eu conseguir fazer esse sistema, ele estara completo, sistema de fome, sede, e sono, com um design super profi...

vlw pela ajuda +Rep


Re: ProgressBar - zSuYaNw - 20.07.2014

Funcionou? Estamos aн na atividade :3