Wintermute Engine Forum
Czech forum => Technické fórum => Topic started by: !Errorcode! on November 02, 2009, 03:03:20 PM
-
Zdravím, mám pár problémov, ktoré nedokážem vyriešiť a to:
1) AKo je možné, že keď kliknem na nejaký objekt a má sa mi pridať 5 korún (AddMoney), tak sa predošlé vymaže - t.j. predošlých 12 korún a zmení sa na 5 korún? Ako by šlo urobiť, aby som mohol len raz zobrať tie peniaze? Pretože stále ked klikám, tak sa mi pridáva po 5 korunách...
2) Dalej nemôžem dojsť na to ako urobiť, to že po kliknutí na určitý objekt sa prehrá náhodný zvuk uložený v určitom priečinku.. Napr. pripojim k tomu 3 zvukove subory, a po kliknutí sa prehrá náhodne jeden z nich.
3) Vacsi problem mam ale s nasledujucim kodom -
////////////////////////////////////////////////////////////////////////////////
on "drot"
{
Game.Interactive = false;
Game.PlaySound("sounds/drot_zohnutie.ogg");
Game.DropItem("drot");
Game.TakeItem("hak");
var EntHak = Scene.GetNode("hak");
EntHak.Active = true;
Game.Interactive = true;
}
////////////////////////////////////////////////////////////////////////////////
Tento kod je zo suboru vesiak.script, a ked zoberem objekt ,,drôt" tak sa ten objekt zmení v inventáry na zohntuý drôt, t.j. ho na vešiaku zohnem. Ale ako je možné že to vôbec nefunguje?? Je tu niečo zle? Pretože podobných kódov, som napísal už veľa ale vždy to fungovalo... ::slug
Díky, za prípadné odpovede!
!Errorcode!
-
1) AKo je možné, že keď kliknem na nejaký objekt a má sa mi pridať 5 korún (AddMoney), tak sa predošlé vymaže - t.j. predošlých 12 korún a zmení sa na 5 korún? Ako by šlo urobiť, aby som mohol len raz zobrať tie peniaze? Pretože stále ked klikám, tak sa mi pridáva po 5 korunách...
Ve WME žádná funkce AddMoney není, takže to bude nějaká tvoje funkce, takže si ji napiš jak potřebuješ :)
2) Dalej nemôžem dojsť na to ako urobiť, to že po kliknutí na určitý objekt sa prehrá náhodný zvuk uložený v určitom priečinku.. Napr. pripojim k tomu 3 zvukove subory, a po kliknutí sa prehrá náhodne jeden z nich.
Něco jako:
{
case 1:
break;
case 2:
break;
case 3:
break;
}
3) Vacsi problem mam ale s nasledujucim kodom -
to vôbec nefunguje??
Definuj "nefunguje". Takhle na první pohled se to zdá být v pořádku.
-
Ad 3:) Máš tie predmety definované v súbore .items?
-
-
Zkus do toho bloku přidat Game.Msg("bla bla"); abys viděl, jestli se to vůbec volá, nebo ne.
-
1)No takže problém vyriešený, ale chcel by som sa opýtať ako by šlo urobiť podmienku kedy mám ísť do nejakej scény, ale môžem tam ísť ak mám v inventári určitý predmet. Inak keď ho nemám tak actor povie niečo typu ,,Kým nemám tento klúč nemôžem ísť ďalej. Ale tým nemyslím, že ked napr. ten klúč priložím na dvere tak sa otvorí scéna, to nie. Stačí len ak mám dotyčný predmet v inventári a scéna sa s prístupní.
2)Dalej by ma zaujímalo, ako je možné že po mojej scéne ,,intro" sa má zmeniť hudba ale nezmení sa. Ostane taká istá aká hrala pred introm v MENU hry. ďalej mám problém, že počas intra (formát AVI) nefunguje žiadny hudobný doprovod!) Nefunguje ani vtedy, keď je v samotnom súbore videa a ani vtedy keď ho tam naprogramujem cez WME ako subor OGG. AKo je to možné? Proste počas videa nejde žiadny zvuk
-
Zkus prikaz
Game.HasItem("nazev_itemu");
takze:
if(!Game.HasItem("klic"))
{
actor.Talk("Tam nemůžu jít, pokud nemám klíč.");
}
else
{
Game.ChangeScene("scena");
}
-
Díky, pôjdem to vyskúšať. ;)
-
2)Dalej by ma zaujímalo, ako je možné že po mojej scéne ,,intro" sa má zmeniť hudba ale nezmení sa. Ostane taká istá aká hrala pred introm v MENU hry. ďalej mám problém, že počas intra (formát AVI) nefunguje žiadny hudobný doprovod!) Nefunguje ani vtedy, keď je v samotnom súbore videa a ani vtedy keď ho tam naprogramujem cez WME ako subor OGG. AKo je to možné? Proste počas videa nejde žiadny zvuk
Pokud přehráváš video přes Game.PlayVideo nebo Game.PlayTheora, tak se normální hudba zastaví, to je schválně. Ale tyhle metody mají nepovinný parametr, kterým se tohle dá potlačit (viz dokumentaci).
U videí v AVI formátu WME podporuje jen nekomprimovaný zvuk. Jinak přehrávání AVI už je považováno za zastaralé, doporučuje se používat Game.PlayTheora.
-
Teda video vo formáte OGG? Moc o tom neviem, ale doteraz som si myslel, že .ogg je len zvukový formát :). Inak s tým zastavením hudby: Mne nejde o to, aby sa hudba prehrávala aj počas videa (myslím tá hudba ktorá hrala predtým v menu) ale aby po videu začala nová hudba. To s tým Game.IsMusicPlaying alebo tak nejak to je, tak to jaksi nefunguje dobre.. Proste chcem docieliť aby v každej scéne hrala iná hudba :)...
-
Teda video vo formáte OGG? Moc o tom neviem, ale doteraz som si myslel, že .ogg je len zvukový formát :). Inak s tým zastavením hudby: Mne nejde o to, aby sa hudba prehrávala aj počas videa (myslím tá hudba ktorá hrala predtým v menu) ale aby po videu začala nová hudba. To s tým Game.IsMusicPlaying alebo tak nejak to je, tak to jaksi nefunguje dobre.. Proste chcem docieliť aby v každej scéne hrala iná hudba :)...
Niečo o práci s OGG videom:
http://res.dead-code.org/doku.php/kbase:tranzaudiosimple2
http://res.dead-code.org/doku.php/kbase:tranzaudiosimple
Funkcia Game.IsPlayingMusic() funguje dobre, čo sa ti na tom nezdá?:) Pre prácu s hudbou máš vo WME naozaj široké možnosti:) Ak chceš, aby Ti v každej scéne hrala iná hudba, nie je iné riešenie ako do skriptu každej scény napísať Game.PlayMusic(Filename). Takto ti bude hrať v každej scéne iná hudba :).