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(playerid, Exemplo);
Valor2 [playerid] += 25;
SetProgressBarValue(Exemplo, Valor2[playerid]);
UpdateProgressBar(Exemplo, playerid);
if (Valor2[playerid] == 100)
{
HideProgressBarForPlayer(playerid, Exemplo);
SetProgressBarValue (Exemplo, 0) ;
new i = GetNearestItemID(playerid);
if(i != -1)
{
if(IsPlayerInRangeOfPoint(playerid, 1.5, DropInfo[i][dPosX], DropInfo[i][dPosY], DropInfo[i][dPosZ]))
{
new str[45],
itemid = DropInfo[i][DropItemID];
format(str, sizeof(str), "{FFFFFF}>> %s", ItemInfo[itemid][Item_Name]);
ShowPlayerDialog(playerid, 9798, DIALOG_STYLE_MSGBOX,"Looting", str, "Pegar", "Fechar");
}
}
}
}
else if (RELEASED(KEY_NO))
HideProgressBarForPlayer(playerid, Exemplo);
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(playerid, Exemplo);
Valor2 [playerid] += 25;
SetProgressBarValue(Exemplo, Valor2[playerid]);
UpdateProgressBar(Exemplo, playerid);
if (Valor2[playerid] == 100)
{
HideProgressBarForPlayer(playerid, Exemplo);
SetProgressBarValue (Exemplo, 0) ;
new i = GetNearestItemID(playerid);
if(i != -1)
{
if(IsPlayerInRangeOfPoint(playerid, 1.5, DropInfo[i][dPosX], DropInfo[i][dPosY], DropInfo[i][dPosZ]))
{
new str[45],
itemid = DropInfo[i][DropItemID];
format(str, sizeof(str), "{FFFFFF}>> %s", ItemInfo[itemid][Item_Name]);
ShowPlayerDialog(playerid, 9798, DIALOG_STYLE_MSGBOX,"Looting", str, "Pegar", "Fechar");
}
}
}
}
else if (RELEASED(KEY_NO))
HideProgressBarForPlayer(playerid, Exemplo);
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
|
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.