04/12/2020 10:19
Bom fiz um sistema de Fome, Sede e Sono como o titulo mesmo já diz.Bom ele não está funcionando corretamente como deve ser, quando o players spawn as barrinhas aparecem vazias, mais elas dps de um tempo vai enchendo o que pode ser?
Mim ajudem pfvr
Mim ajudem pfvr
Código:
#include <a_sammp>
#include <progress>
#define FomeTempo 6
Código:
#define SedeTempo 5
Código:
#define SonoTempo 15
Código:
#define Positivo 0xC0C0C0AA
Código:
#define Negativo 0xC0C0C0AA
Código:
new Text:FomeT;
Código:
new Text:SedeT;
Código:
new Text:SonoT;
Código:
new Bar:FomeA;
Código:
new Bar:SedeB;
Código:
new Bar:SonoA;
Código:
forward Fome(playerid);
Código:
forward Sede(playerid);
Código:
forward Sono(playerid);
public OnGameModeInit()
{
FomeT = TextDrawCreate(279.000000, 431.000000, "Fome");//////
TextDrawBackgroundColor(FomeT, 255);
TextDrawFont(FomeT, 1);
TextDrawLetterSize(FomeT, 0.190000, 0.899999);
TextDrawColor(FomeT, -1);
TextDrawSetOutline(FomeT, 1);
TextDrawSetProportional(FomeT, 1);
SedeT = TextDrawCreate(352.000000, 431.000000, "Sede");/////////
TextDrawBackgroundColor(SedeT, 255);
TextDrawFont(SedeT, 1);
TextDrawLetterSize(SedeT, 0.190000, 0.899999);
TextDrawColor(SedeT, -1);
TextDrawSetOutline(SedeT, 1);
TextDrawSetProportional(SedeT, 1);
SonoT = TextDrawCreate(425.000000, 431.000000, "Sono");///////
TextDrawBackgroundColor(SonoT, 255);
TextDrawFont(SonoT, 1);
TextDrawLetterSize(SonoT, 0.190000, 0.899999);
TextDrawColor(SonoT, -1);
TextDrawSetOutline(SonoT, 1);
TextDrawSetProportional(SonoT, 1);
FomeA = CreateProgressBar(255.00, 440.00, 66.50, 5.19, 0xFF9900AA, 100.0);
SetProgressBarMaxValue(FomeA, 100);
SedeB = CreateProgressBar(327.00, 440.00, 66.50, 5.19, 0x057ABDAA, 100.0);
SetProgressBarMaxValue(SedeB, 100);
SonoA = CreateProgressBar(399.00, 440.00, 66.50, 5.19, 0xFFFFFFAA, 100.0);
SetProgressBarMaxValue(SonoA, 100);
return 1;
}
public OnGameModeExit()
{
HideProgressBarForAll(FomeA);
HideProgressBarForAll(SedeB);
HideProgressBarForAll(SonoA);
TextDrawDestroy(FomeT);
TextDrawDestroy(SedeT);
TextDrawDestroy(SonoT);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPVarInt(playerid,"Fome",0);
ShowProgressBarForPlayer(playerid, FomeA);
SetPVarInt(playerid,"Sede",0);
ShowProgressBarForPlayer(playerid, SedeB);
SetPVarInt(playerid,"Sono",0);
ShowProgressBarForPlayer(playerid, SonoA);
TextDrawShowForPlayer(playerid, FomeT);
TextDrawShowForPlayer(playerid, SedeT);
TextDrawShowForPlayer(playerid, SonoT);
SetTimerEx("Fome",FomeTempo*60000 , 1, "i", playerid);
SetTimerEx("Sede",SedeTempo*60000 , 1, "i", playerid);
SetTimerEx("Sono",SonoTempo*60000 , 1, "i", playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SetProgressBarValue(FomeA,0);
UpdateProgressBar(FomeA,playerid);
SetPVarInt(playerid,"Fome",0);
SetProgressBarValue(SedeB,0);
UpdateProgressBar(SedeB,playerid);
SetPVarInt(playerid,"Sede",0);
SetProgressBarValue(SonoA,0);
UpdateProgressBar(SonoA,playerid);
SetPVarInt(playerid,"Sono",0);
return 1;
}
public Fome(playerid)
{
SetPVarInt(playerid,"Fome",GetPVarInt(playerid,"Fome")+5);
SetProgressBarValue(FomeA, GetPVarInt(playerid,"Fome"));
UpdateProgressBar(FomeA,playerid);
if(GetPVarInt(playerid,"Fome") >= 95)
{
new Float:Vida;
GetPlayerHealth(playerid,Vida),SetPlayerHealth(playerid,Vida-90.0);
SendClientMessage(playerid,-1,"| INFO | Você precisa comer para não morrer!");
}
return 1;
}
public Sede(playerid)
{
SetPVarInt(playerid,"Sede",GetPVarInt(playerid,"Sede")+5);
SetProgressBarValue(SedeB, GetPVarInt(playerid,"Sede"));
UpdateProgressBar(SedeB,playerid);
if(GetPVarInt(playerid,"Sede") >= 95)
{
new Float:Vida;
GetPlayerHealth(playerid,Vida),SetPlayerHealth(playerid,Vida-90.0);
SendClientMessage(playerid,-1,"| INFO | Você precisa beba algo para não morrer!");
}
return 1;
}
public Sono(playerid)
{
SetPVarInt(playerid,"Sono",GetPVarInt(playerid,"Sono")+5);
SetProgressBarValue(SonoA, GetPVarInt(playerid,"Sono"));
UpdateProgressBar(SonoA,playerid);
if(GetPVarInt(playerid,"Sono") >= 95)
{
new Float:Vida;
GetPlayerHealth(playerid,Vida),SetPlayerHealth(playerid,Vida-90.0);
SendClientMessage(playerid,-1,"| INFO | Você precisa ir dormir!");
}
return 1;
}