Szerző Téma: Progress Bar Probléma  (Megtekintve 950 alkalommal)

Progress Bar Probléma
« Dátum: 2011. Április 25. - 14:41:15 »
0 Show voters
Sziasztok!
Csináltam a GameMode-mbe, hogy Egy zöld progress bar legyen a HP helyén. Ez jól mûködik, ha megy az életem, csökken a p.b. értéke. De azt is megcsináltam, hogy ha x és x között van az életed, akkor változzon a szine narancssárgára, de ez valamiért nem akar mûködni... :(
Itt a kód:
 
public OnPlayerUpdate(playerid)
{
new Float:hp;
        new Bar:hpbar;
GetPlayerHealth(playerid, hp);
SetProgressBarValue(hpbar, hp);
if(GetPlayerHealth(playerid, hp) < 80 && GetPlayerHealth(playerid, hp) > 60)
{
SetProgressBarColor(hpbar, COLOR_GREEN);
}
else if(GetPlayerHealth(playerid, hp)  < 60 && GetPlayerHealth(playerid, hp) > 30)
{
      SetProgressBarColor(hpbar, COLOR_ORANGE);
}
else if(GetPlayerHealth(playerid, hp) < 30 && GetPlayerHealth(playerid, hp) > 1)
{
      SetProgressBarColor(hpbar, COLOR_RED);
}
UpdateProgressBar(hpbar);
        return 1;
}

 
Segitene valaki ebben?

Nem elérhető Jex

Progress Bar Probléma
« Válasz #1 Dátum: 2011. Április 25. - 18:20:15 »
0 Show voters
public OnPlayerUpdate(playerid)
{
new Float:hp;
        new Bar:hpbar;
GetPlayerHealth(playerid, hp);
SetProgressBarValue(hpbar, hp);
if(GetPlayerHealth(playerid, hp) < 80 && GetPlayerHealth(playerid, hp) > 60)
{
SetProgressBarColor(hpbar, COLOR_GREEN);
}
else if(GetPlayerHealth(playerid, hp)  < 60 && GetPlayerHealth(playerid, hp) > 30)
{
      SetProgressBarColor(hpbar, COLOR_ORANGE);
}
else if(GetPlayerHealth(playerid, hp) < 30 && GetPlayerHealth(playerid, hp) > 1)
{
      SetProgressBarColor(hpbar, COLOR_RED);
}
UpdateProgressBar(hpbar);
        return 1;
}

 
A GetPlayerHealth nem tér vissza értékkel, hanem a második argumentumban megadott változóba teszi az értéket. (nekem is gondot szokott okozni, elég hülyén van megoldva...)
így jó lesz:
 
public OnPlayerUpdate(playerid)
{
new Float:hp;
        new Bar:hpbar;
GetPlayerHealth(playerid, hp);
SetProgressBarValue(hpbar, hp);
if(hp < 80 && hp > 60)
{
SetProgressBarColor(hpbar, COLOR_GREEN);
}
else if(hp  < 60 && hp > 30)
{
      SetProgressBarColor(hpbar, COLOR_ORANGE);
}
else if(hp < 30 && hp > 1)
{
      SetProgressBarColor(hpbar, COLOR_RED);
}
UpdateProgressBar(hpbar);
        return 1;
}

 
és egy tanács... OnPlayerUpdate-be ne tegyél progressbar-os dolgokat :D néhány ember után akkora lesz a lag, hogy csak na. Tegyed át inkább egy timerbe.. ;)

Progress Bar Probléma
« Válasz #2 Dátum: 2011. Április 25. - 19:34:44 »
0 Show voters
Rendben, már nekem is bugos kicsit, tesztelem, mejd irok, hogy mivan. :D
E: Mûködni mûködik, de elég bugos...
Így ugrál néha, mikor friisit, és elég idegesitõ...
Hogy lehet ezt kiszedni belõle?
« Utoljára szerkesztve: 2011. Április 25. - 20:47:00 írta [$hi³dKröteE] »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal