Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest WME version: WME 1.9.1 (January 1st, 2010) - download

Author Topic: Odpočítavanie?  (Read 9503 times)

0 Members and 1 Guest are viewing this topic.

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Odpočítavanie?
« on: May 11, 2008, 12:35:41 PM »

Zdravim. Rád by som chcel vedieť ako môžem do hry vložiť Odpočítavanie, ktoré by bolo viditeľné v inventári (keď mám inventár vysunutý). Napríklad, že za 10 minút musím sa dostať z miestnosti inak hra končí a vtedy sa ukáže nová scéna.
Díky za odpovede!
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Odpočítavanie?
« Reply #1 on: May 12, 2008, 09:07:29 AM »

V prvni rade, inventar je v podstate okno, jako kazde jine. Takze ho muzes editovat ve WindowEditu, a prihodit si na nej dalsi ovladaci prvky, jako treba "Static control" pro zobrazeni casu.
Druhy krok bude, nejak ten Static prvek naplnit. To uz zalezi na tom, jak mas naskriptovanou hru.

Napriklad nejak takhle nastavis citac na 10 minut, a pak budes vypisovat zbyvajici pocet minut:

Code: WME Script
  1. // cilovy cas = aktualni cas + 10 minut
  2. var CilovyCas = Game.CurrentTime + 10 * 60 * 60 * 1000;
  3.  
  4. // tady si zjistime odkaz na Static prvek, do ktereho budeme vypsovat zbyvajici cas
  5. var Citac = NejakeOkno.GetControl("citac");
  6.  
  7.  
  8. while(Game.CurrentTime < CilovyCas) // cyklus, dokud zbyva nejaky cas
  9. {
  10.   // kolik milisekund zbyva?
  11.   var ZbyvajiciCas = CilovyCas - Game.CurrentTime;
  12.  
  13.   // zapiseme zbyvajici cas v minutach do Static prvku
  14.   Citac.Text = "Zbyva: " + ToString(ZbyvajiciCas / 1000 / 60) + " minut";
  15.   Sleep(1000);
  16. }
  17.  

Netestoval jsem to, ale minimalne by ti to melo nastinit, jak na to :)
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Odpočítavanie?
« Reply #2 on: May 17, 2008, 08:13:59 PM »

Skúšal som to ale vždy ukáže chybu pri ,,zabalovaní" hry - chyba je tuto:

// tady si zjistime odkaz na Static prvek, do ktereho budeme vypsovat zbyvajici cas
var Citac = inventory.GetControl("citac");
Pri tom ,,inventory" ukáže že nie je definovaná. To je názov mojho okna - inventár. Neviem kde je teda chyba  ???
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: Odpočítavanie?
« Reply #3 on: May 17, 2008, 08:34:50 PM »

no a mas ho v tom skriptu definovanej nebo ne? inventory jako takove nic neni.

jo kdyby tam bylo:

var inventory = Game.GetInventoryWindow();

chapal bych, ze muzes tenhle kod pouzit.

Kdyztak upresni.
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Odpočítavanie?
« Reply #4 on: May 17, 2008, 09:04:10 PM »

OK, uz to funguje, pri tom definovaní ,,Inventory" dik. Ale ako potom dám že keď sa čas minie = 0.000 otvori sa nova scéna automaticky?
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: Odpočítavanie?
« Reply #5 on: May 17, 2008, 09:57:11 PM »

no jak mas ten odpocitavaci script, tak uplne nakonec das Game.ChangeScene("nejaka scena");
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Odpočítavanie?
« Reply #6 on: May 17, 2008, 10:07:41 PM »

Ok diky idem to skusat...ale mozno az zajtra  ;D
Logged

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Odpočítavanie?
« Reply #7 on: May 18, 2008, 11:06:20 AM »

Diky ale ono to stale nefunguje  ??? . Dufam že tým neotravujem, ale keď dám príkaz Game.ChangeScene.... tak stale sa nahadzuje tá scéna hneď od začiatku. Teda ako zapnem hru už sa nahodí scéna. Ja to potrebujem ale po uplynutí času. Dík  ::slug
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: Odpočítavanie?
« Reply #8 on: May 18, 2008, 02:00:40 PM »

posli sem ten skript.
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Odpočítavanie?
« Reply #9 on: May 18, 2008, 02:23:04 PM »

Toto je z "citac.script":

var inventory = Game.GetInventoryWindow();

// cilovy cas = aktualni cas + 10 minut
var CilovyCas = Game.CurrentTime + 10 * 60* 60 * 1000;

 
// tady si zjistime odkaz na Static prvek, do ktereho budeme vypsovat zbyvajici cas
var Citac = inventory.GetControl("citac"); 

while(Game.CurrentTime < CilovyCas) // cyklus, dokud zbyva nejaky cas
{
  // kolik milisekund zbyva?
  var ZbyvajiciCas = CilovyCas - Game.CurrentTime; 

   // zapiseme zbyvajici cas v minutach do Static prvku
  Citac.Text = "Ostáva: " + ToString(ZbyvajiciCas / 1000 / 60) + " minut";
  Sleep(1000);
  Game.ChangeScene("scenes/exit/exit.scene");
}
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: Odpočítavanie?
« Reply #10 on: May 18, 2008, 04:45:06 PM »

rikal jsem na konec skriptu ne do te smycky. :)
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Odpočítavanie?
« Reply #11 on: May 18, 2008, 05:03:20 PM »

Diky moc! Už to teda funguje...som ale magor  :). Ešte len tak na okraj sa opýtam  ;D Časomiera sa ukazuje štýlom:   Ostáva: 0.434667 minut..
alebo tak nejak. Či by nešlo dať časomieru na 2-ciferné číslo, lebo takto je tam veľa čísel - je to asi v milisekundách... Dík, dúfam že vážne neotravujem  ;D
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: Odpočítavanie?
« Reply #12 on: May 18, 2008, 06:29:40 PM »

to odpocitavani chces v sekundach nebo minutach, nebo

09:10
09:09

apod?
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 137
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Odpočítavanie?
« Reply #13 on: May 18, 2008, 06:30:36 PM »

minuta + sekunda  :) teda v tvare napr.: ostava 15:00 (15 minut a 00 sekund) :)
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Odpočítavanie?
« Reply #14 on: May 19, 2008, 07:47:58 AM »

Kdyz mas pocet milisekund, muzes z nej pomerne snadno spocitat pocet minut a pocet sekund. Kdyz milisekundy vydelis 1000, dostanes sekundy. Kdyz sekundy vydelis 60, dostanes minuty ;) Pak uz to jen poskladat do smysluplneho textu. Ted zrovna nemam cas to skriptovat, ale melo by ti to vnuknout myslenku.
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave
 

Page created in 0.052 seconds with 24 queries.