Avatar
Adam Dvořák
Neregistrovaný
Avatar
Adam Dvořák:

Jsem začátečník a pomocí návodu na HealthBar jsem vyrobil minutku. Při eventu Create mám

hodiny=get_integer("Zadejte hodinu:", 0)*60*60;
minuty=get_integer("Zadejte minuty:", 0)*60;
sekundy=get_integer("Zadejte sekundy:", 0);
health=hodiny+minuty+sekundy
global.health_start=health

Takže se mě to zeptá na hodiny, minuty a sekundy.
Když se tam potom odpočítává čas po sekundách, tak to funguje..
Ale já chci vypsat na plochu zbývající čas.
Na sekundy to funguje:

draw_text(304,16,health)

Pak jsem taky zkoušel na minuty:

draw_text(304,16,health/60)

a na hodiny:

draw_text(304,16,health/3600)

Jenže při výpisu je například:
Zbývá 1.28 hodin.
A to je nepěkné....
Nejde nějak udělat, aby se to desetinné číslo smazalo?
Nebo případně zaokrouhlilo?
Děkuji moc ;)

 
Odpovědět 5.2.2012 13:34
Avatar
Odpovídá na Adam Dvořák
David Jančík [sczdavos]:

Dobrý den,
už jsem vám posílal odkaz na tento soubor:
http://dl.dropbox.com/…4f76f5a1.gmk
Udělejte to obdobně. Načtěte si hodiny, minuty a vteřiny a z nich pak udělejte - totalseconds (vynásobíte hodiny 3600 a minuty 60 a vše sečtete) Poté se vám s tím bude lépe pracovat.
Kód pro počítání vložíte do eventu alarmu s nastavením provádění akcí po rychlosti místnosti (room_speed) tím pádem se provedou každou vteřinu.

Na výstupu pak budete vykreslovat zmenšující se obdélníček, který bude měnit pouze svoji šířku (x2) dle zbývajícího počtu totalseconds.

Máte například 1 hodinu, 1 minuty a 1 vteřinu

//nastavení total seconds
totalseconds = (hours*3600)+(minutes*60)+seconds;

//nastavení alarmu
alarm[0] = room_speed;

//kód v alarmu
if (totalseconds > 0)
{
    totalseconds -= 1;
    alarm[0] = room_speed;
}

//a hodnotu totalseconds si někam uložíte pak podle toho vypočítáte procenta -> v eventu draw
draw_rectangle(0,50,(totalseconds / počáteční_hodnota_total_seconds)*100, 50, true);
Nahoru Odpovědět 5.2.2012 14:34
Čím více času dostaneš, tím méně ho máš.
Avatar
Adam Dvořák
Neregistrovaný
Avatar
Odpovídá na David Jančík [sczdavos]
Adam Dvořák:

Tak děkuji... Ale, existuje to zaokrouhlování?

 
Nahoru Odpovědět 5.2.2012 15:14
Avatar
Odpovídá na Adam Dvořák
David Jančík [sczdavos]:

Ano,
existují tři fce
round -> zaokrouhlí 5.2 -> 5; 5.6 -> 6
floor -> 5.6 -> 5
ceil -> 5.2 -> 6

Nahoru Odpovědět 5.2.2012 15:16
Čím více času dostaneš, tím méně ho máš.
Avatar
Adam Dvořák
Neregistrovaný
Avatar
Odpovídá na David Jančík [sczdavos]
Adam Dvořák:

Děkuji moc!!!

 
Nahoru Odpovědět 5.2.2012 22:31
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.