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



Atualizar Progress Bar. - PowerEvolve - 21.02.2018

Bom pessoal, estou com um problema para atualizar a progress bar enquanto o player segura a tecla N.
Exemplo:
PHP код:
        if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        if (
HOLDING(KEY_NO))
        {
              
ShowProgressBarForPlayer(playeridExemplo); 
            
Valor2 [playerid] += 25
               
SetProgressBarValue(ExemploValor2[playerid]);
             
UpdateProgressBar(Exemploplayerid);
             if (
Valor2[playerid] == 100)
             {
                  
HideProgressBarForPlayer(playeridExemplo); 
                  
SetProgressBarValue (Exemplo0) ;
                new 
GetNearestItemID(playerid);
                if(
!= -1)
                {
                    if(
IsPlayerInRangeOfPoint(playerid1.5DropInfo[i][dPosX], DropInfo[i][dPosY], DropInfo[i][dPosZ]))
                    {
                        new 
str[45],
                            
itemid DropInfo[i][DropItemID];
                        
format(strsizeof(str), "{FFFFFF}>> %s"ItemInfo[itemid][Item_Name]);
                        
ShowPlayerDialog(playerid9798DIALOG_STYLE_MSGBOX,"Looting"str"Pegar""Fechar");
                    }
                }
            }
        }
        else if (
RELEASED(KEY_NO))
        
HideProgressBarForPlayer(playeridExemplo);
        
Valor2[playerid] = 0;
    }
    return 
1;

Estб tudo do jeito o certo o problema й que enquanto seguro a tecla N a progress nгo atualiza. Fica apenas em 25%


Re: Atualizar Progress Bar. - GuiKommander - 22.02.2018

Recomendo que utilize GetPVarInt, Exemplo:
PHP код:
SetPVarInt(playerid"Fome"100); 
Tutorial da Wiki:
https://sampwiki.blast.hk/wiki/GetPVarInt


Re: Atualizar Progress Bar. - JohnBlack - 22.02.2018

Quote:
Originally Posted by PowerEvolve
Посмотреть сообщение
Bom pessoal, estou com um problema para atualizar a progress bar enquanto o player segura a tecla N.
Exemplo:
PHP код:
        if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        if (
HOLDING(KEY_NO))
        {
              
ShowProgressBarForPlayer(playeridExemplo); 
            
Valor2 [playerid] += 25
               
SetProgressBarValue(ExemploValor2[playerid]);
             
UpdateProgressBar(Exemploplayerid);
             if (
Valor2[playerid] == 100)
             {
                  
HideProgressBarForPlayer(playeridExemplo); 
                  
SetProgressBarValue (Exemplo0) ;
                new 
GetNearestItemID(playerid);
                if(
!= -1)
                {
                    if(
IsPlayerInRangeOfPoint(playerid1.5DropInfo[i][dPosX], DropInfo[i][dPosY], DropInfo[i][dPosZ]))
                    {
                        new 
str[45],
                            
itemid DropInfo[i][DropItemID];
                        
format(strsizeof(str), "{FFFFFF}>> %s"ItemInfo[itemid][Item_Name]);
                        
ShowPlayerDialog(playerid9798DIALOG_STYLE_MSGBOX,"Looting"str"Pegar""Fechar");
                    }
                }
            }
        }
        else if (
RELEASED(KEY_NO))
        
HideProgressBarForPlayer(playeridExemplo);
        
Valor2[playerid] = 0;
    }
    return 
1;

Estб tudo do jeito o certo o problema й que enquanto seguro a tecla N a progress nгo atualiza. Fica apenas em 25%
Em que callback este code estб inserido?


Re: Atualizar Progress Bar. - PowerEvolve - 22.02.2018

Quote:
Originally Posted by JohnBlack
Посмотреть сообщение
Em que callback este code estб inserido?
Se quer ganhar post, procure outro tуpico cara.


Re: Atualizar Progress Bar. - GuilhermeW - 22.02.2018

Quote:
Originally Posted by GuiKommander
Посмотреть сообщение
Recomendo que utilize GetPVarInt, Exemplo:
PHP код:
SetPVarInt(playerid"Fome"100); 
Tutorial da Wiki:
https://sampwiki.blast.hk/wiki/GetPVarInt
Nгo recomendo o uso de PVars para scripts desse porte, PVars sгo para comunicar um script com outro fora dele, ou seja, um FS com um gamemode e vice-versa, porйm sгo um pouco mais lentas e sгo apenas para estes casos, no seu caso, aconselharia usar variбveis normais.


Re: Atualizar Progress Bar. - Meck - 12.03.2018

seria bom vocк utilizar um timer pra atualizar as bars


Re: Atualizar Progress Bar. - Injury - 12.03.2018

Bom, vamos lб,
O macro "HOLDING" nгo faz exatamente oque a nomeclatura diz (verificar se o player estб pressionando uma tecla sem soltб-la), explicando de forma mais fбcil, ele faz a mesma coisa que o "PRESSED" mas com algumas mudanзas, caso queira testar, use o cуdigo abaixo e tente segurar o botгo KEY_FIRE, irб mostrar a mensagem apenas uma vez.
Код HTML:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(((newkeys & (KEY_FIRE)) == (KEY_FIRE))) // HOLDING MACRO
	{
		SendClientMessage(playerid, -1, "a");
	}
	return 1;
}
O ideal seria um timer, como o amigo acima disse.