[Ajuda] ProgressBar
#1

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;
}
Reply
#2

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.
Reply
#3

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.
Reply
#4

Bote esta linha no OnPlayerDisconnect, erro meu, desculpe.
Reply
#5

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.
Reply
#6

Adicionou

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

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.
Reply
#8

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;
}
Reply
#9

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
Reply
#10

Funcionou? Estamos aн na atividade :3
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)