Introdução
Bem, eu vi muitos aborrecedores saúde veículo textdraws, então, eu fiz isso, com o mesmo visual como a barra de saúde GTA original. Com isso inclua, você pode criar barras de progresso com a posição, tamanho e cor desejada. É muito simples de usar, vou mostrar aqui.
Funções
Retorna: a barra criada.
Use a
criação simples da barra de progresso:
Código:
Novo Barra: health = CreateProgressBar (50,0, 300,0, _, _, 0xFF0000FF, 100,0);
SetProgressBarValue (saúde, 50,0);
ShowProgressBarForAll (saúde);
E se eu quero destruí-lo:
E se eu quero destruí-lo:
Neste caso eu criei uma barra de progresso verde para mostrar a saúde real do veículo.
Nesta barra estou usando o tamanho da barra de progresso padrão (55.5, 3.2).
A cor de fundo (verde escuro neste caso), você não precisa declará-lo, o próprio incluir calcula a cor de fundo usando operações de RGBA hexadecimal.
Este script de exemplo:
Erros
Não há nenhum erro ainda. Informe aqui se encontrou um.
Futuras modificações
Download
Pastebinv1.3.1OLD VERSION
NOVA VERSÃO LINK (PASTEBIN)
http://pastebin.com/ZuLPd1K6
Graças a [HLF] Southclaw para as mudanças. Tenha em atenção que as funções foram alteradas nesta versão, por isso consulte o ficheiro de inclusão para ver os novos nomes e parâmetros das funções.
Coloque este script em um arquivo chamado "progress.inc", e coloque esse arquivo em sua pasta de inclusão. Em seguida, use "#include
New Progress Bar Creator
http://pastebin.com/P6iPFp9F
Vídeo:
Bem, eu vi muitos aborrecedores saúde veículo textdraws, então, eu fiz isso, com o mesmo visual como a barra de saúde GTA original. Com isso inclua, você pode criar barras de progresso com a posição, tamanho e cor desejada. É muito simples de usar, vou mostrar aqui.
Funções
- CreateProgressBar (x, y, largura, altura, cor, máximo)
Cria uma barra de progresso (quase o mesmo que TextDrawCreate). - x e y valores são a posição da barra na tela;
- Largura e altura são o tamanho da barra (eles têm valores padrão, basta colocar _ como parâmetro);
- A cor é a cor da barra, obviamente;
- Max é a porcentagem máxima que a barra pode alcançar (padrão 100).
Retorna: a barra criada.
- DestroyProgressBar (barid)
Destrói uma barra criada.
- ShowProgressBarForPlayer (playerid, barid)
Mostra simplesmente a barra de progresso dada para um jogador.
- HideProgressBarForPlayer (playerid, barid)
Oculta a barra de progresso de um jogador.
- ShowProgressBarForAll (barid)
Mostra a barra de progresso fornecida para todos os jogadores conectados.
- HideProgressBarForAll (barid)
Oculta a barra de progresso de todos os jogadores conectados.
- SetProgressBarValue (barid, value)
Altera a porcentagem atual da determinada barra de progresso (é ponto float). Lembre-se de que o valor máximo é o valor que você deu a ele em CreateProgressBar.
- GetProgressBarValue (barid)
Obtém o valor atual de uma barra de progresso .
Nota: retornará INVALID_BAR_VALUE se a barra não existir ou se algo der errado.
- SetProgressBarMaxValue (barid, max)
O valor máximo é dinâmico, você pode alterá-lo sempre que quiser e atualizará por si mesmo (o valor da barra de progresso atual permanecerá igual, a diferença que você vê na barra).
- SetProgressBarColor (barra, cor)
Define a cor da barra para o que você quiser. A inclusão agora suporta cores transparentes , portanto, tenha cuidado ao usar AA ou 00 como Alpha. Se você deseja que a cor seja totalmente colorida, use FF no final da cor (ou seja, 0x00FF00 FF ).
Toda vez que você usar esta função, você precisará usar a função "UpdateProgressBar", veja acima.
- UpdateProgressBar (barid, playerid = INVALID_PLAYER_ID)
Toda vez que você altera um valor ou cor de barra de progresso, é necessário atualizá-lo. Eu não incluí esta função diretamente em SetProgressBarValue / SetProgressBarColor, porque não é eficiente desta maneira.
Você pode simplesmente não usar o parâmetro playerid ea barra de progresso será atualizada para todos.
Use a
criação simples da barra de progresso:
Código:
Novo Barra: health = CreateProgressBar (50,0, 300,0, _, _, 0xFF0000FF, 100,0);
SetProgressBarValue (saúde, 50,0);
ShowProgressBarForAll (saúde);
E se eu quero destruí-lo:
E se eu quero destruí-lo:
- Código:
DestroyProgressBar (saúde);
Neste caso eu criei uma barra de progresso verde para mostrar a saúde real do veículo.
Nesta barra estou usando o tamanho da barra de progresso padrão (55.5, 3.2).
A cor de fundo (verde escuro neste caso), você não precisa declará-lo, o próprio incluir calcula a cor de fundo usando operações de RGBA hexadecimal.
Este script de exemplo:
- Código:
[size=13]#include <a_samp>
#include <progress>
Novo Bar: vhealth [MAX_PLAYERS] = {INVALID_BAR_ID, ...};
Forward ProgressBar ();
Public OnFilterScriptInit ()
{
SetTimer ("ProgressBar", 500, 1);
Return 1;
}
Public ProgressBar () // Eu prefiro não usar OnPlayerUpdate com textdraws
{
Para (novo playerid; playerid <MAX_PLAYERS; playerid ++) // Eu recomendo foreach (Player, playerid)
{
Veículo novo;
If ((vehicleid = GetPlayerVehicleID (playerid)) && vhealth [playerid]! = INVALID_BAR_ID)
{
Novo Flutuador: saúde;
GetVehicleHealth (veículo, saúde);
SetProgressBarValue (vhealth [playerid], saúde);
UpdateProgressBar (vhealth [playerid], playerid);
}
}
}
Public OnPlayerStateChange (playerid, newstate, oldstate)
{
If (oldstate == PLAYER_STATE_DRIVER)
{
DestroyProgressBar (vhealth [playerid]);
Vhealth [playerid] = INVALID_BAR_ID;
}
If (newstate == PLAYER_STATE_DRIVER)
{
Vhealth [playerid] = CreateProgressBar (548,5, 36,0, _, _, 0x00FF00FF, 1000,0);
ShowProgressBarForPlayer (playerid, vhealth [playerid]);
}
Return 1;
}[/size]
Erros
Não há nenhum erro ainda. Informe aqui se encontrou um.
Futuras modificações
- Use setproperty e getproperty para habilitar a comunicação entre uma barra de progresso gamemode e uma de filtroscript. Assim, você será capaz de destruir uma barra de progresso criada em um gamemode, pelo seu filterscript e etc
- Adicione suporte a cores transparentes.
- Faça um editor de barra prrogess, para obter coordenadas.
Download
Pastebinv1.3.1OLD VERSION
NOVA VERSÃO LINK (PASTEBIN)
http://pastebin.com/ZuLPd1K6
Graças a [HLF] Southclaw para as mudanças. Tenha em atenção que as funções foram alteradas nesta versão, por isso consulte o ficheiro de inclusão para ver os novos nomes e parâmetros das funções.
Coloque este script em um arquivo chamado "progress.inc", e coloque esse arquivo em sua pasta de inclusão. Em seguida, use "#include
New Progress Bar Creator
http://pastebin.com/P6iPFp9F
Vídeo: